- Questo topic ha 12 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 19 anni, 11 mesi fa da
cla_udio.
-
CreatoreTopic
-
13 Ottobre 2006 alle 14:57 #10770::
Salve ragazzi, se posso rompo ancora le scatole.
Per i miei capitoli ho utilizzato nel preambolo`
\renewcommand{\sectionmark}[1]{\markright{\bfseries \textup{\thesection\ #1}}}
`Come faccio a fare lo stesso per la Bibliografia?
Il “titolo” in alto a sinistra su ogni pagina mi appare tutto maiuscolo e in corsivo.
Lo vorrei minuscolo e in grassetto.
Speravo di modificare parametri del comando postato sopra, ma non sono riuscito a trovare quelli giusti. Ho provato con \thechapter, ma niente.
Vi ringrazio se potete aiutarmi
-
CreatoreTopic
-
AutoreRisposte
-
-
13 Ottobre 2006 alle 15:13 #10771::
Ciao, prova il seguente “scheletro”:
`\documentclass[a4paper,11pt,italian]{book}\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{}
\fancyhead[LE,RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\footnotesize\nouppercase{\rightmark}}
\fancyhead[RE]{\bfseries\footnotesize\nouppercase{\leftmark}}\begin{document}
…
\include{biblio}
\end{document}`
dove biblio.tex è del tipo:
`\addcontentsline{toc}{chapter}{Bibliografia}
\bibliographystyle{plain}
\bibliography{biblio}`L.
-
14 Ottobre 2006 alle 10:56 #10772
-
14 Ottobre 2006 alle 12:02 #10773::
è un report il cui codice TeX è stato modificato da me.
Credo di aver risolto analizzando semplicemente il codice del mio cls.Soluzione 1:
`\markright{\bfseries \textup{\bibname}}`Soluzione 2:
`
\makeatletter
\@mkboth{}{\bfseries\textup{\bibname}}
\makeatother
`entrambe dopo \begin{thebibliography}.
Corretto? Funziona.
Quello che stavo provando per questione di principio è:`
\renewcommand{\@mkboth}{\bfseries\textup{\bibname}}
`ma non va, mi dice “something’s wrong, perhaps missing \item” nel punto in cui inserisco un \bibitem.
-
14 Ottobre 2006 alle 12:03 #10774
-
14 Ottobre 2006 alle 12:03 #10775::
Eppure per cambiare il titolo in alto nei normali capitoli…
La cosa che ha fuorviato Lorenzo è che parli dei ‘titoli’ quando invece dovresti parlare di testatine, quelle che MS Word chiama ‘intestazioni’, cioè i due spazi all’inizio della pagina e alla fine, in cui tipicamente vengono riportati il punto del documento in cui ci si trova (capitolo, sezione) e la pagina.
Per poterti rispondere correttamente, però, avremmo necessità di sapere con quale classe di documento ti stai misurando, anche se credo sia un article o un report.
A presto.
-
14 Ottobre 2006 alle 12:50 #10776::
ma non va, mi dice “something’s wrong, perhaps missing \item” nel punto in cui inserisco un \bibitem.
Questo errore è causato dal non aver usato l’argomento obbligatorio dell’ambiente thebibliography
`\begin{thebibliography}{}`
dovesta per il numero delle citazioni bibliografiche. Di solito però si usa 9 se sono da una a nove, 99 se sono da dieci a novantanove, 999 se di più (oltre mille non ne ho mai viste, ma si può usare 9999, eccetera). Se le citazioni non sono numerate ma indicate con sigle (cioè si usa \bibitem[XYZ]{…}…), l’argomento deve contenere la sigla più ampia, così che LaTeX possa allineare correttamente. Ciao
Enrico
-
14 Ottobre 2006 alle 13:03 #10777
-
14 Ottobre 2006 alle 13:52 #10778::
`
\begin{thebibliography}{70}
`senza nulla togliere alla mia ignoranza…È un errore che si commette spesso, per questo te l’ho segnalato. Direi che l’idea di modificare la definizione del comando \@mkboth non è molto buona. Pessima, oserei dire: è un comando interno di LaTeX che richiede due argomenti. Ridefinirlo senza criterio è come dare \renewcommand{\box}{…}. ❗
Quello che non capisco è perché non vuoi usare il codice di Lorenzo che funziona perfettamente. Il pacchetto fancyhdr è fatto proprio per facilitare la modifica delle testatine. Agire manualmente su \markboth, \sectionmark e \chaptermark è poco consigliabile.
Ciao
Enrico
-
15 Ottobre 2006 alle 9:36 #10779::
io accetto qualiasi vostro saggio consiglio, altrimenti non sarei qui.
Solamente mi sembra, come si suol dire, di uccidere una mosca con un cannone. Non è più semplice mettere “a mano” la definizione del markright? Non credo succeda nulla di cattivo… O più semplicemente potrei togliere il MakeUpperCase nel mio .cls.
Non penso sia nulla di “profano”, o sbaglio?
Grazie ancora
-
15 Ottobre 2006 alle 10:02 #10780::
io accetto qualiasi vostro saggio consiglio, altrimenti non sarei qui.
Solamente mi sembra, come si suol dire, di uccidere una mosca con un cannone. Non è più semplice mettere “a mano” la definizione del markright? Non credo succeda nulla di cattivo… O più semplicemente potrei togliere il MakeUpperCase nel mio .cls.
Non penso sia nulla di “profano”, o sbaglio?Sbagli. In generale, modificare a mano il file che definisce la documentclass è -in linea di principio- sempre sbaglato. Le modifiche vanno fatte al livello più alto possibile. Altrimenti, si rischiano “effetti collaterali” difficili da individuare e da correggere, e problematici da gestire. Nel tuo caso, il pacchetto fancyhdr è stato pensato appositamente, usa quello.
Ciao,
L.
-
15 Ottobre 2006 alle 10:52 #10781::
io accetto qualiasi vostro saggio consiglio, altrimenti non sarei qui.
Solamente mi sembra, come si suol dire, di uccidere una mosca con un cannone. Non è più semplice mettere “a mano” la definizione del markright? Non credo succeda nulla di cattivo… O più semplicemente potrei togliere il MakeUpperCase nel mio .cls.
Non penso sia nulla di “profano”, o sbaglio?Il cannone è crearsi una classe per fare una cosa che altri hanno già risolto in modo elegante. Abbi pazienza, non puoi modificare la definizione di \markright senza aver studiato a fondo il suo uso all’interno delle classi standard. \markright ha come argomento una lista di token, che poi viene usata dalla serie di comandi primitivi \mark, \topmark, \botmark, \firstmark. E ci sono sottili problemi che riguardano l’espansione dei comandi. Mettere o togliere un \MakeUppercase non è innocuo.
Il problema del “mettere a mano” si scontra con parecchi problemi. Le classi standard di LaTeX sono state concepite più come scheletro su cui costruirne altre che come schemi generali con cui si possa fare tutto ciò che si desidera. Se vuoi modificarne il comportamento hai due scelte: costruirti una classe personalizzata o seguire la schiera degli utenti.
Se ti trovi a un bivio e devi scegliere fra una stradina di montagna che richiede guida impegnativa e ti porta a destinazione in dieci minuti e un’autostrada non molto trafficata che però richiede mezz’ora, quale prendi? Io dico che prendi l’autostrada, anche perché sulla stradina di montagna non si sa mai quello che si trova. Sarà più divertente guidare con le curve, ma non se devi arrivare a destinazione in tempi certi.
Ciao
Enrico
-
17 Ottobre 2006 alle 9:05 #10782::
grazie ancora.
Non dico che sia un genio di programmazione, ma un po’ la mastico.
Cosa dovrebbe cambiare nel cls se al posto del \MakeUpperCase metto solo \textup? Cambiano gli spazi che riserva alla pagina? TESTO e Testo io credo accupino la stessa spazio… boh forse mi sbaglio.
Comunque è proprio per evitare di agire a basso livello che volevo fare un renewcoomand del markright.
Vi ringrazio per la disponibilità
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.