- Questo topic ha 18 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 8 anni, 8 mesi fa da
OldClaudio.
-
CreatoreTopic
-
15 Dicembre 2017 alle 12:18 #112111::
Salve a tutti. Stavolta non ho un mwe, perché non saprei come farlo. Io vorrei inserire nel mio documento in ogni pagina quella sorta di linguette o bandiere che segnalano un capitolo. Penso ai vocabolari, dove alla lettera A c’è una linguetta colorata ad una certa altezza, alla lettera B, una immediatamente sotto, ecc. Come si può fare in latex? Sinceramente, non so neppure come si chiamino tali oggetti tipografici.Grazie. Ciao,
davide
-
CreatoreTopic
-
AutoreRisposte
-
-
15 Dicembre 2017 alle 17:56 #112112::
E descritto nella documentazione di fancyhdr.
Magari devi metterci un po’ del tuo, per ottenere le unghie a distanze progressivamante crescenti dal margine superiore al crescere del numero del capitolo, ma non è difficile.Perché fancyhdr? Semplicemente perché queste unghie devono avere un punto fisso di riferimento rispetto a cui posizionarsi; quindi il campo destro della testatina delle pagine dispari, e il campo sinistro delle testatine delle pagine pari sono punti ottimi e fissi nella pagina. nota che le unghie sono i tipici oggetti di dimensioni nulle agli occhi di LaTeX, che contengono del materiale fuori della scatola che li “contiene”. Non è una sorpresa che queste cose si possano fare facilissimamente con le funzionalità dell’ambiente picture.
Ma con le funzionalità di fancyhdr devi solo definire uno stile di pagina per la prima pagina die capitoli (che potrebbe consistere nella ridefinizione delllo stile plain), mentre devi ridefinire lo stile headings per inserire l’oggetto “unghia”.
Molto più semplice farlo che dirlo.
-
16 Dicembre 2017 alle 10:13 #112113::
Anzitutto, grazie. Però non capisco come fare. Devo creare una picture per mio conto? Se sì, a quale dimensioni e con quale formato.Ho trovato anche il pacchetto thumbs. Il problema è che non riesco ad aggiustare il font:
`
\documentclass{book}
% load TikZ to draw the boxes
\usepackage{tikz}
\usetikzlibrary{calc}% use scrpage2 or whatever you want to add
% the boxes to the header to make them appear
% on every page
\usepackage{scrpage2}
\pagestyle{scrheadings}% new counter to hold the current number of the
% letter to determine the vertical position
\newcounter{letternum}
% newcounter to set the number of thumbs fitting vertical
% and setting the height of a boxes
\newcounter{letterdiv}
\setcounter{letterdiv}{4}
% some margin settings
\newlength{\thumbtopmargin}
\setlength{\thumbtopmargin}{2cm}
\newlength{\thumbbottommargin}
\setlength{\thumbbottommargin}{2cm}
% calculate the box height by dividing the page height
\newlength{\thumbheight}
\pgfmathsetlength{\thumbheight}{%
(\paperheight-\thumbtopmargin-\thumbbottommargin)%
/%
\value{letterdiv}
}
% box width
\newlength{\thumbwidth}
\setlength{\thumbwidth}{1cm}
% style the boxes
\tikzset{
thumb/.style={
fill=black!50!red,
text=white,
minimum height=\thumbheight,
text width=\thumbwidth,
outer sep=0pt,
font=\sffamily\bfseries\Huge,
inner xsep=1.5em,
}
}
% create two new commands to make the thumbs
% that makes it easy to use them im different header elements,
% like in the plain and normal page style etc.
\newcommand{\evenpageletterthumb}[1]{%
% see pgfmanual.pdf for more information about this part
\begin{tikzpicture}[remember picture, overlay]
\node [thumb,align=left,anchor=north west,] at ($%
(current page.north west)-%
(0,{\thumbtopmargin+(\value{letternum}-1)*\thumbheight})%
$) {#1};
\end{tikzpicture}
}
\newcommand{\oddpageletterthumb}[1]{%
\begin{tikzpicture}[remember picture, overlay]
\node [thumb,align=right,anchor=north east,] at ($%
(current page.north east)-%
(0,{\thumbtopmargin+(\value{letternum}-1)*\thumbheight})%
$) {#1};
\end{tikzpicture}
}
% create a new command to set a new lettergroup
\newcommand{\lettergroup}[1]{%
% but I recommend to start a new page
\clearpage
% set a title (optional)
{\Huge\bfseries\sffamily #1}\par\bigskip
% check if we reached the last vertical position and reset it
\ifnum\value{letternum}=\value{letterdiv}\relax
\setcounter{letternum}{0}%
\fi
% check if we reached the last vertical position and reset it
\ifnum\value{letternum}=\value{letterdiv}\relax
\setcounter{letternum}{0}%
\fi
\stepcounter{letternum}%
% use one head or foot element to put in the box
% it doesn't matter which you use since the box
% is positioned on the page absolutely
\lohead[\oddpageletterthumb{#1}]{\oddpageletterthumb{#1}}%
\lehead[\evenpageletterthumb{#1}]{\evenpageletterthumb{#1}}%
}% for some blindtext
\usepackage{lipsum}\begin{document}
% usage: \lettergroup{
}
% e.g.
\lettergroup{A}
% your text
\lipsum[1]\lettergroup{B}
\lipsum[1]\lettergroup{C}
\lipsum[1]\lettergroup{D}
\lipsum[1]\lettergroup{E}
\lipsum[1]\lettergroup{F}
\lipsum[1]\lettergroup{G}
\lipsum[1]
\end{document}
`Il font, come al solito,è il simoncini, la cui famiglia è pig. Ma non funziona.
Uso già fancyhdr per altro, ma non riesco a capire come funziona. Il manuale non è molto prolisso…
Grazie. Ciao,
davide
-
16 Dicembre 2017 alle 10:45 #112114::
Allora, in questo modo funziona, ma vorrei che le linguette iniziassero all’altezza del filetto tutte allo stesso modo e poter ridurre le dimensioni delle stesse:`
\documentclass[12pt]{amsbook}
\usepackage{latexsym,amssymb}
\usepackage[italian]{babel}
\usepackage[T1]{fontenc}
\usepackage{xcolor,colortbl}
\usepackage{tabulary}
\usepackage{footnote}
\usepackage{pgfplots}
\pgfplotsset{width=10cm, compat=1.9}
\usepackage{tikz}
\usepackage{ctable}
\usepackage{color}
\usepackage{thumbs}
\usepackage{lipsum}\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}
\fancyfoot[CE,CO]{\normalsize{\thepage}}
\fancyhead[CE]{\footnotesize{\sc Testo}}
\fancyhead[CO]{\footnotesize{\sc davide bondoni}}
\renewcommand{\headrulewidth}{0.2pt}\makesavenoteenv{tabular}
\makesavenoteenv{table}\definecolor{Gray}{gray}{0.8}
\newcommand\blfootnote[1]{%
\begingroup
\renewcommand\thefootnote{}\footnote{#1}%
\addtocounter{footnote}{-1}%
\endgroup
}\pagenumbering{arabic}
\title{Titolo}
\author{davide bondoni}\begin{document}
\maketitle\chapter{Capitolo 1}
\addthumb{First chapter}{\space\Huge{\textbf{1}}}{white}{Gray}
\lipsum[1-40]\chapter{Capitolo 2}
\addthumb{Second chapter}{\space\Huge{\textbf{2}}}{white}{Gray}
\lipsum[41-60]\chapter*{Appendice}
\addthumb{Second chapter}{\space\Huge{\textbf{A}}}{white}{Gray}
\lipsum[61-80]\begin{thebibliography}{99}
\addthumb{Bibliografia}{\space\Huge{\textbf{B}}}{white}{Gray}
\bibitem{weber1}
Heinrich Weber, \emph{Leopold Kronecker}. Jahresbericht der Deutschen Mathematiker-Vereinigung. \textbf{2} (1893), 5–31.
\bibitem{weber2}
Heinrich Weber, \emph{Leopold Kronecker}. Mathematische Annalen. \textbf{43} (1893), 1–25.
\bibitem{chicago}
\emph{The Chicago Manual of Style}. 14th edition. University of Chicago Press, Chicago, 1993.
\bibitem{gratzer}
George Gr\”atzer, \emph{Math into \LaTeX}. 3rd edition. Birkh\”auser, Boston, 2004.
\bibitem{wusst}
Rainer W\”usst, \emph{Mathematiker f\”ur Physiker und Mathematiker}. Dritte Auflage. Band 1: Reelle Analysis und Lineare Algebra. WILEY-VCH Verlag GmbH \& Co. KgaA, Berlin, 2009.
\bibitem{lehman}
Philipp Lehman, \emph{The Font Installation Guide. Using Postscripts fonts to their full potential with Latex}. Revision 2.14, December 2004. Scaricabile presso il CTAN archive, all'url \texttt{http://ctan.mirror.garr.it/\-mirrors/CTAN/\-info/Type1fonts/\-fontinstallationguide/\-fontinstallationguide.pdf.}
%\bibitem{binswanger}
%Ludwig Binswanger, \emph{Sulla fuga delle idee}. Giulio Einaudi editore s.p.a., Torino, 2003.
\bibitem{christian}
Christian Feuers\”anger, \emph{Manual for Package PGFPLOTS}. Revision 1.14, 2016/08/10. Scaricabile presso il CTAN archive all'url \texttt{http://ctan.mirror.garr.it/\-mirrors/CTAN/\-graphics/\-pgf/\-contrib/\-pgfplots/\-doc/\-pgfplots.pdf.}
\bibitem{wusst2}
Rainer W\”usst, \emph{Mathematiker f\”ur Physiker und Mathematiker}. Dritte Auflage. Band 2: Analysis in Mehrdimensionalen und Einf\”uhrungen in Spezialgebiet. WILEY-VCH Verlag GmbH \& Co. KgaA, Berlin, 2009.
\bibitem{dirac}
P.A.M. Dirac, \emph{The Principles of Quantum Mechanics}. Fourth edition. Oxford University Press, Oxford, 1958.
\end{thebibliography}
\newpage\addthumb{Indice}{\space\Huge{\textbf{I}}}{white}{Gray}
\tableofcontents{}
\addthumb{Indice}{\space\Huge{\textbf{I}}}{white}{Gray}\end{document}
Ciao. Grazie,
davide
`
-
16 Dicembre 2017 alle 13:37 #112115
-
16 Dicembre 2017 alle 15:16 #112116::
L’esempio di codice che l’autore ha inserito nella figura 5 della documentazione di fancyhdr risolve il problema che egli stesso ha descritto nella paigna precedente, o meglio i due problemi: uno era quello dell’indice con le unghie poste nel marigne destro e allineate con la riga dell’indice, e l’altro era quello di mettere i blob neri sia nelle pagine di destra sia in quelle di sinistra a distanze distinte e progressive dalla linea di base dell’header.Non è esattamente il tuo problema ma contiene quasi tutte le cose che ti servono; tu le devi interpretare ed adattare al tuo caso.
In un dizionario io ho usato quel metodo definendo un comando \unghia che conteneva il blocco nero su cui era scritto (dinamicamente) in colore bianco la lettera iniziale delle parole elencate in quella pagina del dizionario. Ho seguito quasi alla lettera quanto c’è nella figura 5 di quella documentazione ed ho ottenuto il risultato desiderato al primo colpo; be’ ho dovuto poi aggiustare un poco le distanze, ma insomma venivano el unghie come desiderato; nell’header avevo messo un \ifunghia, \unghia \fi in modo che giocando sul valore della variabile booleana unghia potevo decidere quando cominciare le unghie e quando smettere; è chiaro che per un dizionario le unghie erano importanti solo per gli elenchi alfabetici dei lemmi, mentre non avevano nessun ruolo nella altre parti del dizionario.Ora è chiaro che nelle documentazioni non trovi la soluzione al tuo problema, ma trovi dei metodi per risolvere il tuo problema personale.
-
16 Dicembre 2017 alle 16:13 #112117
-
16 Dicembre 2017 alle 21:51 #112118
-
17 Dicembre 2017 alle 13:40 #112119::
Mi sono letto qualcosa. Ma non ci capisco niente. Con amsart il codice della figura 5 non funziona. Devo eliminare`
%\fancyhead[LO]{{\leftmark}
`Altrimenti, non si compila.
Infine, non riesco a colorare i blob e rimane una fascia nera lungo tutta la pagina che non vorrei.
Questo è il mio unico codice funzionante (che a me non piace):
`
\documentclass{article}
\usepackage{fancyhdr}
\usepackage{extramarks}
\usepackage{lipsum}
\usepackage{xcolor}%\pagestyle{fancy}
\setlength{\unitlength}{18mm}
\newcommand{\blob}{\rule[-.2\unitlength]{2\unitlength}{.5\unitlength}}
\newcommand\rblob{\thepage
\begin{picture}(0,0)
\put(1,-\value{section}){\blob}
\end{picture}}
\newcommand\lblob{%
\begin{picture}(0,0)
\put(-3,-\value{section}){\blob}
\end{picture}%
\thepage}
\pagestyle{fancy}
\cfoot{}
\newcounter{line}
\newcommand{\secname}[1]{\addtocounter{line}{1}%
\put(1,-\value{line}){\blob}
\put(-7.5,-\value{line}){\Large \arabic{line}}
\put(-7,-\value{line}){\Large #1}}
\newcommand{\overview}{\thepage
\begin{picture}(0,0)
\secname{Introduction}
\secname{The first year}
\secname{Specialisation}
\end{picture}}\begin{document}
\fancyhead[R]{\overview}\mbox{}\newpage % This produces the overview page
\fancyhead[R]{} % Front matter may follow here
\clearpage
\fancyhead[RE]{\rightmark}
\fancyhead[RO]{\rblob}
\fancyhead[LE]{\lblob}
%\fancyhead[LO]{{\leftmark}\section{Introduction}
\lipsum[1-40]
\section{The first year}
\lipsum[41-60]
\section{Specialisation}
\lipsum[61-80]
\end{document}`
Grazie. Ciao,
davide
-
17 Dicembre 2017 alle 15:28 #112120::
Bè certo, hai copiato il codice della documentazione di fancyhdr e replichi esattamante quello che l’autore di fancyhdr voleva fare.
Se vuoi fare qualcosa di diverso devi capire il codice e modificarlo; ma essenzialmente devi capire come funziona l’ambiente picture. Per esempio, dove l’autore definisce il blob nero\code]\newcommand{\blob}{\rule[-.2\unitlength]{2\unitlength}{.5\unitlength}}[/code]puoi cambiare in`\newcommand{\blob}{\color{blue}{\rule[-.2\unitlength]{2\unitlength}{.5\unitlength}}}
`Dove imposta il nuovo contatore line e lo definisce con qualcosa legato al numero della sezione (che in una classe article è il comando di sezionamento più alto, se usi la classe book, puoi legarlo al numero progressivo del capitolo.Evia di questo passo.
Ma che cosa vuoi dire che “rimane una fascia nera lungo tutta la pagina che non vorrei”. Io ho provato il tuo codice e non vedo nessuna fascia nera lungo tutta la paigna.
-
18 Dicembre 2017 alle 11:57 #112121
-
18 Dicembre 2017 alle 22:54 #112122::
Per far funzionare le unghie, qualunque metodo tu usi, dovresti modificare alcune macro di amsart.Ora l’American Mathematical Society ha predisposto le sue classi amsart, amsbook, eccetera per i lavori da pubblicare sulle sue pubblicazioni; ovvimanate nel layout del testo composto con quelle classi ci sono di default un certo numero di cose che riguarano l’Ametican Mathematical Society.
Tu stai predisponendo un documento da pubblicare presso l’AMS? Credo di no; quindi quella classe non ti serve perché contiene cose che non ti interessano assolutamente.
Ti piace il layout di quegli articoli? bene, rifà il layout partendo da article e usando geometry; usa fancyhdr per testatine e piedini, usa i colori che vuoi, le unghie, i fleurons (decorazioni floreali per i libri specialmente dell’Ottocento). Insomma creati una cosa adatta a te; i pacchetti epr fare quelle cose ci sono e non hai bisogno di scendere al livello della sintassi nativa di TeX, come invece è stato fatto con amsart, che risulta difficilissimo da leggere per una persona che non conosca le differenze fra \def, \edef, \gdef. \xdef o fra \noexpand, \expandafter, \aftergroup, e simili.
Ma in ogni caso non pretendere di usare pacchi altrui per confezionare una cosa personale, molto personale. Nessun pacchetto esiste per farlo (altrimenti non sarebbe personale) ma ci sono un mucchio di strumenti per farlo; ovviamente bisogna saper usare questi strumenti, quindi documentazione, documentazione e ancora documentazione e un mucchio di tempo, le prime volte, per imparare anche dai propri sbagli.
Ovvimante devi avere un progetto in testa ben chiaro. non puoi improvvisare, ma devi conoscere anche i limiti di un programma batch come sono tutti i programmi di compilazione/composizione del sistema TeX.
Non ti scoraggiare, ma ricordati che devi avere tempo per esercitarti e imparare, non puoi risolvere al tua personalizzazione in una mezz’oretta, con quattro dritte ricavate dal forum.
Coraggio e buon lavoro
-
19 Dicembre 2017 alle 6:27 #112123::
Anzitutto, grazie. Sì. Mi è capitato di dover far apparire un article come fosse un amsart. Sì può fare senza sforzo. Il fatto è che non capisco il codice. Spesse volte i documenti dei pacchetti sono criptici come le pagine man di Unix. Sì può imparare Unix a partire da queste pagine? Io credo di no. Infatti, prima ho studiato Unix con dei libri appropriati e poi adesso capisco anche le pagine man. Sarebbe come studiare analisi a partire da un’enciclopedia.Io ho trovato la documentazione di thumb più chiara. Comunque, ci riproverò.
Grazie del tuo supporto.
Ciao,
davide
-
2 Gennaio 2018 alle 9:16 #112124
-
3 Gennaio 2018 alle 12:19 #112125::
C’è poco da spiegare, perché tutto il codice è basato su linguaggio LaTeX spegato sia nella guda originale di Lamport, sia nella traduzione commentata che compare fra le guide tematiche.Il comando \blob è definito tramite l’uso del comando \rule che crea un rettangolo, nella fattispecie nero, ma ptresti specificare un colore diverso.
I comandi \rblob e \lblob serono per scrivere il numero della pagina a destra (r: right) o a sinistra (l: left) con il relativo blob messo in poaisizione tramite il comando \put dell’ambiente picture, standfard di LaTeX. Il fatto chele dimensioni della figure (picture) siano specificate in 0,0 serve per far credere che la figura abbia dimensioni nulle
Il \newcounter line serve per contenere il numero della “riga” corrispondente alla linea della pagina dove si vuole mettere l’unghia.
Il successivo comando \secname serve er diversi scopi; serve per produrre una voce nel “sommario esemplificato e descritto nella pagina precedente della documentazione di fancyhdr e serve per incrementare il valore del contatore line in modo che ad ogni voce di sezione il rettangolo nero appaia nella posizione voluta, cioè allineato con la prima (o unica) riga della voce.
Il comando \overview è il comando con cui l’autore di fancyhdr crea il suo sommario.
Suppongo che a te non serva assolutamente né \overview, né \secdef, ma tutto il resto ti può servire adattato alle tue necessità.
Ovviamente invece di un blob rettangolare puoi definire una forma diversa tramite i potenti comandi dell’estensione pict2e all’ambiente picture (standard di LaTeX); su un blob scuro puoi scrivere qualcosa in bianco. O, viceversa, su u blob chiaro o formato solo dal suo contorno, puoi scrivere qualcosa in un colore scuro.
Insomma, hai solo l’imbarazzo della scelta e il piacere di sbizzarrirti con la tua conoscenza di LaTeX per ottenere gli effetti speciali che vuoi ottenere. Ovviamente, per sbizzarrirti con cose non preconfezionate, devi usare la testa e la tua abilità creativa.
Forse ho letto male i tuoi messaggi, ma a parte il fatto che vuoi imitare le unghie presenti nei dizionari, non hai detto se vuoi scrivere qualcosa, se vuoi una forma diversa dal rettangolo, se la posizione dell’unghia deve variare al variare del numero di capitolo o si paragrafo, o di sottoparagrafo, o semplicemente di parte; non hi specificato se ti bast che sul taglio esterna della pagina ti basta vedere solo il taglio un po’ più grigio, oppure se conti di incidere le pagine come nei dizionari o nei messali.
In sostanza, se qualcuno volesse fornirti una possibile soluzione al tuo problema, non saprebbe cosa proporti.
Personalmente io no ti proporrei niente, perché ritengo che al livello del linguaggio standard di LaTeX nessuno dovrebbe farlo (forse sbaglio, ma questo è quello che penso); la soluzione potrebbe essere lecita se fosse necessario ricorrere a comandi NON facenti parte del linguaggio standard, oppure se fosse necessario ricorrere al linguaggio nativo di TeX (e quindi se fosse necessaria una buona conoscenza del TeXbook) oppure se fosse necessario ricorrere al linguaggio Lua.Non hai mai usato l’ambiente picture? Questa è la buona occasione per cominciare, ma devi per forza studiare quella decina di pagine che compaiono nella guida di Lamport o nella guida tematica che ti ho indicato;e devi impratichirti con qualche esercizio prima di sentirti padrone di picture; d’altra parte picture è enormemente più semplice da usare rispetto a tikzpicture, e giochetti come questo delle unghie con picture si fanno molto semplicemente, come d’altra parte, in un contesto diverso, l’esempio di fancyhdr dimostra chiaramente.
-
4 Gennaio 2018 alle 14:32 #112126::
Ti ringrazio degli aiuti, ma non riesco a combinare niente. Ho cambiato le dimensioni dei blob quasi a caso. Il colore sono riuscito a cambiarlo, ma poi non sono in grado di scrivere dentro il blob usando il comando \put(,){}. Fra l’altro, non mi compare neppure l’indice come nel testo. Questo è quello che ho combinato:`
\documentclass{amsbook}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{color}\definecolor{Gray}{gray}{0.8}
\definecolor{dunkelblau}{rgb}{0, 0, .7}\setlength{\unitlength}{18mm}
\newcommand{\blob}{\rule[-.2\unitlength]{2\unitlength}{1.2\unitlength}}\newcommand\rblob{\thepage
\begin{picture}(0,0)
\color{Gray}
\put(1,-\value{section}){\blob}
\end{picture}}\newcommand\lblob{%
\begin{picture}(0,0)
\color{Gray}
\put(-3,-\value{section}){\blob}
\end{picture}%
\thepage}\pagestyle{fancy}
\cfoot{}\newcounter{line}
\newcommand{\secname}[1]{\addtocounter{line}{1}%
\put(1,-\value{line}){\blob}
\put(-7.5,-\value{line}){\Large \arabic{line}}
\put(-7,-\value{line}){\Large #1}}\newcommand{\overview}{\thepage
\begin{picture}(0,0)
\secname{Introduction}
\secname{The first year}
\secname{Specialisation}
\end{picture}}\begin{document}
\fancyhead[R]{\overview}\mbox{}\newpage % This produces the overview page
\fancyhead[R]{} % Front matter may follow here
\clearpage
\fancyhead[RE]{\rightmark}
\fancyhead[RO]{\rblob}
\fancyhead[LE]{\lblob}
\fancyhead[LO]{\leftmark}\section{Introduction}
\lipsum[1-20]\section{The first year}
\lipsum[21-40]\section{Specialization}
\lipsum[41-60]\end{document}
`
Grazie. Ciao,
davide
-
6 Gennaio 2018 alle 11:14 #112127::
Mi domandavo come mai tu non riuscissi a far apparire l’overview né il testo sovrapposto al blob.Ho esaminato il tuo codice e ho scoperto che non hai capito il significato dei paramentri x e y nell’argomento fra parentesi del comando \put; nel tuo overview sono con il segno sbagliato; Se x e y sono positive, esse rappresentano i displacement orizzontale e verticale dove \put mette il contenuto della parentesi graffa rispetto al punti inferiore sinistro della scatola dentro la quale \put è contenuto; ovviamente se questi valori sono positivi i displacement sono verso destra e verso l’alto; al contrario se sono negativi.
Detto questo ho giocherellato con il tuo file he ho corretto i displacement ma ho anche aggiunto i numeri dele sezioni sui blob nelle pagine interne e ho corretto le dimensioni del blob originale che erano troppo grandi. Questo è il codice che ho ottenuto; studiatelo e cerca di capire perché ho fatto quello che ho fatto.`% !TEX encoding = UTF-8 Unicode
% !TEX TS-program = pdflatex
\documentclass{amsbook}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{color}\definecolor{Gray}{gray}{0.8}
\definecolor{dunkelblau}{rgb}{0, 0, .7}\setlength{\unitlength}{18mm}
\newcommand{\blob}{\put(0,0){\color{Gray}\rule[-.2\unitlength]{2\unitlength}{0.8\unitlength}}}\newcommand\rblob{\thepage
\begin{picture}(0,0)
\put(1,-\value{section}){\blob
\put(0.25,0.2){\makebox(0,0)[l]{\color{dunkelblau}{\huge\thesection}}}}
\end{picture}}\newcommand\lblob{%
\begin{picture}(0,0)
\put(-3,-\value{section}){\blob
\put(1.75,0.2){\makebox(0,0)[r]{\color{dunkelblau}{\huge\thesection}}}}
\end{picture}%
\thepage}\pagestyle{fancy}
\cfoot{}\newcounter{line}
\newcommand{\secname}[1]{\addtocounter{line}{1}%
\put(7.75,-\value{line}){\blob}
\put(0.5,-\value{line}){\Large \arabic{line}}
\put(1,-\value{line}){\Large #1}}\newcommand{\overview}{%\thepage
\begin{picture}(0,0)
\secname{Introduction}
\secname{The first year}
\secname{Specialisation}
\end{picture}}\begin{document}
%\fancyhead[R]{\overview}\mbox{}\newpage % This produces the overview page
%\fancyhead[R]{} % Front matter may follow here
\fancyhead{}
\overview\clearpage
\fancyhead[RE]{\rightmark}
\fancyhead[RO]{\rblob}
\fancyhead[LE]{\lblob}
\fancyhead[LO]{\leftmark}\section{Introduction}
\lipsum[1-20]\section{The first year}
\lipsum[21-40]\section{Specialization}
\lipsum[41-60]\end{document}`
-
13 Gennaio 2018 alle 9:40 #112128::
Anzitutto, grazie. Il codice è al di là delle mie possibilità. Io ho capito questo: con`
\newcommand{\blob}{\put(0,0){\color{Gray}\rule[-.2\unitlength]{2\unitlength}{0.8\unitlength}}}
`crei un nuovo comando (\blob) con il quale alle coordinate 0,0 con l’aiuto di rule inserisci un rettangolo di colore grigio.
Poi,
`
\newcommand\rblob{\thepage
\begin{picture}(0,0)
\put(1,-\value{section}){\blob
\put(0.25,0.2){\makebox(0,0)[l]{\color{dunkelblau}{\huge\thesection}}}}
\end{picture}}
`crea il comando \rblob (blob destro) in cui alle coordinate 1, -\value{section} inserisci il blob creato in precedenza, in cui scrivi in huge il numero della sezione con il colore dunkelbrau. Lo stesso fai per il blob sinistro. La parte
`
\newcounter{line}
\newcommand{\secname}[1]{\addtocounter{line}{1}%
\put(7.75,-\value{line}){\blob}
\put(0.5,-\value{line}){\Large \arabic{line}}
\put(1,-\value{line}){\Large #1}}
`mi è oscura. Sembra collocare in certi punti i blob, ma questo mi sembrava fosse già stato fatto. Infine,
`
\newcommand{\overview}{%\thepage
\begin{picture}(0,0)
\secname{Introduction}
\secname{The first year}
\secname{Specialisation}
\end{picture}}
`crea i tre blob introduttivi corrispondenti alle tre sezioni.
Tuttavia, non ho capito molto. Il comando \put richiede una coordinata e un oggetto da inserire in quel punto. Per esempio, \put(x,y){\circle{4}}. Il tutto all’interno dell’ambiente picture che nel comando che definisce “blob” è assente. \rule disegna in punto un rettangolo. Precisamente, \rule[offset]{larghezza}{altezza}. Nel caso specifico, \rule[-.2\unitlength]{2\unitlength}{0.8\unitlength}, dove i numeri vengono moltiplicati per un’unità di misura definita all’inizio del testo:
`
\setlength{\unitlength}{18mm}
`Allora, che capisca la sintassi dei vari comandi è una cosa, che abbia capito il funzionamento del tutto è un’altra. Perché \put non è all’interno di picture?
Ho bisogno di ancora tempo.
Grazie. Ciao,
davide
-
13 Gennaio 2018 alle 11:26 #112129::
Il \put del blob va a finire sempre dentro picture, perché \blob viene usato dentro \rblob e \lblob che usano picture.Lo stesso vale per i \put che compaiono dentro \secname, perché questo appare dentro \overview, Se usi \blob da solo senza picture probabilmente non funziona; se usi \secname fuori da \overview probabilmente non funziona. Nel senso che magari mette in posizione qualcosa, ma chissà dove; senza la tela generata da picture, i suoi comandi specifici potrebbero ancora fare qualcosa ma non hanno nessun riferimento per le coordinate.
Mi sembra che la cosa sia spiegata abbastanza bene nella guida Il LaTeX Reference Manual commentato; ma se c’è qualcosa di oscuro lì, fammelo sapere e spiegami perché è oscuro; quella è la documentazione italiana per l’uso di picture (e di LaTeX in generale); non ho nessun problema ad aggiungere altri commenti a quella guida che è, appunto, una traduzione commentata.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.