- Questo topic ha 16 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 6 anni, 11 mesi fa da
benedetto batta.
-
CreatoreTopic
-
21 Giugno 2010 alle 8:47 #46389::
Buongiorno a tutti,
scrivo per chiedere un aiuto in vista della stampa della tesi.Avrei bisogno di un “Indice dei capoversi”, in appendice, che elencasse tutti i componimenti presenti nella tesi; l’Indice lo farei “a mano” (vale a dire pensavo di fare un elenco alfabetico dei componimenti) con il riferimento (\label{testo1} in corrispondenza del primo testo … \pageref{testo1} in corrispondenza dello stesso testo nell’Indice dei capoversi).
Fin qui nulla di problematico, però vorrei che il riferimento alla pagina fosse allineato al margine destro (come avviene nell’Indice iniziale), tenendo conto che a volte i numeri delle pagine sono espressi in unità, a volte in decine, a volte in centinaia; insomma è l’ultimo numero di pagina che deve essere allineato.
È possibile?
Grazie in anticipo!Matteo
-
CreatoreTopic
-
AutoreRisposte
-
-
21 Giugno 2010 alle 9:05 #46390::
Buongiorno a tutti,
scrivo per chiedere un aiuto in vista della stampa della tesi.Avrei bisogno di un “Indice dei capoversi”, in appendice, che elencasse tutti i componimenti presenti nella tesi; l’Indice lo farei “a mano” (vale a dire pensavo di fare un elenco alfabetico dei componimenti) con il riferimento (\label{testo1} in corrispondenza del primo testo … \pageref{testo1} in corrispondenza dello stesso testo nell’Indice dei capoversi).
Fin qui nulla di problematico, però vorrei che il riferimento alla pagina fosse allineato al margine destro (come avviene nell’Indice iniziale), tenendo conto che a volte i numeri delle pagine sono espressi in unità, a volte in decine, a volte in centinaia; insomma è l’ultimo numero di pagina che deve essere allineato.
È possibile?
Saresti così gentile da proporre un esempio? Breve, mi raccomando.
Ciao
Enrico
-
21 Giugno 2010 alle 9:28 #46391::
Il risultato dovrebbe essere qualcosa di simile a questo (p. 337 e seguenti)oppure a questo (p. 393 e seguenti)
L’esempio è questo:
`
\documentclass[10pt,a4paper,twoside,openright,titlepage,italian,draft]{book}
\usepackage[italian]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}\begin{document}
\chapter{Primo}
Iniziamo dalla lettura di questo sonetto:\begin{verse}
Voi ch'ascoltate in rime sparse il suono\label{RVF1} \\
di quei sospiri ond'io nudriva 'l core \\
…
\end{verse}Continuiamo leggendo una canzone:
\begin{verse}
Verdi panni, sanguigni, oscuri o persi\label{RVF29} \\
non vestì donna unquancho\\
…
\end{verse}\chapter{Indice dei capoversi}
Verdi panni sanguigni, oscuri e persi p.~\pageref{RVF29}
Voi ch'ascoltate in rime sparse il suono p.~\pageref{RVF1}
\end{document}
`Vorrei che i numeri delle pagine creati con \pageref{xy} venissero allineati al margine destro.
Grazie!
-
21 Giugno 2010 alle 10:11 #46392::
Il risultato dovrebbe essere qualcosa di simile a questo (p. 337 e seguenti)
oppure a questo (p. 393 e seguenti)
L’esempio è questo:
`
\documentclass[10pt,a4paper,twoside,openright,titlepage,italian,draft]{book}
\usepackage[italian]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}\begin{document}
\chapter{Primo}
Iniziamo dalla lettura di questo sonetto:\begin{verse}
Voi ch'ascoltate in rime sparse il suono\label{RVF1} \\
di quei sospiri ond'io nudriva 'l core \\
…
\end{verse}Continuiamo leggendo una canzone:
\begin{verse}
Verdi panni, sanguigni, oscuri o persi\label{RVF29} \\
non vestì donna unquancho\\
…
\end{verse}\chapter{Indice dei capoversi}
Verdi panni sanguigni, oscuri e persi p.~\pageref{RVF29}
Voi ch'ascoltate in rime sparse il suono p.~\pageref{RVF1}
\end{document}
`Vorrei che i numeri delle pagine creati con \pageref{xy} venissero allineati al margine destro.
Non c’è alcun bisogno di farlo a mano. 🙂
`\documentclass[a4paper]{book}\makeatletter
\newcommand{\listofverse}[1]{%
\chapter{Lista dei capoversi}%
\@starttoc{lov}}
\newcommand{\l@verse}{\@dottedtocline{1}{\z@}{2.3em}}
\newcommand{\listverse}[1]{%
\@nameuse{phantomsection}%
\addcontentsline{lov}{verse}{#1}%
#1}
\makeatother\begin{document}
\frontmatter
\listofverse\mainmatter
\chapter{Primo}
Iniziamo dalla lettura di questo sonetto:\begin{verse}
\listverse{Voi ch'ascoltate in rime sparse il suono} \\
di quei sospiri ond'io nudriva 'l core \\
…
\end{verse}Continuiamo leggendo una canzone:
\begin{verse}
\listverse{Verdi panni, sanguigni, oscuri o persi} \\
non vestì donna unquancho\\
…
\end{verse}\end{document}`
Il misterioso \@nameuse{phantomsection} serve per hyperref, facendo così non è obbligatorio che sia caricato.Ciao
Enrico
-
21 Giugno 2010 alle 10:30 #46393::
Non c’è alcun bisogno di farlo a mano. 🙂
Geniale!
Una sola richiesta aggiuntiva, tradizionalmente l’indice dei capoversi si trova in fondo al libro (in questo caso alla tesi), in appendice, solo che se sposto \listofverse alla fine del documento la magia non funziona più.
È possibile rimediare?
Grazie di cuore.
Matteo
-
21 Giugno 2010 alle 10:46 #46394::
Non c’è alcun bisogno di farlo a mano. 🙂
Geniale!
Una sola richiesta aggiuntiva, tradizionalmente l’indice dei capoversi si trova in fondo al libro (in questo caso alla tesi), in appendice, solo che se sposto \listofverse alla fine del documento la magia non funziona più.
È possibile rimediare?
Grazie di cuore.
MatteoMettilo dopo \backmatter
Ciao
Enrico
-
21 Giugno 2010 alle 12:46 #46395::
Mettilo dopo \backmatter
forse non ho capito, ma se uso questo codice:
`
\documentclass[a4paper]{book}\makeatletter
\newcommand{\listofverse}[1]{%
\chapter{Lista dei capoversi}%
\@starttoc{lov}}
\newcommand{\l@verse}{\@dottedtocline{1}{\z@}{2.3em}}
\newcommand{\listverse}[1]{%
\@nameuse{phantomsection}%
\addcontentsline{lov}{verse}{#1}%
#1}
\makeatother\begin{document}
\frontmatter\mainmatter
\chapter{Primo}
Iniziamo dalla lettura di questo sonetto:\begin{verse}
\listverse{Voi ch'ascoltate in rime sparse il suono} \\
di quei sospiri ond'io nudriva 'l core \\
…
\end{verse}Continuiamo leggendo una canzone:
\begin{verse}
\listverse{Verdi panni, sanguigni, oscuri o persi} \\
non vestì donna unquancho\\
…
\end{verse}
\backmatter
\listofverse
\end{document}`mi si blocca la compilazione. Deve esserci qualcosa che mi sfugge 😳
-
21 Giugno 2010 alle 13:19 #46396::
Mettilo dopo \backmatter
forse non ho capito, ma se uso questo codice:
`
\documentclass[a4paper]{book}\makeatletter
\newcommand{\listofverse}[1]{%
\chapter{Lista dei capoversi}%
\@starttoc{lov}}
\newcommand{\l@verse}{\@dottedtocline{1}{\z@}{2.3em}}
\newcommand{\listverse}[1]{%
\@nameuse{phantomsection}%
\addcontentsline{lov}{verse}{#1}%
#1}
\makeatother\begin{document}
\frontmatter\mainmatter
\chapter{Primo}
Iniziamo dalla lettura di questo sonetto:\begin{verse}
\listverse{Voi ch'ascoltate in rime sparse il suono} \\
di quei sospiri ond'io nudriva 'l core \\
…
\end{verse}Continuiamo leggendo una canzone:
\begin{verse}
\listverse{Verdi panni, sanguigni, oscuri o persi} \\
non vestì donna unquancho\\
…
\end{verse}[color=red]
\backmatter
\listofverse
[/color]
\end{document}`mi si blocca la compilazione. Deve esserci qualcosa che mi sfugge 😳
A me funziona senza alcun problema, sia con la 2009 sia con la 2010/pretest. Che cosa succede, di preciso?
Ciao
Enrico
-
21 Giugno 2010 alle 15:14 #46397
-
21 Giugno 2010 alle 17:28 #46398::
A me funziona senza alcun problema, sia con la 2009 sia con la 2010/pretest. Che cosa succede, di preciso?
Chiedo scusa, la compilazione funziona benissimo anche a me.
C’è solo un problema, o meglio, una cosa che davo per scontata nella mia prima richiesta: l’Indice dei capoversi deve essere ordinato alfabeticamente, l’ottimo codice che hai proposto genera l’Indice ordinando i versi consequenzialmente i versi, e non alfabeticamente.
Posso chiedere se è possibile modificarlo per far sì che l’Indice presenti gli incipit alfabeticamente?
Grazie ancora!
Matteo
-
21 Giugno 2010 alle 18:13 #46399::
A me funziona senza alcun problema, sia con la 2009 sia con la 2010/pretest. Che cosa succede, di preciso?
Chiedo scusa, la compilazione funziona benissimo anche a me.
C’è solo un problema, o meglio, una cosa che davo per scontata nella mia prima richiesta: l’Indice dei capoversi deve essere ordinato alfabeticamente, l’ottimo codice che hai proposto genera l’Indice ordinando i versi consequenzialmente i versi, e non alfabeticamente.
Posso chiedere se è possibile modificarlo per far sì che l’Indice presenti gli incipit alfabeticamente?
Ordinare alfabeticamente con TeX è poco efficiente.
`\makeatletter
\def\x@starttoc#1#2{%
\begingroup
\makeatletter
\@input{\jobname.#2}%
\if@filesw
\expandafter\newwrite\csname tf@#1\endcsname
\immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
\fi
\@nobreakfalse
\endgroup}
\newcommand{\listofverse}{%
\chapter{Lista dei capoversi}%
\x@starttoc{lov}{lvs}}
\newcommand{\l@verse}{\@dottedtocline{1}{\z@}{2.3em}}
\newcommand{\listverse}[1]{%
\@nameuse{phantomsection}%
\addcontentsline{lov}{verse}{#1}%
#1}
\makeatother`
Ogni compilazione del documento produce un file .lov che puoi ordinare alfabeticamente in un file .lvs; con una shell Unix è facile:
`sort < documento.lov > documento.lvs`
Quando esiste il file .lvs (List of Verse Sorted), viene letto.Ciao
Enrico
-
22 Giugno 2010 alle 5:02 #46400::
Grazie, il codice funziona benissimo.Ci sono due notizie: quella buona è che il codice è compatibile con ledmac, quella cattiva è che lo è solo parzialmente. Se l’incipit di un componimento non è “trattato” da ledmac tutto bene, se però nell’incipit ci sono note o commenti di ledmac, allora salta tutto.
Per capirci, in questo caso tutto bene:
`
\beginnumbering
\stanza
\listverse{Sdegnasi il tristo cor, talhor, s'adviene}&
che per celar \edtext{gli}{\Afootnote{l'}\Bfootnote{li}&
`in questo caso si blocca:
`
\beginnumbering
\stanza
\listverse{\edtext{Sdegnasi}{\Afootnote{Crucciasi}} il tristo cor, talhor, s'adviene}&
che per celar \edtext{gli}{\Afootnote{l'}\Bfootnote{li}&
`e anche così non funziona:
`
\beginnumbering
\stanza
\edtext{\listverse{Sdegnasi}}{\Afootnote{Crucciasi}} il tristo cor, talhor, s'adviene&
che per celar \edtext{gli}{\Afootnote{l'}\Bfootnote{li}&
`Per fortuna, nella mia tesi, accade in un numero molto limitato di casi (3-4 componimenti su una cinquantina) di avere l’incipit soggetto a note; ho risolto modificando a mano il file TESI.lvs: probabilmente non è ortodosso, ma funziona! 😉
Grazie ancora per l’enorme aiuto.
Matteo
-
22 Giugno 2010 alle 8:14 #46401::
Grazie, il codice funziona benissimo.
Ci sono due notizie: quella buona è che il codice è compatibile con ledmac, quella cattiva è che lo è solo parzialmente. Se l’incipit di un componimento non è “trattato” da ledmac tutto bene, se però nell’incipit ci sono note o commenti di ledmac, allora salta tutto.
Per capirci, in questo caso tutto bene:
`
\beginnumbering
\stanza
\listverse{Sdegnasi il tristo cor, talhor, s'adviene}&
che per celar \edtext{gli}{\Afootnote{l'}\Bfootnote{li}&
`in questo caso si blocca:
`
\beginnumbering
\stanza
\listverse{\edtext{Sdegnasi}{\Afootnote{Crucciasi}} il tristo cor, talhor, s'adviene}&
che per celar \edtext{gli}{\Afootnote{l'}\Bfootnote{li}&
`e anche così non funziona:
`
\beginnumbering
\stanza
\edtext{\listverse{Sdegnasi}}{\Afootnote{Crucciasi}} il tristo cor, talhor, s'adviene&
che per celar \edtext{gli}{\Afootnote{l'}\Bfootnote{li}&
`Per fortuna, nella mia tesi, accade in un numero molto limitato di casi (3-4 componimenti su una cinquantina) di avere l’incipit soggetto a note; ho risolto modificando a mano il file TESI.lvs: probabilmente non è ortodosso, ma funziona! 😉
Solito problema di argomenti mobili. Dovrebbe funzionare una cosa del genere:
`\newcommand{\listverse}{\@dblarg\@listverse}
\def\@listverse[#1]#2{%
\@nameuse{phantomsection}%
\addcontentsline{lov}{verse}{#1}%
#2}`
che deve sostituire la definizione precedente di \listverse. Nel tuo documento, per i versi che contengono roba speciale, scriverai
`\beginnumbering
\stanza
\listverse[Sdegnasi il tristo cor, talhor, s'adviene]
{\edtext{Sdegnasi}{\Afootnote{Crucciasi}} il tristo cor, talhor, s'adviene}&
che per celar \edtext{gli}{\Afootnote{l'}\Bfootnote{li}& `
cioè nell’argomento opzionale di \listverse metti il verso “piano”. Non credo abbia molto senso mettere gli apparati di note anche nell’indice.Ciao
Enrico
-
23 Giugno 2010 alle 16:34 #46402::
Grazie! Funziona tutto alla perfezione 😆Volendo riassumere i risultati dei consigli di Enrico:
1-Una Lista dei capoversi che elenchi gli incipit dei testi poetici presenti nel documento nell’ordine col quale compaiono nel testo (funzione analoga, quindi, ad una lista della figure) si ottiene con questo codice:
`
\documentclass[a4paper]{book}
\makeatletter
\newcommand{\listofverse}[1]{%
\chapter{Lista dei capoversi}%
\@starttoc{lov}}
\newcommand{\l@verse}{\@dottedtocline{1}{\z@}{2.3em}}
\newcommand{\listverse}[1]{%
\@nameuse{phantomsection}%
\addcontentsline{lov}{verse}{#1}%
#1}
\makeatother\begin{document}
\frontmatter
\listofverse\mainmatter
\chapter{Primo}
\begin{verse}
\listverse{Voi ch'ascoltate in rime sparse il suono} \\
di quei sospiri ond'io nudriva 'l core \\
…
\end{verse}\begin{verse}
\listverse{Verdi panni, sanguigni, oscuri o persi} \\
non vestì donna unquancho\\
…
\end{verse}
\end{document}
`2-Una Lista dei capoversi che elenchi gli incipit dei testi poetici presenti nel documento in ordine alfabetico e in presenza di ledmac che “lavora” su di un incipit si ottiene con questo codice:
`
\documentclass[a4paper]{book}
\makeatletter
\def\x@starttoc#1#2{%
\begingroup
\makeatletter
\@input{\jobname.#2}%
\if@filesw
\expandafter\newwrite\csname tf@#1\endcsname
\immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
\fi
\@nobreakfalse
\endgroup}
\newcommand{\listofverse}{%
\chapter{Lista dei capoversi}%
\x@starttoc{lov}{lvs}}
\newcommand{\l@verse}{\@dottedtocline{1}{\z@}{2.3em}}
\newcommand{\listverse}{\@dblarg\@listverse}
\def\@listverse[#1]#2{%
\@nameuse{phantomsection}%
\addcontentsline{lov}{verse}{#1}%
#2}
\makeatother\begin{document}
\frontmatter
\listofverse\mainmatter
\chapter{Primo}
\begin{verse}
\listverse[Voi ch'ascoltate in rime sparse il suono]{\edtext{Voi ch'ascoltate in rime sparse il suono}{\Afootnote{Verso memorabile}}} \\
di quei sospiri ond'io nudriva 'l core \\
…
\end{verse}\begin{verse}
\listverse[Verdi panni, sanguigni, oscuri o sparsi]{\edtext{Verdi panni, sanguigni, oscuri o persi}{Afootnote{Verso mancante nella prima stampa}}} \\
non vestì donna unquancho\\
…
\end{verse}
\end{document}
`Nel secondo caso, però, occorre ordinare alfabeticamente il file “documento.lov” (prodotta nella prima compilazione) in un file “documento.lvs” e ricompilare; per ordinare alfabeticamente, sotto Unix: sort < documento.lov > documento.lvs.
Ultima cosa: \listofverse può essere messo anche dopo \backmatter, per avere la Lista in fondo.
Grazie ancora ad Enrico per l’aiuto e la pazienza.
Matteo
-
19 Settembre 2019 alle 12:34 #46403::
Scusate se recupero questa vecchia discussione, ma il codice mi è certo molto utile e avrei bisogno di modificarlo per le mie necessità.Allora, rispetto a questo, mi occorre inserire nell’elenco di \listofverse oltre ai capoversi anche il titolo della singola poesia, ordinando poi l’elenco alfabeticamente. Inoltre, vorrei poi nell’elenco i capoversi in corsivo e i titoli in grassetto.
Non conosco la programmazione delle macro, anche se sto cercando di studiare.Ho visto come il pacchetto verse definisce il comando \poemtitle, ma non so come modificare il codice per aggiungere il titolo. In effetti, \listofverse ha un solo parametro, ma credo sia possibile fargli leggere il dato inserito in \poemtitle (come nell’esempio di codice qui sotto, dove il parametro a \poemtitle è stato già passato prima dell’assegnazione a \listverse):
`\renewcommand{\poemtoc}{subsection}
\poemtitle {Senza luna la quiete}
\settowidth{\versewidth}{intrecciate da pollini azzurri.}
\begin{verse}[\versewidth]
\listverse{Con tre frecce}
Con tre frecce\\
piantate nel petto,\\`
In definitiva, nell’elenco, oltre a “Con tre frecce” vorrei fosse inserito anche “Senza luna la quiete”, il primo in corsivo, il secondo in grassetto.
Qualcuno ha qualche idea su come modificare il comando \listofverse?
-
19 Settembre 2019 alle 12:53 #46404
-
19 Settembre 2019 alle 13:22 #46405::
D’accordo, scusa.
Se riesci a cancellarlo, ora apro una nuova discussione.
In effetti, pur partendo da una discussione già chiusa, credo si debba solo modificare il codice della macro lì descritto. Lo farei volentieri da solo, e ho anche fatto qualche tentativo (alla cieca, a dire il vero), ma non ho proprio “gli strumenti”…Scusa ancora.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.