- Questo topic ha 8 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 13 anni, 11 mesi fa da
egreg9.
-
CreatoreTopic
-
6 Ottobre 2012 alle 17:35 #79599::
buonasera a tutti,
in un libro che sto scrivendo con LaTeX compaiono numerose citazioni con frammenti di altri testi, inserite tra [tt]\begin{quote}[/tt] e [tt]\end{quote}[/tt]. Avevo pensato che forse potrebbe essere carino mettere alla fine del volume un indice che raccolga i riferimenti delle varie citazioni, simile a quello che ho già fatto per le figure. Che voi sappiate esiste un metodo per compilare questo indice automaticamente o quasi?Oppure mi sconsigliate di inserirlo, perché inutile o magari brutto?
Ho provato a cercare informazioni in giro, cosa che di solito funziona, ma questa volta non sono riuscito a trovare niente in proposito.
grazie mille
Davide
-
CreatoreTopic
-
AutoreRisposte
-
-
6 Ottobre 2012 alle 20:31 #79600::
Il problema forse non è fare l’elenco delle citazioni, ma che cosa scriverci: se ci scrivi solo l’autore e nient’altro, allora la cosa più semplice che mi viene in mente è quella di usare il pacchetto imakeidx che, oltre a comporre uno o più indici analitici in modo sincrono con il documento, permette di assegnare un titolo all’indice, che nel tuo caso invece di essere il default “Indice analitico” potrebbe essere “Lista degli autori citati” o quel che meglio credi.
Se quello è l’unico indice che crei con il meccanismo di imakeidx, allora invece di mettere solamente \makeindex nel preambolo, devi metterci semplicemente:`\makeindex[title=Lista degli autori citati] `.In ogni citazione poi crearti un comando che oltre a scrivere, magari in maiuscoletto, il nome dell’autore della citazione sotto il suo testo, esegua anche il comando \index{Autore}, in un modo del genere:{code]\newcommand\Autore[2]{\textsc{#1 #2}\index{#2, #1}[/code] in modo che sotto la citazione compaia il nome prima del cognome il tutto in maiuscoletto con le debite iniziali maiuscole “Mario Rossi”, mentre nell’indice apparirà “Rossi, Mario, 37”, visto che gli indici vengono normalmente indicizzati per cognome (37 è la pagina dove compare la sua citazione).
La documentazione di imakeidx si legge dando nella finestra comandi il comando texdoc imakeidx
-
6 Ottobre 2012 alle 20:37 #79601::
Non ho trovato in giro nulla nemmeno io, quindi ho provato a vedere che riuscivo a tirar fuori. Immaginavo che ci fosse qualche pacchetto che permettesse di creare una nuova \listofxxx. E in effetti il pacchetto tocloft lo fa, ti consiglio di leggerti la documentazione.
Ho creato un esempio, non so come hai strutturato le tue citazioni, ma non credo sarà una cosa molto diversa.
Il codice per la creazione della nuova \listof è preso dalla documentazione di tocloft.
Il codice dell’ambiente citazione è preso dagli “Appunti di programmazione in LaTeX e TeX” di Enrico.Quindi di mio non c’è nulla, ho fatto un collage 🙂 Pare funzionare, vedi se nascono dei problemi utilizzandolo nel tuo libro.
Fran`\documentclass{book}
\usepackage{tocloft}
\usepackage{lipsum}\newcommand{\nomelistacitazioni}{Elenco delle citazioni}
\newlistof[chapter]{citazioni}{cit}{\nomelistacitazioni}\newenvironment{citazione}[1]{%
\def\autorecitazione{(#1)}
\begin{quotation}
\refstepcounter{citazioni}
\addcontentsline{cit}{citazioni}{\protect\numberline{\thecitazioni}#1}\par}
{{\unskip\nobreak\hfil\penalty50
\hspace{2em}\null\nobreak \hfil\textit{\autorecitazione} \parfillskip=0pt \finalhyphendemerits=0 \par} \end{quotation}}\begin{document}
\listofcitazioni
\chapter{Inizio}
\lipsum[1-2]
\begin{citazione}{Pippo e Pluto}
\lipsum[4-5]
\end{citazione}\lipsum[1-6]
\begin{citazione}{Paperino}
\lipsum[4-5]
\end{citazione}\chapter{Avanti}
\lipsum[1-2]
\begin{citazione}{Pippo e Topolino}
\lipsum[4-5]
\end{citazione}\lipsum[1-6]
\begin{citazione}{Minnie}
\lipsum[4-5]
\end{citazione}
\end{document}`
-
7 Ottobre 2012 alle 2:59 #79602
-
7 Ottobre 2012 alle 6:06 #79603::
La soluzione che ti ha proposto @franen è molto bella e credo che sia più adatta a quello che vuoi fare tu. Ad abundantiam puoi anche usarle entrambe, ma mi parrebbe una esagerazione. Usa quella di @franen.Devi però apportare una piccola correzione, perché se gli aurori vanno in corsivo, le parentesi che ne racchiudono i nomi NON devono essere in corsivo. Ti propongo questa piccola versione modificata:`\documentclass{book}
\usepackage{tocloft}
\usepackage{lipsum}\newcommand{\nomelistacitazioni}{Elenco delle citazioni}
\newlistof[chapter]{citazioni}{cit}{\nomelistacitazioni}\newenvironment{citazione}[1]{%
\def\autorecitazione{(\emph{#1})}
\begin{quotation}
\refstepcounter{citazioni}
\addcontentsline{cit}{citazioni}{\protect\numberline{\thecitazioni}#1}\par}
{{\unskip\nobreak\hfil\penalty50
\hspace{2em}\null\nobreak \hfil\autorecitazione \parfillskip=0pt \finalhyphendemerits=0 \par} \end{quotation}}\begin{document}
\listofcitazioni
\chapter{Inizio}
\lipsum[1-2]
\begin{citazione}{Pippo e Pluto}
\lipsum[4-5]
\end{citazione}\lipsum[1-6]
\begin{citazione}{Paperino}
\lipsum[4-5]
\end{citazione}\chapter{Avanti}
\lipsum[1-2]
\begin{citazione}{Pippo e Topolino}
\lipsum[4-5]
\end{citazione}\lipsum[1-6]
\begin{citazione}{Minnie}
\lipsum[4-5]
\end{citazione}
\end{document}`Un’altra modifica che potresti fare (dopo aver letto con attenzione la documentazione di tocloft è quella di aumentare lo spazio fra il numero della citazione e i nomi degli autori nella lista degli autori; per i puntini guida fai tu. Ma sono tutti dettagli che possono essere adattati alle proprie esigenze e allo stile del testo che stai scrivendo.
-
7 Ottobre 2012 alle 15:00 #79604::
ringrazio ancora entrambi per la cura con la quale avete risposto. Ho provato l’esempio e funziona bene. Sfortunatamente nel mio libro viene impiegata la classe memoir, che in teoria dovrebbe emulare tocloft ma evidentemente non lo fa bene come servirebbe, perché la compilazione si interrompe con un messaggio di errore. Cercherò con calma di studiare i manuali di tocloft e memoir per capire come risolvere il problema, ci vorrà un po’ perché sono poderosi ma conto di farcela.
-
7 Ottobre 2012 alle 15:53 #79605::
davidemania” post=78775ringrazio ancora entrambi per la cura con la quale avete risposto. Ho provato l’esempio e funziona bene. Sfortunatamente nel mio libro viene impiegata la classe memoir, che in teoria dovrebbe emulare tocloft ma evidentemente non lo fa bene come servirebbe, perché la compilazione si interrompe con un messaggio di errore. Cercherò con calma di studiare i manuali di tocloft e memoir per capire come risolvere il problema, ci vorrà un po’ perché sono poderosi ma conto di farcela.
Non usare mai tocloft insieme a memoir.
La classe memoir ha il suo metodo per creare nuovi elenchi:
`\newlistof{listofquotations}{loq}{Elenco delle citazioni}`
Dopo questo dovrai adattare l’ambiente in modo che annoti in questo elenco, che richiamerai con [tt]\listofquotations[/tt]. Per una soluzione completa occorrerebbe sapere che tipo di dati vorresti inserire nell’elenco stesso.Ciao
Enrico
-
8 Ottobre 2012 alle 14:28 #79606::
ho provato la soluzione che fa uso di \newlistof e memoir, funziona quasi bene, tranne per il fatto che nell’elenco al posto del numero della citazione compare solo un numero consecutivo che ricomincia da 1 ad ogni capitolo. Nell’esempio che mi avete fornito l’elenco mostra correttamente il capitolo e il numero della citazione (come fa quello standard delle figure, per capirsi), ma in quello che ho fatto con memoir il comportamento è diverso. Allego un piccolo file con il frutto di qualche ora di sudore 🙂`
\documentclass[a4paper]{memoir}
\usepackage{lipsum}\newlistof{listofquotes}{loq}{Elenco delle citazioni}
\newcounter{numcitazione}[chapter]\newenvironment{citazione}[1]{%
\begin{quote}\em
\refstepcounter{numcitazione}
\addcontentsline{loq}{numcitazione}{\protect{\numberline{\thenumcitazione}#1}}\par}
{\end{quote}}\addtodef{\insertchapterspace}{}%
{\addtocontents{loq}{\protect\addvspace{10pt}}}\newlistentry{numcitazione}{loq}{0}
\begin{document}
\chapter{Inizio}
\lipsum[1-2]
\begin{citazione}{Pippo e Pluto}
\lipsum[4-5]
\end{citazione}\lipsum[1-6]
\begin{citazione}{Paperino}
\lipsum[4-5]
\end{citazione}\chapter{Avanti}
\lipsum[1-2]
\begin{citazione}{Pippo e Topolino}
\lipsum[4-5]
\end{citazione}\lipsum[1-6]
\begin{citazione}{Minnie}
\lipsum[4-5]
\end{citazione}\clearpage
\listofquotes\end{document}
`Nella versione senza memoir il file .loq contiene righe come questa:
`\contentsline {citazioni}{\numberline {1.1}Pippo e Pluto}{3}`
mentre il file inserito qui sopra produce righe diverse:
`\contentsline {numcitazione}{{\hbox to\@tempdima {1\hfil }Pippo e Pluto}}{1}`
Questo in generale, poi per le modifiche all’ambiente “citazione” non dovrebbero esserci grossi problemi (ad esempio per mostrare il nome dell’autore o cose del genere).
Mi dispiace (e infastidisce un po’) di non riuscire a risolvere da solo, ad essere sincero pur programmando computer da una vita, con linguaggi di ogni tipo dall’assembler al C++, non riesco a penetrare la filosofia dei comandi e delle macro di LaTeX… mi sembra tutto così ingarbugliato che non so da che parte cominciare. Fin che si tratta dell’uso “normale” tutto va bene, ma per le cose un po’ più sofisticate il mistero si fa fitto. Voi esperti avete tutta la mia ammirazione! Esiste un modo per ringraziare voi o il forum per l’aiuto che date?
-
8 Ottobre 2012 alle 14:58 #79607::
Non è chiaro che cosa vuoi nell’elenco né come faccia il lettore a orientarsi. La tua prima citazione è attribuita nell’elenco a Pippo e Pluto, ma nulla nella citazione stessa lo rende esplicito.C’è una coppia di graffe in più, in ogni caso:
`\addcontentsline{loq}{numcitazione}{\protect\numberline{\thenumcitazione}#1}`
e il [tt]\par[/tt] non ci va. Non userei l’ambiente [tt]quote[/tt] ma [tt]quotation[/tt]: i capoversi spaziati mi danno sui nervi. 🙂
Se vuoi che le citazioni siano numerate consecutivamente per tutto il documento, togli [tt][chapter][/tt] dalla definizione del contatore; se vuoi che siano numerate 1.1, 1.2, 2.1 eccetera, scrivi
`\newcounter{numcitazione}[chapter]
\renewcommand{\thenumcitazione}{\thechapter.\arabic{numcitazione}}`
Ma se non c’è un riferimento nel testo a che serve il numero?Ciao
Enrico
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.