- Questo topic ha 8 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 19 anni, 3 mesi fa da
DMW.
-
CreatoreTopic
-
3 Giugno 2007 alle 16:54 #14930::
Salve,Nella doc. di fancyhdr, sezione 10, ho letto che si può fare un indice analitico con le testatine stile dizionario, ma non ho capito come procedere.
ftp://tug.ctan.org/pub/tex-archive/info/italian/fancyhdr/itfancyhdr.pdf
Ciao
Andrea
-
CreatoreTopic
-
AutoreRisposte
-
-
3 Giugno 2007 alle 19:52 #14931::
Salve,
Nella doc. di fancyhdr, sezione 10, ho letto che si può fare un indice analitico con le testatine stile dizionario, ma non ho capito come procedere.
ftp://tug.ctan.org/pub/tex-archive/info/italian/fancyhdr/itfancyhdr.pdf
Devi, come spiegato là, annullare i comandi \chaptermark e \sectionmark, poi definire il comando per inserire l’elemento del “dizionario”; nel caso dell’indice analitico, devi ridefinire \item all’interno dell’ambiente theindex. Wow.
`\makeatletter
\let\@@theindex\theindex
\def\theindex{\@@theindex
\let\chaptermark\@gobble
\let\sectionmark\@gobble
\let\index@item\item
\def\item##1,{\markboth{##1}{##1}\index@item #1,}%
\fancyhead[LE]{\leftmark}%
\fancyhead[RO]{\rightmark}%
\fancyhead[RE,LO]{\thepage}%
}
\makeatother`
Così direi che dovrebbe funzionare. Aggiungi il codice che viene indicato da fancyhdr se ci sono problemi per via delle due colonne.Il file .idx ha righe della forma “\item pippo, 1, 2”, quindi ridefinisco \item con argomento delimitato dalla virgola (raddoppiando i caratteri #, perché siamo dentro una definizione). Occorre eseguire le ridefinizioni all’interno dell’ambiente “theindex”, perché è esso stesso che definisce il significato di \item che gli serve.
Ciao
Enrico
-
4 Giugno 2007 alle 9:05 #14932::
Salve,
Nella doc. di fancyhdr, sezione 10, ho letto che si può fare un indice analitico con le testatine stile dizionario, ma non ho capito come procedere.
ftp://tug.ctan.org/pub/tex-archive/info/italian/fancyhdr/itfancyhdr.pdf
Devi, come spiegato là, annullare i comandi \chaptermark e \sectionmark, poi definire il comando per inserire l’elemento del “dizionario”; nel caso dell’indice analitico, devi ridefinire \item all’interno dell’ambiente theindex. Wow.
`\makeatletter
\let\@@theindex\theindex
\def\theindex{\@@theindex
\let\chaptermark\@gobble
\let\sectionmark\@gobble
\let\index@item\item
\def\item##1,{\markboth{##1}{##1}\index@item #1,}%
\fancyhead[LE]{\leftmark}%
\fancyhead[RO]{\rightmark}%
\fancyhead[RE,LO]{\thepage}%
}
\makeatother`
Così direi che dovrebbe funzionare. Aggiungi il codice che viene indicato da fancyhdr se ci sono problemi per via delle due colonne.Il file .idx ha righe della forma “\item pippo, 1, 2”, quindi ridefinisco \item con argomento delimitato dalla virgola (raddoppiando i caratteri #, perché siamo dentro una definizione). Occorre eseguire le ridefinizioni all’interno dell’ambiente “theindex”, perché è esso stesso che definisce il significato di \item che gli serve.
Ciao
EnricoPer ora non posso provare perché su questo pc non c’è LaTeX, ma Word 👿 👿 👿
Non ho capito cosa vole dire annullare i comandi \chaptermark e \sectionmark.
Cioè devo scrivere così?
`
\usepackage{makeidx,fancyhdr,fixmarks}
\renewcommand{\chaptermark}{}
\renewcommand{\sectionmark}{}
\makeatletter
\let\@@theindex\theindex
\def\theindex{\@@theindex
\let\chaptermark\@gobble
\let\sectionmark\@gobble
\let\index@item\item
\def\item##1,{\markboth{##1}{##1}\index@item #1,}%
\fancyhead[LE]{\leftmark}%
\fancyhead[RO]{\rightmark}%
\fancyhead[RE,LO]{\thepage}%
}
\makeatother%e poi le testatine dei capitoli in cui ridefinisco \chaptermark e \sectionmark
\pagestyle{fancy}
….`oppure la struttura è diversa?
-
4 Giugno 2007 alle 9:22 #14933::
Non ho capito cosa vole dire annullare i comandi \chaptermark e \sectionmark.
Cioè devo scrivere così?
`
\usepackage{makeidx,fancyhdr,fixmarks}
\renewcommand{\chaptermark}{}
\renewcommand{\sectionmark}{}
\makeatletter
\let\@@theindex\theindex
\def\theindex{\@@theindex
\let\chaptermark\@gobble
\let\sectionmark\@gobble
\let\index@item\item
\def\item##1,{\markboth{##1}{##1}\index@item #1,}%
\fancyhead[LE]{\leftmark}%
\fancyhead[RO]{\rightmark}%
\fancyhead[RE,LO]{\thepage}%
}
\makeatother%e poi le testatine dei capitoli in cui ridefinisco \chaptermark e \sectionmark
\pagestyle{fancy}
….`oppure la struttura è diversa?
No, vanno annullati dove hai l’esigenza particolare. Infatti il codice che ti ho dato li annulla localmente:
`\let\chaptermark\@gobble`
rende \chaptermark un comando con un argomento che semplicemente lo butta via.Il comando \endtheindex, che viene eseguito alla fine dell’ambiente theindex, esegue un clearpage, quindi non dovrebbero esserci problemi con l’ultima pagina.
Ciao
Enrico
-
4 Giugno 2007 alle 10:48 #14934::
Non ho capito cosa vole dire annullare i comandi \chaptermark e \sectionmark.
Cioè devo scrivere così?
`
\usepackage{makeidx,fancyhdr,fixmarks}
\renewcommand{\chaptermark}{}
\renewcommand{\sectionmark}{}
\makeatletter
\let\@@theindex\theindex
\def\theindex{\@@theindex
\let\chaptermark\@gobble
\let\sectionmark\@gobble
\let\index@item\item%
\fancyhead[LE]{\leftmark}%
\fancyhead[RO]{\rightmark}%
\fancyhead[RE,LO]{\thepage}%
}
\makeatother%e poi le testatine dei capitoli in cui ridefinisco \chaptermark e \sectionmark
\pagestyle{fancy}
….`oppure la struttura è diversa?
No, vanno annullati dove hai l’esigenza particolare. Infatti il codice che ti ho dato li annulla localmente:
`\let\chaptermark\@gobble`
rende \chaptermark un comando con un argomento che semplicemente lo butta via.Il comando \endtheindex, che viene eseguito alla fine dell’ambiente theindex, esegue un clearpage, quindi non dovrebbero esserci problemi con l’ultima pagina.
Ciao
EnricoPer prima cosa sono un idiota perché non ho visto
` \let\chaptermark\@gobble`
visto che questo comando lo uso per non far comparire, in fase finale, i warning dei font:
`
\makeatletter
\let\@font@info\@gobble
\let\@font@warning\@gobble
\makeatother`Seconda cosa, c’è un errore di battitura, perché dovrebbe essere
`
\def\item##1,{\markboth{##1}{##1}\index@item ##1,} %e non #1
`Terzo, il file fixmarks.sty della guida fancyhdr non funge. Quello esatto è questo:
http://www.astro.unipd.it/cosmo/carlo/latex_personal/fixmarks.styoppure usare fix2col che è più recente e presente in tutte le distribuzioni.
Quarto, se nella pagina dispari inizia un nuovo \item, \markboth è come se non lo vedesse e di \item vede quello dopo.
Se vuoi ti mando, in privato, un esempio demenziale in pdfPer il resto va benissimo.
Ciao
Andrea
-
4 Giugno 2007 alle 11:49 #14935::
Per prima cosa sono un idiota perché non ho visto
` \let\chaptermark\@gobble`Dai, su! 🙂
Seconda cosa, c’è un errore di battitura, perché dovrebbe essere
`
\def\item##1,{\markboth{##1}{##1}\index@item ##1,} %e non #1
`Ovvio.
Quarto, se nella pagina dispari inizia un nuovo \item, \markboth è come se non lo vedesse e di \item vede quello dopo.
Se vuoi ti mando, in privato, un esempio demenziale in pdfFa’ pure.
Ciao
Enrico
-
5 Giugno 2007 alle 9:17 #14936::
Per prima cosa sono un idiota perché non ho visto
` \let\chaptermark\@gobble`Dai, su! 🙂
Professore!
Resto sempre mezzo idiota però ogni tanto qualcosa l’azzecco. 😀 😀 😀
Torniamo al problema:
La pagina dell’indice in esame è composta da:
`
\item segui, 15
\subitem nulla, 15
\subitem poco, 15
\item sole, 15
\subitem alto, 15
\subitem rovente, 15
\item…`Ora se uso
`
\def\item##1,{\markboth{##1}{##1}\index@item ##1,}`
nella testatina compare sole e non segui.
Se invece cambio la riga precedente in
`
\def\item##1,{\index@item ##1, \markboth{##1}{##1}}`Il problema non si presenta più e nella testatina c’è segui e non sole.
Ciao e grazie per l’aiuto.
Andrea
-
5 Giugno 2007 alle 21:03 #14937::
salve
è possibile unire a quanto detto sopra a quanto trattatalo qui?
http://www.guit.sssup.it/phpbb/viewtopic.php?t=1763&highlight=indicegrazie
trim
-
6 Giugno 2007 alle 8:11 #14938::
salve
è possibile unire a quanto detto sopra a quanto trattatalo qui?
http://www.guit.sssup.it/phpbb/viewtopic.php?t=1763&highlight=indicegrazie
trimPeccato. Purtroppo non va!
Ecco l’errore
`! Paragraph ended before \item was complete.
\par
l.6? `
forse si dovrebbe modificare il file ist:
`headings_flag 1
headings_prefix “\n \\item \\textbf{”
headings_suffix “}”
symhead_positive “Simboli”
symhead_negative “simboli”
numhead_positive “Numeri”
numhead_negative “numeri”
delim_0 “\\dotfill”
delim_1 “\\dotfill”
delim_2 “\\dotfill”
`Ma io non so come.
Ciao
Andrea.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.