Risposte nei forum create
-
AutoreRisposte
-
::
OldClaudio” post=107144(…)
La storia dei Latin Modern è lunga, ma vorrei riprendere da più indietro.
(…)
La spiegazione è lunga, tuttavia è incompleta; ti suggerisco di dare un’occhiata alla guida tematica sui font.
Se poi mi segnali errori o cose da dire meglio, da chiarire meglio delle mezze bugie da far diventare verità intere, te ne sono grato.Volevo ringraziare @OldClaudio, scusandomi per il ritardo con cui lo faccio, per la generosa e, come sempre, illuminante spiegazione che ci ha fornito riguardo ai caratteri Computer Modern / Latin Modern e alla loro storia.
Ci sarebbero, in effetti, alcuni punti sui quali mi piacerebbe continuare a discutere, eventualmente anche per perfezionare, se possibile, la guida tematica sui font (piccole cose: spiegazioni che io imposterei in un altro modo, nulla di più), ma l’argomento di questo filone di discussione è totalmente differente, quindi, nel caso, ne aprirò un altro con titolo appropriato.
Ciao.
—
Gustavo
::OldClaudio” post=107136Sì, ma non è direttamente accessibile con i comandi di LaTeX; bisogna o definire l’apposita riga tipo simile a quelle che già si trovano nel file .fd, oppure usare i comandi di basso livello di TeX/LaTeX.
Scusami, @OldClaudio, se “me ne approfitto”, come si dice, ma siamo andati a finire su un argomento troppo ghiotto perché io mi lasci sfuggire l’occasione di imparare qualcosa (sempre che tu sia disposto a dedicare il tuo tempo a insegnare a me).
Sul mio sistema ho un file [tt]ot1cmr.fd[/tt] il quale, fra le altre cose, contiene le righe seguenti:
`
%%%%%%%% bold extended series
\DeclareFontShape{OT1}{cmr}{bx}{n}
{%
<5><6><7><8><9>gen*cmbx%
<10><10.95>cmbx10%
<12><14.4><17.28><20.74><24.88>cmbx12%
}{}
\DeclareFontShape{OT1}{cmr}{bx}{sl}
{%
<5><6><7><8><9>%
<10><10.95><12><14.4><17.28><20.74><24.88>cmbxsl10%
}{}
\DeclareFontShape{OT1}{cmr}{bx}{it}
{%
<5><6><7><8><9>%
<10><10.95><12><14.4><17.28><20.74><24.88>cmbxti10%
}{}
`
Si vede dunque che esso definisce non solo il grassetto corsivo, ma anche quello inclinato; si vede anche che, pealtro, lo stesso font viene usato per tutti i corpi, rimpicciolito o ingrandito proporzionalmente. Il file [tt]ot1cmr.fd[/tt] viene addirittura letto durante la costruzione del formato sia da parte del file di definizione standard [tt]fonttext.ltx[/tt], sia dal file di definizione [tt]textfont.cfg[/tt] che trovo in TeX Live. Quindi non capisco cosa intendi quando dici che per usare il grassetto corsivo bisogna impartire “a mano” la relativa dichiarazione [tt]\DeclareFontShape[/tt].Se poi uno specifica`\usepackage[T1]{fontenc}` nel preambolo, la combinazione 〈codifica〉+〈famiglia〉 del carattere principale del documento diventa [tt]T1+cmr[/tt], che si trova anch’essa già registrata nelle tabelle del NFSS incluse nel formato, dato che anche il file [tt]t1cmr.fd[/tt] viene letto durante la costruzione del formato stesso a cura del file [tt]fonttext.ltx[/tt] (LaTeX default) o [tt]fonttext.cfg[/tt] (site default di TeX Live). Nel mio file [tt]t1cmr.fd[/tt] trovo:
`
\ProvidesFile{t1cmr.fd}
[1999/05/25 v2.5h Standard LaTeX font definitions]
\providecommand{\EC@family}[5]{%
\DeclareFontShape{#1}{#2}{#3}{#4}%
{<5><6><7><8><9><10><10.95><12><14.4>%
<17.28><20.74><24.88><29.86><35.83>genb*#5}{}}
\DeclareFontFamily{T1}{cmr}{}
\EC@family{T1}{cmr}{m}{n}{ecrm}
\EC@family{T1}{cmr}{m}{sl}{ecsl}
\EC@family{T1}{cmr}{m}{it}{ecti}
\EC@family{T1}{cmr}{m}{sc}{eccc}
\EC@family{T1}{cmr}{bx}{n}{ecbx}
\EC@family{T1}{cmr}{b}{n}{ecrb}
\EC@family{T1}{cmr}{bx}{it}{ecbi}
\EC@family{T1}{cmr}{bx}{sl}{ecbl}
\EC@family{T1}{cmr}{bx}{sc}{ecxc}
\EC@family{T1}{cmr}{m}{ui}{ecui}
\endinput
`
Si vede, dunque, che anche in questo caso il grassetto corsivo è definito (assieme al grassetto inclinato, ecc.), ma questa volta viene usata la funzione [tt]genb[/tt], cosicché per ciascun corpo viene usata, se possibile, una versione del font specificamente disegnata per quel corpo.Inoltre, vengono specificati i font della famiglia EC (European Computer Modern), i quali includono, eccome, le lettere accentate. È proprio per questo che la dichiarazione`\usepackage[T1]{fontenc}`è sufficiente di per sé a permettere la sillabazione delle parole con lettere accentate.
OldClaudio” post=107136Anch’io l’ho usato quando non c’erano alternative ai CM; da quando esistono gli LM non ho più bisogno di ricorrere a queste cose. (…)
Questa, ripeto, è un’occasione da non perdere per farsi spiegare quali sono esattamente le differenze fra (EC) Computer Modern e Latin Modern. Sia per il testo, sia per la matematica. 🙂
OldClaudio” post=107136(…) I font CM dovrebbero essere proibiti “per legge” (…)
Anche quelli con codifica T1? Perché?
OldClaudio” post=107136I font CM sono stati disegnati inizialmente con la sigla AM nel 1978 (AM: Almost computer Modern), poi finalmente portati al livello CM nel 1980 (…)
È esisitito anche uno stadio BM? Se sì, che significato è stato dato a tale acronimo? E cosa significano le sigle DC ed FC?
OldClaudio” post=107136Il difetto dei CM è che non contengono lettere accentate; poteva andare bene per l’inglese all’inizio degli anni ’80, ma come il programma si è diffuso fuori degli USA, si è fatto di tutto per creare alternative per comporre nelle lingue europee, a cominciare dal francese (…)
Qui leggo un riferimento alla famosa conferenza di Cork del 1990, nel corso della quale fu definita e accettata la codifica T1, la quale, ripeto, contiene i segni necessari per scrivere praticamente in tutte le lingue europee che usano l’alfabeto latino. A partire da allora furono prodotti font Computer Modern a 256 bit con codifica T1: questo è quello che so (o che credevo di sapere). Qual è, invece, la storia dei Latin Modern?
Ringrazio fin da ora per qualunque spiegazione mi verrà data.
Ciao.
—
Gustavo
::Faber90″ post=107124(…) posso dire a LaTex ” sull’asse y vai a predere i valori che sono nel file helpme.xls dalla casella A1 alla A2000″ evitando di importare un milione di valori sull’editor di testo? (…)
Premetto che non sono un esperto in questo genere di cose e che quindi sarà meglio che tu attenda la risposta di qualcuno più informato di me, ma posso già assicurarti che sì, la cosa è fattibilissima (figuriamoci… 😎 )!
In linea generale (ma, ripeto, aspetta che arrivino informazioni più puntuali) puoi procedere così:
- salva il tuo fogilio elettronico in formato CSV, in modo che LaTeX possa leggerlo;
- usa, per esempio, i pacchetti datatool e dataplot, dei quali puoi leggere la documentazione digitando`texdoc datatool`sulla linea di comando.
Ciao.
—
Gustavo
a
::zippo” post=107120(…)
A me sembra che la prima riga della matrice debba stare esattamente allineata col primo elemento del vettore colonna, ma LaTeX non mi dà questo risultato.
(…)Ma no, allinea le matrici lungo il loro asse centrale, esattamente come LaTeX ti propone.
Del resto, uno dei motivi per i quali si usa LaTeX è proprio quello di non doversi preoccupare di simili dettagli, e lasciare che se ne occupi LaTeX stesso. Piuttosto, naturalmente hai caricato il pacchetto amsmath, vero? 🙂
Ciao.
—
Gustavo
::
Come avete visto, il file PDF non è passato. In compenso, ho ritrovato i sorgenti del manuale, che allego. Possiamo distinguere quattro tipi di file:- il sorgente principale, [tt]man-libretto.tex[/tt];
- i sorgenti di varie sotto-unità, che il sorgente principale include con [tt]\include[/tt] (comando che già dodici anni fa non era più così utile), i quali, in dettaglio, sono
-
[tt]FirstPages.tex[/tt],
- [tt]AboutEtc.tex[/tt],
- [tt]Introduction.tex[/tt],
- [tt]GLDS.tex[/tt],
- [tt]DivideMM.tex[/tt],
- [tt]Examples.tex[/tt],
- [tt]Options.tex[/tt],
- [tt]PreambleDecl.tex[/tt],
- [tt]stub.tex[/tt],
- [tt]Miscellanea.tex[/tt],
- [tt]LastChap.tex[/tt] e
- [tt]Bibliography.tex[/tt];
- due file di definizioni, precisamente
-
[tt]Definitions.tex[/tt] e
- [tt]EnglishNames.tex[/tt];
- due piccoli file che definiscono tre o quattro mie macro che utilizzavo in vari contesti, precisamente
-
[tt]cleanfloats.tex[/tt] e
- [tt]citeLaTeXbook.tex[/tt].
[/ul][/li]
[/ul][/li]
[/ul][/li]
Li ho convertiti tutti alle convenzioni UNIX per la terminazione delle linee ([tt]〈LF〉[/tt]): erano infatti stati scritti su un mio “antico” Mac, ancora impostato per terminare le linee con [tt]〈CR〉[/tt]… (nostalgia… 😥 )
Se qualcuno ritiene che stia ingombrando il forum con ciarpame, lo dica con tranquilla franchezza: cancellerò subito.
Ciao.
—
Gustavo
Attachments:
You must be logged in to view attached files.::
Quando si dicono le coincidenze!Una dozzina d’anni fa mi divertii a scrivere una classe di documento, chiamata libretto, la quale, fra le altre cose, componeva i titoli dei capitoli esattamente nel modo richiesto.
Non solo, ma supportava pure l’opzione [tt]a5paper[/tt]. 🙂
Non solo, ma scrissi pure un manualetto d’istruzioni. 😆
Sono riuscito a ricuperarla, e mi permetto di allegarne copia a questo messaggio. Come al solito, affinché il file venga accettato dal sistema, sono costretto a cambiarne l’estensione da [tt].cls[/tt] a [tt].tex[/tt]: chi volesse mai scaricarla, si ricordi poi di ripristinare il nome originario [tt]libretto.cls[/tt].
Ho anche ritrovato il file PDF del manuale: provo ad allegare anche quello, ma non so se passerà. Vorrei comunque recuperare i sorgenti, perché servono anche come esempio d’uso della classe stessa: il manuale, infatti, descriveva le caratteristiche della classe illustrandole al tempo stesso nella stampa prodotta, dato che era esso stesso un documento basato sulla classe libretto.
Questo è il file (che dovrebbe chiamarsi) [tt]libretto.cls[/tt]:
[attachment=1670]libretto.tex[/attachment]Questo, invece, è il file PDF del mnuale d’istruzioni:
[attachment]man-libretto.pdf[/attachment]Ciao.
—
Gustavo
Attachments:
You must be logged in to view attached files.::
Nonalessandropagin” post=107048(…)`\newtheorem{definition}{Definizione}[section]
\newtheorem{thm}[definition]{Teorema}[section]`(…)bensì
`
\newtheorem{definition}{Definizione}[section]
\newtheorem{thm}[definition]{Teorema}
`Inoltre, io cambierei anche lo stile:
`
\theoremstyle{definition}
\newtheorem{definition}{Definizione}[section]\thoeremstyle{plain}
\newtheorem{thm}[definition]{Teorema}
`Assumo ormai che tu stia usando il pacchetto amsthm.
Ciao.
—
Gustavo
::
Niente di speciale: si usano [tt]\label[/tt] e [tt]\ref[/tt] come per tutto il resto. Ecco un esempio “minimalista”:
`
\documentclass[a4paper]{amsart}
\usepackage[T1]{fontenc} % non strettamente necessario, ma raccomandato
\usepackage[italian]{babel}\newtheorem{thm}{Teorema}[section] % teoremi numerati per sezioni
\begin{document}
\section{Matematica molto elementare}
\label{S:MoltoElementare}Ecco un risultato che \`{e} carino dimostrare a partire dagli assiomi di Peano:
\begin{thm}\label{thm:1+1=2}
\[1+1=2\mbox{.}\]
\end{thm}
\begin{proof}
Esercizio.
\end{proof}\section{Matematica ancora abbastanza elementare}
\label{S:AncoraElementare}Costruiamo ulteriori risultati a partire da quelli del
paragrafo~\ref{S:MoltoElementare}.\begin{thm}\label{thm:2+2=4}
\[2+2=4\mbox{.}\]
\end{thm}
\begin{proof}
Esercizio (sfruttare il teorema~\ref{thm:1+1=2}).
\end{proof}E cos\`{\i} via\ldots
\end{document}
`Ciao.
—
Gustavo
::
Quelli che vedo nel tuo esempio sono i normali caratteri che TeX usa per la matematica in testo: non hanno affatto le dimensioni, più grandi, che vengono utilizzate nelle formule fuori testo. Nel codice che segue ho forzato la comparsa di questi ultimi, così puoi fare il confronto.`
\documentclass{amsart}
\usepackage[german]{babel}
\usepackage{amssymb,latexsym}
\usepackage[T1]{fontenc}\begin{document}
Abcdef $\sum,\prod$.
\begin{quotation}
(\ldots) verbleibt nur noch die Aufgabe, diese Aussagenfunktion —
ich m\”ochte sagen: zu \glqq\emph{verdichten}\grqq, zu \glqq
condensiren\grqq, d.h. sie darzustellen als den Koeffizienten zum
Suffix $hk$ eines von $h$ und $k$ unabh\”angigen, aus $a,b,c,\ldots$
durch die $6$ Spezies incl. $\sum,\prod$ aufgebauten Relatives,
einer \glqq Relativfunktion\grqq{} $X$, und wird damit $x=X$
gefunden sein.
\end{quotation}Ghijkl $\displaystyle \sum.\prod$.
\begin{quotation}
(\ldots) verbleibt nur noch die Aufgabe, diese Aussagenfunktion — ich
m\”ochte sagen: zu \glqq\emph{verdichten}\grqq, zu \glqq condensiren\grqq,
d.h. sie darzustellen als den Koeffizienten zum Suffix $hk$ eines von $h$
und $k$ unabh\”angigen, aus $a,b,c,\ldots$ durch die $6$ Spezies incl.
$\displaystyle\sum,\prod$ aufgebauten Relatives, einer \glqq
Relativfunktion\grqq{} $X$, und wird damit $x=X$ gefunden sein.
\end{quotation}\end{document}
`CIao.
—
Gustavo
::lorenzo.pantieri” post=106986(…) Tutto sta a intendersi: per me, un comando “di alto livello” riguarda solo il contenuto di quello che si scrive, astraendo dalla forma. Quindi, per me, \chapter, \section e \tableofcontents sono comandi di alto livello, perché permettono di introdurre capitoli e paragrafi e di comporre l’indice (i dettagli tipografici sono delegati a LaTeX). (…)
Comandi come \bigskip, \vspace, \stretch e \changetext, invece, riguardano la forma di quello che si scrive (“il logo della mia università lo voglio in alto a sinistra, il titolo della tesi lo voglio al centro in sans serif corpo 20, il nome del relatore allineato a destra, tre centimetri sotto il titolo”).
Idealmente e per quanto possibile, per me, l’utente di LaTeX non dovrebbe mai usare comandi di quest’ultimo tipo, ma solo del primo. In questo modo il codice LaTeX è più elegante, e più comprensibile anche a distanza di anni (…)
Debbo convenire che, in linea di principio, hai ragione tu, e che io ho espresso un giudizio frettoloso e, sempre in linea di principio, sbagliato.
È anche vero, però, che il mondo non è ideale, e che quasi mai, nel vasto campo della scienza dei calcolatori, si riescono a rispettare perfettamente gli ideali di modularità, di separazione tra contenuto e forma, tra interfaccia e implementazione, e così via. Molto spesso, e più prima che poi, si è costretti a scendere a patti, e in questo senso ritengo che una conoscenza di base dei comandi di formattazione visuale non possa non far parte del bagaglio di chiunque intenda usare LaTeX in modo un minimo proficuo.
Purtroppo, per saper applicare questi comandi occorre anche avere una visione minima del modello «a scatole e colla» che TeX usa per comporre a stampa, dalla quale, secondo me, non si può prescindere nemmeno in una guida per principianti e nemmeno se diretta a insegnare un linguaggio di markup logico come è (o meglio, come si prefigge di essere) il LaTeX. È da notare che nel TeXbook i concetti di base relativi a scatole e colla sono esposti in capoversi “ordinari”, non in “curve pericolose”.
È per questo che ho ritenuto di suggerire che, forse, potrebbe essere opportuno perfezionare l’Arte in tal senso.
Ciao.
—
Gustavo
::lorenzo.pantieri” post=106977(…) Il comando \fill nell’Arte non è descritto: grazie alla tua indicazione penso di averne capito il significato.
In generale, i nostri punti di vista attorno a LaTeX sono molto diversi: il mio è sempre stato quello di un utente finale. Sono a mio agio con codici “di alto livello” (\chapter, \cite, \index), ma mastico pochissimo il codice “di basso livello” (…)
Chiedo scusa se mi intrometto, ma né [tt]\vspace[/tt] né [tt]\fill[/tt] mi sembrano qualificabili come «di basso livello». 🙂 Il primo è descritto nell’Arte, appunto a pag. 49, come ha già detto @OldClaudio, dove si spiega anche a cosa serve la sua forma asteriscata; del secondo, e della sua generalizzazione [tt]\stretch[/tt], si parla in molte guide, ma in effetti non sono riuscito a trovarne cenno nell’Arte, cosa che, debbo dire, mi ha un po’ sorpreso. (Per inciso, si noti che, mentre [tt]\stretch[/tt] è implementato come macro, [tt]\fill[/tt] è uno [tt]\skip[/tt] register.)
Un commento: quando viene usato in modo verticale, [tt]\vspace*{
}[/tt] si espande in `
\dimen@\prevdepth
\hrule \@height\z@
\nobreak
\vskip
\vskip\z@skip
\prevdepth\dimen@
`il che comporta che, sempre se usato in modo verticale, [tt]\vspace*{\fill}[/tt] è fondamentalmente (ma non esattamente 😉 ) equivalente a
`
\dimen@\prevdepth
\hrule \@height\z@
\nobreak
\vfill
\prevdepth\dimen@
`L’idea è che il filetto di altezza nulla impedisce alla colla di sparire quando il comando viene dato all’inizio di una pagina vuota. C’è però un errore, secondo me, in questo codice: non tiene conto del fatto che, se si è all’inizio di una pagina vuota, la [tt]\topskip[/tt] glue viene inserita anche prima di un filetto, cosicché uno si ritrova con uno spazio che in realtà è un dieci-dodici punti (a seconda del valore di [tt]\topskip[/tt]) maggiore di quanto richiesto. La cosa è ben evidente nel caso limite di [tt]\vspace*{0pt}[/tt]:
`
% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly
% declare the paper format.\usepackage[T1]{fontenc} % Not always necessary, but recommended.
% End of standard header. What follows pertains to the problem at hand.\usepackage{showframe}
\begin{document}
Some text on the very first line.
\newpage
\vspace*{0pt}
\begingroup
\showboxbreadth = 1000
\showboxdepth = 10
\tracingonline = 1
\showlists
\endgroupThis text actually starts on the second line, which, probably, is not what was
intended.\end{document}
`Naturalmente, volendolo fare, non sarebbe difficile correggere questo piccolo difetto; ma, come al solito, ciò cambierebbe il comportamento del LaTeX, cosa che ormai non si può più fare… 🙄
Ciao.
—
Gustavo
24 Giugno 2016 alle 9:13 in risposta a: L’eterna lotta contro le pagine bianche a fine capitolo #11726::OldClaudio” post=106919(…) Mi stupisce che oneside ti sposti la gabbia del testo; di solito stampndo da un lato solo la gabbbia del testo rimane centrata. (…)
Probabilmente quel che gli succede è che con [tt]twoside[/tt] ha la gabbia asimmetrica, quindi spostata verso sinistra sulle pagine dispari, in particolare sulla prima, mentre con [tt]oneside[/tt] ha la gabbia centrata, e quindi spostata verso destra, ma sempre solo sulle pagine dispari, rispetto a prima. Insomma, sta dicendo quel che vede succedere nella prima pagina nel passaggio da [tt]twoside[/tt] a [tt]oneside[/tt].
Ciao.
—
Gustavo
24 Giugno 2016 alle 8:57 in risposta a: L’eterna lotta contro le pagine bianche a fine capitolo #11725::Bestplayer” post=106918Ciao a tutti, purtroppo io ho ancora il problema delle pagine bianche alla fine dei capitoli che finiscono con pagine dispari. Ho provato a usare \input invece di \include per allegare i capitoli alla compilazione e anche a usare l’opzione openany. L’unico che risolve questo problema è l’opzione oneside, che però sposta tutto il corpo del testo sul lato destro della pagina.
Qualcuno può aiutarmi?
Grazie in anticipo.Vado per punti:
- Usare [tt]\input[/tt] al posto di [tt]\include[/tt] non è collegato al «problema delle pagine bianche».
- Se il problema in questione è che compare una pagina vuota, che però ha in cima le testatine, mentre tu vorresti una pagina totalmente bianca, potresti usare una delle soluzioni proposte da @egreg9. Ma quel messaggio è di nove anni fa, e nel frattempo qualcuno ha pensato di confezionare quel pezzetto di codice in un pacchetto, che si chiama emptypage. Quindi, al giorno d’oggi, non devi fare altro che caricare quel pacchetto`\usepackage{emptypage}`e fa tutto lui da solo.
- L’opzione [tt]openany[/tt] dovrebbe ben risolvere il problema, dato che consente ai capitoli di iniziare su qualunque facciata. Ovviamente, non c’è alcun modo di evitare una pagina supplementare alla fine di un capitolo che finisce su una pagina dispari, se si vuole che ogni nuovo capitolo si apra forzatamente su una pagina anch’essa dispari. 🙂
- L’opzione [tt]oneside[/tt] va usata esclusivamente se si ha davvero l’intenzione di stampare il documento su facciata singola; è un grave errore usarla in un documento che verrà stampato fronte/retro.
Ciao.
—
Gustavo
-
AutoreRisposte