Risposte nei forum create
-
AutoreRisposte
-
::
Cancella il file .toc e ricompila almeno due volte dopo aver rimesso \tableof contents. Se funzionava prima che tu riaprissi il file, vuol dire che qualcosa è andato storto durante la chiusura del PC, o la sua sospensione, o è mancata la corrente mentre compilavi l’ultima volta. Oppure l’ultima vota non hai compilato, ma hai inserito un comando di sezionamento che è sbagliato, magari manca di una parentesi chiusa. Controlla bene.
::
L’importante è che funzioni, ma il mio comando \@lista, quello che fa tuto il lavoro, si appoggia ad una funzionalità del linguaggio primitivo di TeX, quindi è difficile da capire.
Cerco di spiegarmi, anche se trovi una spiegazione migliore con altri esempi se cerchi nella cartella di ArsTeXnica il mio articolo sugli “Argomenti delimitati.In poche parole (e poche parole non bastano) \@lista prende una lista di nomi separati da virgole che funzionano da delimitatori degli argomenti; il punto esclamativo alla fine funziona da delimitatore finale. Allora i tre argomenti di \@lista separano il primo nome prima della prima virgola, il secondo nome prima della seconda virgola e poi tutto il resto fino alla fine. Se il secondo argomento è vuoto, vuol dire che il primo argomento era l’ultimo della lista, quindi lo emette pronto per essere stampato; se invece il secondo non è vuoto lo emette seguito da una virgola e poi uno spazio e infine richiama se stesso (\@lista) rimettendo in file il secondo e il terzo argomento. L’argomento facoltativo di \lista contiene la dichiarazione con cui viene specificato la serie, la forma, volendo la famiglia e il corpo del nome da stampare, quindi il primo o unico elemento della lista viene in realtà emesso dentro un gruppo e preceduto dalla dichiarazione o dalla dichiarazioni relative ai font da usare; siccome queste dichiarazioni compaiono dentro un gruppo esse valgono solo dentro il gruppo e non si propagano fuori.
Si può fare di meglio, ma ho scritto il codice di getto e non sono stato lì a rifinire; ci sono altri comandi primitivi di TeX o di plain TeX che lavorano a basso livello, una specie di linguaggio macchina, ma che permettono di fare altri giochetti del genere e forse in modo più efficiente.
Io ti suggerirei di non preoccuparti troppo di queste cose; prima di imparare a scriverle tu stesso/a ci vuole del tempo e molta pratica (quindi anche molti errori…); bisogna studiare gli Elementi di programmazione in TeX e LaTeX di Enrico; poi bisogna approfondire nel TeXbook; è lunga, molto lunga questa strada; la si accorcia se si ha una forte passione per questo tipo di programmazione con un linguaggio interpretato e sulla base delle conoscenze informatiche che si possono già possedere. Io per esempio non ho nessuna nozione di Java o di Python, nemmeno di Bash (tutti linguaggi interpretati), che oggi fanno parte del normale curriculum di studi per studenti universitari, non necessariamente nei corsi di laurea di informatica delle facoltà di scienze o di ingegneria. Quindi ci ho messo molto tempo; siccome ho cominciato quasi 30 anni fa, di tempo ne ho avuto molto…
::
\addcontentsline non riguarda la composizione del titolo del capitolo, ma riguaarda l’inserimento del titolo nell’indice generale.Se hai una solo cpaitolo sei sicuro che la classe book o equivalante sia quella più approrpiata e non sia meglio la classe articke?
In ogni caso con la classe book scrivi alla fine del preambolo o subito dopo \begin{document}
`
\setcounter{secnumdepth}{-2}
`e non ti viene numerato niente; se scrivi 1 al posto di -2 ti vengono numerati i paragrafi (section} ma non ti vengono numerati i capitoli; poi ti converrebbe svincolare il contatore dei paragrafi dal relativo capitolo.
Un’altra possibilità sarebbe quella di usare \chapter*.
Ma secondo me la classe giusta è article.
::illinguista1972″ post=65588
Siate fiduciosi! Intanto Antonio potrebbe scegliere un gruppo di utenti per testare la classe anthosthesis.cls via via che prende forma, no? 😉Be’, il prefisso anthos ricorda il nome di Antonio, ma vuol dire “fiore” in greco. Certo la nuova classe potrebbe essere un “fiore all’occhiello” per Antonio.
Vorrei contribuire con alcune mie idee personalissime.
Stiamo parlando di una classe per scrivere tesi o una classe per scrivere documenti di qualunque genere? È noto a tutti che le varie classi vengono usate anche libri e manuali scrivere, compresa classicthesis, e suftesi.
Alcune di queste classi sono poco configurabili, altra presentano una notevole varietà di impostazioni possibili, tutte permettono in qualche maniera di comporre il frontespizio della tesi che è di gran lunga la cosa più difficile da comporre, perché ogni università detta norme specifiche per il layout del frontespizio; d’altra parte Enrico ha già messo a disposizione il pacchetto frontespizio che, secondo me, risolve elegantemente questo problema. Nello stesso tempo tutto ciò richiede molta programmazione e, suppongo, è inutile per un documento che non sia una tesi.
Allora per comporre documenti generici, libri, manuali, rapporti tecnici, e simili, non c’è bisogno di usare un classe pensata per le tesi; certo si può, ma sarebbe meglio non farlo, nello spirito di LaTeX che è quello di curarsi del significato del testo e di affidare la sua forma alla classe o ai pacchetti.
Ho scritto molte classi, anche per case editrici piccole e grandi; ogni volta ho eliminato ogni possibilità di configurazione; gli autori sono padroni di aggiungere nel preambolo la chiamata ad un pacchetto di macro specifiche/personali in relazione al contenuto del testo, ma non alla sua forma. Eppure ci sono autori che contestano, per esempio: “Ma io preferisco i titoli correnti in san serif medio, invece che in tondo nero”. La risposta della casa editrice è sempre: “Caro Autore, lei può preferire quello che vuole, ma questa Casa Editrice vuole questo aspetto grafico, perché questo è l’aspetto grafico dei testi della collana XYZ nella quale il suo testo verrebbe inserito; pertanto ogni modifica che lei apportasse all’aspetto grafico, non precedentemente concordata nel contratto, implica la decadenza immediata del contratto stesso e ogni risoluzione del nostro rapporto, senza nessuna obbligazione da parte nostra nei suoi confronti”.
Certo per le tesi la cosa è diversa e un certo grado di personalizzazione è perfettamente consentita; non c’è nessun contratto di mezzo; forse c’è un obbligo del laureando nei confronti dell’istituzione, simile ad un contratto, ma nello stesso tempo non è un contratto. Quindi certamente un certo grado di personalizzazione è possibile. In questo caso non mi sembrerebbe una cosa terribilmente complicata basare la classe su memoir; l’ho già detto molte volte che la classe memoir è personalizzabile sotto ogni aspetto e altre personalizzazioni diverse da quelle previste possono essere problematiche; nel tempo ho notato una notevole stabilità della classe e anche il manuale sottolinea le cose che permangono da versioni precedenti e mantenute per backwards compatibility. Allora se Antonio vuol scrivere una classe, sarebbe meglio che la scrivesse appoggiandosi alla classe memoir, non appoggiandosi al pacchetto classichthesis; il compito della classe sarebbe quello di fornire un certo numero di layout predefiniti da scegliere con opzioni alla classe, di caricare frontespizio e di fornire un PDF di documentazione dove spiega con chiarezza e nel dettaglio come si usa la classe e quali ulteriori pacchetti è possibile caricare al fine di comporre una tesi umanistica ricorrendo a certi pacchetti, invece che una tesi tecnica dove è necessaria molta matematica; la documentazione potrebbe contenere la descrizione di un certo numero di template, magari forniti insieme alla classe come file separati, per scrivere te o quattro tipi di tesi con altrettanti stili diversi e con collezioni diverse di pacchetti aggiuntivi, che so, ledmac, oppure il pacchetto per comporre la chimica, certamente amsmath & company per una tesi tecnica, chimica o non chimica, i pacchetti necessari per una tesi in filologia in lingue classiche oppure moderne ma con lingue che non si scrivono con l’alfabeto latino; La classe dovrebbe poter funzionare anche con XeLaTeX, quindi lingue e font non dovrebbero essere definiti nella classe, ma lasciati alla cura dell’utente per impostarle nel preambolo a seconda del motore di composizione che usa; illustrare i problemi degli alfabeti diversi e delle lingue retrograde; la o le bibliograife; il o gli indici analitici; le note in calce, a margine, alla fine; eccetera.
La classe, insomma, deve poter consentire queste cose; ma più che la classe, che comunque non è banale, la documentazione è essenziale.A me non piacciono le classi KOMA, anche se, nello scrivere la classe dictionary.cls vi ho dovuto ricorrere scartando memoir, non mi ricordo più per quale motivo; forse era l’unico che mi trattiene ancora oggi dall’usare memoir sistematicamente e contro il quale sto combattendo da parecchio tempo, anche con/contro il nuovo curatore della classe memoir: l’impossibilità di usare il pacchetto imakeidx che abbiamo scritto Enrico ed io e che trovo una manna dal cielo e al quale non posso rinunciare più (be’ io ho avuto l’idea ed Enrico l’ha realizzata magistralmente come suo solito, andando al di là di ogni mia immaginazione).
Appoggiarsi alla classe book è possibile se lo scopo della nuova classe è quello di offrire un layout rigido, poco o nulla personalizzabile, perché di solito o si usano decine di pacchetti appositi, oppure bisogna mettere le mani dentro a macro interne della classe book oppure anche in alcune macro interne del nucleo di LaTeX. Non mi sembra una via utile per una classe destinata alle tesi. Può essere una via praticabile per una classe destinata ad una casa editrice.
Procedere in questo modo permette di conservare tutta l’agilità di personalizzazione che la classe memoir mette a disposizione, non si è vincolati né alle rigidezze di classicthesis, né alle “svolte LyXiane” di Miede. Poi se Antonio la vuole chiamare anthosthesis.cls oppure tesiclassica.cls (evitando ogni possibile confusione fra la classe classicthesi.cls e il pacchetto classicthesis.sty) o in qualche altro modo va benissimo; l’importante è non mettere in piedi un duplicato di quello che si può ottenere con il pacchetto classicthesis.sty, né di invadere il campo di suftesi.cls che ha una sua ragion d’essere particolare.
::
Innanzi tutto non si tratta di una tabella, ma di equazioni incolonnate. per cui devi mettere il tutto dentro un ambente equation che a sua volta contiene un ambiente subequations, che a sua volta contiene un ambiente align, che, ultima matrioska, contiene le tue equazioni, in cui la prima parte allineata a sinistra ha i sui contenuti inseriti come argomenti del comando \text.Leggi il tutto nella documentazione del pacchetto amsmath con il comando texdoc amsmath
::
A me risulta che la prima volta che TeXworks viene usato si cerca tutte le cose che gli servono, io non ho mai avuto bisogno di configurare nulla; comunque sotto Preferences, vai a vedere che cosa c’è scritto nel pannello che si apre cliccando su Typesetting e nella finestra in alto ci sono i path che puoi editare se vuoi o anche mettere in una sequenza diversa (te lo sconsiglio); nella finestra in basso ci sono tutti i motori di composizione per ai quali potresti aggiungerne degli altri e comunque li puoi mettere in ordine diverso, cosicché quando lavori e hai bisogno di cambiare eseguibile nella finestrina accanto al bottone verde ti appaiono in ordine quelli che usi più spesso e poi quelli che usi raramente, secondo come ti sei configurato le cose.
Accanto a questa seconda finestra hai anche il tasto edit che ti permette di aggiungere opzioni alla riga di comando. Il file Help/Aiuto non spende troppe parole sulla sintassi e sulla scrittura di queste opzioni, ma non è difficile immaginare ed estrapolare da quel che vi si dice esplicitamente. Io non ho mai avuto bisogno di modificare nulla perché così come è preimpostato mi funziona nella stessa maniera sul Mac, su una macchina virtuale WXP e su una macchina virtuale Ubuntu 11.10.Il pannello delle Preferenze ha anche altre sezioni e ti permette di scegliere a tuo piacimento tutto quello che ti pare e che è personalizzabile; per esempio non ti lascia scegliere un altro visualizzatore PDF, ma puoi usare solo il suo visualizzatore interno (che è talmente ben integrato con l’intero software, che sarebbe un suicidio cambiare con un altro visualizzatore esterno.
::
OK, hyperref usa molti argomenti di comandi per creare target o anchor per la navigazione ipertestuale. Evidentemente l’argomento di \author fa parte di questi.
hyperref definisce anche un comando che richiede due argomenti\texorpdfstring con la seguente sintassi:\texorpdfstring{testo per il file}{testo per gli hyperlink}
Siccome il comando che offende hyperref è il salto pagina, puoi scrivere una cosa del tipo:
`
\author{\texorpdfstring{Candidato\\Relatore: prof XY}{Candidato}}
`
Così solo il nome del candidato viene usato per gli hyperlink
::
Prova questo codice, negli esempi gli spazi dopo le virgole sono necessari:
`
\documentclass{article}\makeatletter
\newcommand\lista[2][\upshape]{\def\fontlista{#1}\@lista#2,!}
\def\@lista#1,#2,#3!{\def\@tempA{#2}\def\@tempB{{\fontlista #1}}\def\@tempC{{\fontlista #1},\@lista#2,#3,!}
\ifx\@tempA\empty\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi\@tempB\@tempC}\begin{document}
\lista[\bfseries]{pippo, pluto, paperino}\lista[\scshape]{topo, ratto, mustelide}
\end{document}
`In questo modo la lista ti viene formattata, tranne le virgole, in nero nel primo esempio, e in maiuscoletto nel secondo; l’importante è che il primo argomento facoltativo sia formato da una o più dichiarazioni relative ai font, tipo \large, \upshape, \itshape \sffamily, eccetera, anche più di una, ma non siano usati i relativi comandi, come per esempio \textbf, che richiedono un argomento (si potrebbe definire la macro \@lista differentemente per usare questa possibilità ma bisognrebbe usare dichiarazioni lo stesso se se ne devono usare più di una.
Poi naturalmente ti puoi deifnire dei comandi più semplici come interfaccia tra te e il comando \lista, per esempio
`
\newcommand\insiemeA{\lista[\fseries]}
\newcoomand\insiemeB{\lista[\scshape]}
\newcommand\insiemeC{\lista[\bfseries\itshape]}
…
`
scegliendo al posto di \insiemeA, \insiemeB,…, dei nomi mnemonici più adatti. Tieni presente che la lista dei nomi può contenere anche un solo nome.
::
Quindi i tuoi dizionari sono solo insiemi di parole, senza descrizione, magari in linea e separati da virgole?
Definire \insiemen{…} che ti permetta di usare la lista di parole in un modo particolare ma senza applicarlo con un comando apposta ad ogni parola non è difficile, il difficile, caso mai è fare si che la virgola non sia trattata come le parole dell’insieme. Se mi confermi, ci penso su.PS: se puoi evitare di sottolineare sarebbe meglio, perché in tipografia “vera” non si sottolinea mai; certo per esigenze speciali… Ma con la scelta di font che LaTeX ti consente, tra forme e serie, compresa la famiglia del typewriter type a spaziatura variabile, hai una dozzina di varietà diverse senza bisogno di sottolineare.
::
Sto dicendo che fontspec con pdflatex non si può usare; mi pare che all’inizio di fontspec.sty ci siano dei controlli per verificare che il motore in uso sia xetex o luatex.Però riocnosco che con la similitudine dei nomi, questo filone è cominciato con fontenc prima di tutto e io ho acquisito nel mio cranio invecchiato fontspec prima di tutto
Scusatemi. 🙁 🙄
Però parlando di fontenc (quindi il motore è pdftex con pdflatex come formato) Io non credo di averlo mai messo per primo ma di avere comunque messo sempre babel dopo fontenc. Per me (a parte etoolbox, che a sua volta carica etex) la sequenza ottimale è:
`
\documentclass[…]{…}
\usepackage[…]{inputenc}
\usepackage[…]{fontenc}
\usepackage[…][font a scelta}
\usepackage[…]{babel}
…
`
Se non altro perché pdflatex prima legge il file sorgente e ha bisogno della codifica d’entrata, poi compone con i font di uscita e la loro codifica. babel controlla talvolta la codifica di uscita, non mi sono mai accorto che controlli la codifica di entrata, ma controlla anche talvolta quali sono i font di uscita, non solo la loro codifica; lo stesso si può dire, forse di altri pacchetti. ma certo i primi due sono inputenc e fontenc; non credo che l’ordine sia importante, ma preferisco seguire l’ordine che ho indicato, più per motivi “filosofici” che per una reale necessità.
-
AutoreRisposte