Risposte nei forum create
-
AutoreRisposte
-
::
Ok. Allora riporto la struttura di un record.
`
Futurama – Stagione 4,
“Matt Groening, David X. Cohen”,
“Billy West, Fabrizio Manfredi, (Philip J. Fry), , Katey Sagal, Pinella Dragani, (Turanga Leela), , John DiMaggio, Dario Penne, (Bender Bending Rodriguez), , %
Billy West, Sergio Graziani, (Prof. Hubert J. Farnsworth), , Billy West, Claudio Fattoretto, (Dott. John Zoidberg), , Lauren Tom, Rossella Acerbo, (Amy Wong), , %
Phil LaMarr, Simone Mori, (Hermes Conrad), , Billy West, Alessandro Rossi, (Cap. Zapp Brannigan), , Maurice LaMarche, Vittorio Stagni, (Kif Kroker), , %
Frank Welker, Davide Chevalier, (Mordicchio), , Billy West, Nino Prester, Michele Gammino, (Testa del Presidente Nixon)”,
Divx,
2003,
Film per tutti,
Serie TV,
“ALIENA VITA DA ALIENO. Continua […] Guest star: Lauren Tom (Amy), Phil LaMarr, David Herman, Frank Welker, Maurice LaMarche (Kif). MUTA COME UN PESCE. Leela fa una visita all'orfanotrofio dove è stata allevata e riceve un premio per aver fatto strada ne […]”,Futurama,Fu04,Futurama—4.jpg
`Dove c’è […] ho tagliato alcuni pezzi. Lo ho messo due volte, perchè ogni tanto nella trama ci sono delle parole tutte in maiuscolo (titoli degli episodi). Non dovrebbe essere Sono andato a capo a ogni campo. Ovviamente il file non va a capo.
Ho anche messo degli a capo (% + a capo) nel campo degli attori, per provare a non squadrarvi la pagina. Se li ho messi male, ripiazzateli; tanto la struttura non cambiaSpero abbiate gli elementi per la diagnosi.
Buon lavoro e grazie ancora.
DavideTemo che datatool sia del tutto inadatto a un’applicazione del genere, visto che carica in memoria l’intero database prima di cominciare a produrre il risultato. 😯
A te serve invece qualcosa che legga “riga per riga”. Probabilmente l’approccio migliore è con Perl: uno script che trasformi il csv in un file ben strutturato per LaTeX come suggerito da robitex.
Ciao
Enrico
::Grazie ad entrambi per le risposte.
Tra le altre cose, pur non sapendo quanto sia lecito, ho provato con:
`\documentclass{book}\usepackage{fourier,pifont}
\usepackage{beramono}
\usepackage{siunitx}\newsavebox{\calcboxnorm}
\sbox\calcboxnorm{1ex}\newsavebox{\calcboxtt}
\sbox\calcboxtt{\texttt{1ex}}\begin{document}
\begin{center}
\begin{tabular}{lcS}
Roman Family & x & \the\ht\calcboxnorm\\
Typewriter Family & \texttt{x} & \the\ht\calcboxtt \\
\end{tabular}
\end{center}\end{document}`
ed ottengo 0.859 (arrotondato).
In ultima analisi? Stiamo dando i numeri! 😀A parte questo gioco di parole, anche io (ovviamente) non so del perché e del per come si hanno questi
numeri tutti diversi. Probabilmente la soluzione dell’arcano sta in quello che dice egreg9.Da questo topic ho, se non altro, del materiale su cui studiare, cioè le vostre macro.
Ovviamente io ho accostato i due font senza nessun motivazione precisa: non ho esperienza e senso estetico. Questione solamente di gusti.
Grazie mille,
ansys.P.s.: Il topic non stava meglio in TeX e LaTeX?
Hai semplicemente confrontato l’altezza del carattere 1 nel font Utopia e in BeraMono. Avresti dovuto dire \sbox\calcboxnorm{\vrule height 1ex} per fare quello che speravi.
Il filone, all’inizio, andava bene qui.
Ciao
Enrico
::[quote]Ho un romanfont da accoppiare con un ttfont,
il quale è nettamente più grande. Posso creare
un set apposito di file per scalare il ttfont,
ma vorrei sapere una cosa. Come posso determinare
la “altezza” diciamo della lettera m di entrambi i font
per poi stabilire la percentuale esatta di scalatura
per renderle alte uguali? Perché scalare “a occhio”
.92 o .91 e simili non è il massimo e non garantisce
ovviamente l’esattezza del risultatoNon c’è un risultato “esatto”, quello che conta è la compatibilità visuale e qui conta certamente l’occhio.
Per esempio, le lettere di Computer Modern Typewriter sono nettamente più basse delle corrispondenti di Computer Modern Roman, in particolare le maiuscole. Se fossero grandi uguale le parti in Typewriter sarebbero troppo evidenti.
Visto che ti interessano i Bera Mono, fa’ qualche prova con
`\usepackage[scaled=x]{beramono}`
dando valori diversi a x in modo da vedere quale sembri meglio.Ciao
EnricoSalve.
Riesumo questa discussione (che tenevo d’occhio) perché ho provato a mettere insieme qualche comando per determinare
in prima (anche ultima se vogliamo) approssimazione, il valore da dare a scaled, facendo in modo da
avere la dimensione del font in Typewriter family leggermente minore di quella del font in Roman Family.I font che ho usato sono Utopia (pacchetto fourier) e Bera Mono (con Computer Modern e Bera Mono non funziona).
Il codice è:
`\documentclass[10pt]{book}\usepackage{fourier}
\usepackage{beramono}
\usepackage{siunitx}\newsavebox{\calcboxnorm}
\sbox\calcboxnorm{x}\newsavebox{\calcboxtt}
\sbox\calcboxtt{\texttt{x}}\begin{document}
\begin{center}
\begin{tabular}{lcS}
Roman Family & x & \the\ht\calcboxnorm\\
Typewriter Family & \texttt{x} & \the\ht\calcboxtt \\
\end{tabular}
\end{center}\end{document}`
I risultati sono 4.3045pt e 5.58998pt rispettivamente.
Pertanto per determinare un ragionevole valore della x:
`4.3045 pt / 5.58998 pt = 0.770038533`
approssimato per difetto a 0.77.Il codice diventa
`\documentclass[10pt]{book}
\usepackage{fourier}
\usepackage[scaled=0.77]{beramono}
\usepackage{siunitx}\newsavebox{\calcboxnorm}
\sbox\calcboxnorm{x}\newsavebox{\calcboxtt}
\sbox\calcboxtt{\texttt{x}}\begin{document}
\begin{center}
\begin{tabular}{lcS}
Roman Family & x & \the\ht\calcboxnorm\\
Typewriter Family & \texttt{x} & \the\ht\calcboxtt \\
\end{tabular}
\end{center}\end{document}`
i valori invece, 4.3045pt e 4.3043pt rispettivamente.I comandi per determinare quelle grandezze li ho presi da qui .[/quote]
Io ottengo un valore di 0.80438 confrontando 1ex nei due font. Confrontando le x invece ottengo 0.82469. Evidentemente lo sviluppatore di BeraMono voleva che l’altezza delle minuscole fosse minore della misura di 1ex.Un modo per avere la scelta in automatico è
`documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage{calc}
\begingroup\makeatletter
\fontsize{10}{10}\rmfamily\dimen0=1ex
\font\test=fvmr8t \test\dimen2=1ex
\setlength{\dimen@}{\p@*\ratio{\dimen0}{\dimen2}}
\edef\x{\endgroup
\noexpand\usepackage[scaled=\strip@pt\dimen@]{beramono}}
\x`
Uso la dimensione 1ex per rispettare l’evidente volontà dell’autore di BeraMono. 🙂Ciao
Enrico
7 Dicembre 2010 alle 12:14 in risposta a: [Risolto] Linee di separazione particolari per codici. #53511::Salve a tutti.
Devo scrivere alcune righe di codice e voglio separarle dal testo con due linee, una sopra e una sotto.
Il pacchetto listing, con la semplice opzione frame=lines, permette di farlo.Però vorrei una linea tratteggiata con delle forbici, come riportato
in Gestione di Figure e Tabelle con LaTeX di Luca Caucci e Mariano Spadaccini.Ho utilizzato tikz per riprodurla, nel seguente modo:
`\tikz \draw[dashed] node at (1cm,0) [fill=white] {\ding{34}} (0,0)–(\textwidth,0);`
Il risultato è accettabile.Per utilizzarla avevo pensato a qualcosa del genere:
`\documentclass{book}
\usepackage{lipsum}
\usepackage{tikz}
\usepackage{verbatim}
\usepackage{pifont}\def\linea{%
\tikz \draw[dashed] node at (1cm,0) [fill=white] {\ding{34}}%
(0,0)–(\textwidth,0);%
}\newenvironment{codice}{\noindent\linea\verbatim}{\endverbatim\linea}
\begin{document}
\lipsum[1]\begin{codice}
Hello from \LaTeX{}.
\end{codice}
%\lipsum[1]
\lipsum[1]
\end{document}`
ma il risultato non è dei migliori. Ci sono degli spazi di troppo tra le linee e codice.Pertanto vi chiedo qualche altra soluzione (che sicuramente sarà migliore della mia), magari per listings.
Ho provato a cercare la definizione di frame=lines per modificarla, ma non ci sono riuscito.È orrendo lo stesso, ma puoi fare così:
`\newenvironment{codice}
{\par\medskip\hbox{\linea}\vskip-3ex\verbatim}
{\endverbatim\vskip-2ex\hbox{\linea}\vskip-1ex\medskip}`
Ma attento: è possibile che LaTeX ti lasci le forbicine su una pagina e il resto del codice sull’altra. Meglio usare fancyvrb:
`\usepackage{fancyvrb}
\makeatletter
\def\FV@Frame@forbici{%
\let\FV@BeginListFrame\start@forbici
\let\FV@LeftListFrame\relax
\let\FV@RightListFrame\relax
\let\FV@EndListFrame\finish@forbici}
\def\start@forbici{\@linea\nobreak}
\def\finish@forbici{\nobreak\kern1.3ex\nobreak\@linea}\newbox\@lineabox % si compone la linea una volta sola
\sbox\@lineabox{%
\tikz \draw[dashed] node at (1cm,0) [fill=white] {\ding{34}}%
(0,0)–(\textwidth,0);}
\def\@linea{\copy\@lineabox}
\makeatother
…
\begin{document}
…
\begin{Verbatim}[frame=forbici]
Hello from \LaTeX{}.
\end{Verbatim}
…`
Ciao
Enrico
::Non conoscevo \allowdisplaybreaks. L’ho provato, ma per ora preferirei evitarlo. In alcuni casi a mio parere escono risultati bruttini.
Per caso non è possibile scegliere di volta in volta se permettere che un display venga spezzato o meno? Magari è possibile scegliere addirittura dove spezzare il sistema se necessario? Quest’ulima domanda nasce da questa osservazione: ho due definizioni in ambiente align con la seconda definizione su due linee. Succede che l’ambiente viene spezzato prima dell’ultima riga. Mi pare molto brutto spezzare la definizione. Piuttosto preferirei che vengano mandate nella pagina successiva le ultime due righe, cioè tutta la seconda definizione.Ciao,
DanieleCerca \displaybreak nella documentazione. Ma riserva tutto alla fine.
Ciao
Enrico
::Ho fatto varie ipotesi che ho cercato di mettere alla prova e la conclusione a cui sono giunto è che in questo modo non posso trattare file troppo lunghi.
Ho pensato che potesse essere un problema legato ad un record. Tuttavia se lo stampavo da solo, la cosa andava liscia ma se lo mettevo in coda al file su cui lavoravo mi riempiva la memoria.
Ho provato a non metterlo e la stampa filava, ma se aggiungevo in coda altri “record” in numero sufficiente (8-12) mi si riempiva la memoria.
Quindi ho concluso che fosse un problema non di singolo record ma di quantità di record. Mi sembra strano ma gli indizi che ho puntano lì.Tra l’altro ho provato ad usare wrapfig (che in realtà mi sarebbe piaciuto di più come effetto) ma ho avuto qualche problema di poszionamento della figura e ho abbandonato, non avendo neanche risolto il problema della liscia composizione totale.
La vedo difficile. Spero possiate illuminarmi.
Posterei anche un record ma sono tutti parecchio grossi (la trama di solito è almeno 3/4 di A4 scritto) per cui evito. In caso posterò.
Basta un esempio, soprattutto per capire la struttura del database; a moltiplicare i record si fa presto.
Ciao
Enrico
::Già, perché non farlo? Ero così contento di essermi districato nella documentazione di memoir… 😉
Il comando epigraph prende tre argomenti: la citazione, l’autore e la fonte. Io ne uso soltanto due: citazione e autore, per alleggerire la cosa.
Per evitare di scrivere ogni volta:
`\epigraph{citazione}{\scshape\textls{autore}}`
devo rinominare il comando?
Che io sappia \epigraph prende due argomenti. Se vuoi evitare di dover scrivere ogni volta \scshape\textls, puoi usare un vecchio trucco:
`\let\originalepigraph\epigraph
\renewcommand\epigraph[2]{\originalepigraph{#1}{\scshape\lsstyle#2}}`
Ciao
Enrico
::Ciao a tutti.
Sotto una pioggia ormai insolente, chiedo la vostra su una questione. Ho la necessità di comporre un elementare glossario con 7-8 parole da spiegare. Ho pensato farlo con una semplice description, preferendo per le etichette il maiuscoletto normale al nero di default (sto usando memoir).
La mia domanda è: secondo voi, le maiuscole vanno rispettate nel maiuscoletto, oppure no? La stessa cosa accade nel secondo argomento di \epigraph, nel quale ho messo il nome dell’autore della citazione in maiuscoletto.A scelta. Per le parole del glossario lascerei perdere il maiuscolo, per l’autore della citazione no.
Ah, per avere epigrafi più larghe e senza la riga nera ho fatto così:
`% epigrafi personalizzate %
\newcommand{\myepigraph}{%
\setlength{\epigraphwidth}{5cm}%
\setlength{\epigraphrule}{0pt}%
\epigraphtextposition{flushright}%
\epigraphfontsize{\small}%
\epigraph}`Ho sbagliato qualcosa? (Il fatto che funzioni non significa che sia corretto, no? :D)
Perché non mettere quelle impostazioni nel preambolo una volta per tutte e usare \epigraph?
Ciao
Enrico
::Salve a tutti,
avrei bisogno di un piccolo aiuto con il prodotto cartesiano, ovvero la x che corrisponde a \times.
Io dovrei utilizzare una produttoria cartesiana ovvero una X più grande per inserire agevolmente apici e pedici.In genere preferisco una “X” non “quadrata”: usa \sbigtimes come useresti \prod (che però è il simbolo più usato in questi casi)
`\makeatletter
\newcommand*\sbigtimes{\mathop{\mathpalette\@sbigtimes\relax}\displaylimits}
\newcommand*\@sbigtimes[2]{%
\vcenter{\hbox{\sffamily\@nameuse{\string#1bt}X}}\vphantom{\prod}}
\@namedef{\string\displaystyle bt}{\huge}
\@namedef{\string\textstyle bt}{\Large}
\@namedef{\string\scriptstyle bt}{\small}
\@namedef{\string\scriptscriptstyle bt}{\footnotesize}
\makeatother`
Altrimenti puoi usare questo \bigtimes:
`\makeatletter
\@ifundefined{@currsizeindex}
{\RequirePackage{relsize}\let\dolarger\relsize}
{\def\dolarger#1{\larger[#1]}}\newcommand*\@@bigtimes[2]{\vphantom{\prod}
\vcenter{\hbox{\dolarger{4}$\m@th#1\mkern-2mu\times\mkern-2mu$}}}
\newcommand*\bigtimes{\mathop{\mathpalette\@@bigtimes\relax}\displaylimits}
\makeatother``no room for a new \count`
Scrivi \usepackage{etex} subito dopo la riga di \documentclass
Ciao
Enrico
::Sì, così funziona!
Vorrei però capire:
non funziona nemmeno con utf8x
e dunque dando nel preambolo
`\usepackage{ucs}
\usepackage[utf8x]{inputenc}`
e quindi\lstset{%
……..
inputencoding=utf8x,
extendedchars=/true}Perché riproduce gli stessi errori con gli accenti.
È normale?Resta poi il fatto che le due frasi, benché nel codice
separate dallo spazio, risultano nel testo “compilato”
come un’unica frase.E da ultimo, ancora: è possibile allineare il codice
a sinistra al margine senza rientro?Grazie
M.E “/true”, secondo te, a che serve? O scrivi “extendedchars=true” oppure solo “extendedchars”.
È un problema noto, tuttavia, che listings non riesce a trattare correttamente utf8. Nemmeno utf8x, naturalmente.
Ciao
Enrico
::Questo funziona, ma non uso utf8 (confesso: per inerzia, uso ancora applemac).
`\lstset{extendedchars}
\makeatletter
\lstnewenvironment{sidebyside}{%
\global\let\lst@intname\@empty
\setbox\z@=\hbox\bgroup
\setkeys{lst}{columns=fullflexible,%
linewidth=0.45\linewidth,keepspaces=true,%
breaklines=false,%
breakindent=0pt,%
boxpos=t,%
basicstyle=\small\ttfamily
}%
\lst@BeginAlsoWriteFile{\jobname.tmp}%
}{%
\lst@EndWriteFile\egroup
\begin{center}%
\begin{minipage}{0.45\linewidth}%
\hbox to\linewidth{\box\z@\hss}
\end{minipage}%
\qquad
\begin{minipage}{0.45\linewidth}%
\setkeys{lst}{frame=none}%
\leavevmode \catcode`\^^M=5\relax
\small\input{\jobname.tmp}%
\end{minipage}%
\end{center}%
}
\makeatother`
Ciao,
L.Non mi ero proprio accorto di “extendedchars=\true” che non ha alcun senso. Rimane l’incompatibilità con utf8. 🙁
Ciao
Enrico
::Un altro problema!
Per questioni di riempimento di pagina (che controllerò durante la revisione finale) una pagina non riesce ad essere riempita per intero. Succede che una figura, inserita come indicato da Lorenzo con le opzioni [tb] (non è molto grande), stà al top, dopo di che c’è uno spazio bianco di circa 4cm e al bottom c’è un paragrafo che poi prosegue a pagina successiva.
È corretto che succeda così? È cioè dovuto al fatto che latex cerca di spaziare il testo dalla figura riempiendo il più possibile la pagina e lasciando all’utente il compito di sistemare le cose durante la revisione finale?Probabilmente il capoverso viene spezzato su due pagine perché subito dopo c’è un titolo di sezione che non starebbe nella pagina con la figura. È possibile che facendo retrocedere la figura (cioè mettendola qualche capoverso prima) il problema ti si risolva.
Ciao
Enrico
::Con \sectionmark il problema è “parzialmente” risolto… Parzialmente nel senso che nell’indice compare il titolo completo presente in \section, mentre nelle testatine succede una cosa strana. Nelle pagine seguenti a quella in cui compare il titolo della section la testatina è quella indicata in \sectionmark, mentre nella pagina dove compare il titolo della section la testatina riporta l’argomento di \section. Come mai?
Colgo l’occasione per chiedere come mai con la classe scrreprt non funzionano i comandi \frontmatter, ecc.`\stepcounter{section}
\sectionmark{Pippo va al mare}
\addtocounter{section}{-1}
\section{Pippo va al mare e si diverte tantissimo}
\sectionmark{Pippo va al mare}`
Spiacente, ma così ti tocca fare. 🙁I comandi \frontmatter, \mainmatter e \backmatter non sono stati considerati dall’autore delle classi KoMa. Perché? Chiedilo a lui. 🙂
Ciao
Enrico
::Sto provando gli “ambienti di esempio” (come sono stati definiti
e discussi in un paio di interessantissime serie di post passati).
Ora, con questo codice:
`\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[writefile]{listings}
\usepackage[italian]{babel}
\usepackage{microtype}
\usepackage{xcolor}
\definecolor{cyan}{rgb}{0.95,1,1}\lstset{%
basicstyle=\color{black}\small\ttfamily,
keywordstyle=\color{black},
commentstyle=\color{black},
stringstyle=\color{black},
backgroundcolor=\color{cyan},
moredelim=[is][\color{black}\textrm]{|*}{*|},
escapeinside={£!}{!£},
frame=lines,
rulecolor=\color{black},
inputencoding=utf8,
extendedchars=\true}\makeatletter
\lstnewenvironment{sidebyside}{%
\global\let\lst@intname\@empty
\setbox\z@=\hbox\bgroup
\setkeys{lst}{columns=fullflexible,%
linewidth=0.45\linewidth,
breaklines=true,%
breakindent=0pt,boxpos=t,%
}%
\lst@BeginAlsoWriteFile{\jobname.tmp}%
}{%
\lst@EndWriteFile\egroup
\begin{center}%
\begin{minipage}{0.45\linewidth}%
\hbox to\linewidth{\box\z@\hss}
\end{minipage}%
\qquad
\begin{minipage}{0.45\linewidth}%
\leavevmode \catcode`\^^M=10\relax
\footnotesize\input{\jobname.tmp}%
\end{minipage}%
\end{center}%
}
\makeatother\begin{document}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam lectus.
Donec id dolor.\noindent Pellentesque semper feugiat lacus. Maecenas hendrerit, purus
non suscipit faucibus, lectus ipsum faucibus risus, a venenatis eros neque id
dolor.\begin{sidebyside}
Qual masso che è dal verticeNel mezzo del cammin più di nostra vita
\end{sidebyside}\end{document}`
ottengo un risultato strano forse legata alla codifica.1.
Nella parte di codice le lettere accentate sono unite alla parola successiva,
nel risultato prodotto mancano del tutto. Per cui ho
`Qual masso che èdal vertice`
da un lato e dall’altro
`Qual masso che dal vertice`.
E ancora più stranamente:nel secondo codice:
`Nel mezzo del cammin ùpi di`
con la singolare posizione della ù accentata.
Da cosa dipende?2,
In secondo luogo, le due righe che nel codice sono seperate
nel testo risultano come un unico paragrafo.3.
Infine, come eliminare il rientro delle minipage?Grazie
M.listings non è compatibile con utf8.
Ciao
Enrico
-
AutoreRisposte