Risposte nei forum create
-
AutoreRisposte
-
::
OldClaudio” post=107675[…]
La scrittura [tt]\`{\i}[/tt] era obbligatoria con LaTeX209.
LaTeX2e è nato con lo stesso vincolo, ma su mia richiesta la scrittura senza la [tt]\i[/tt] , cioè [tt]\`{i}[/tt] è stata aggiunta quasi subito.
@OldClaudio, quanti anni tu credi che io abbia? 😉OldClaudio” post=107675[…] specificare la codifica d’ingresso oltre che la codifica di uscita T1, permette di NON mettere i bastoni fra le ruote all’algoritmo di sillabazione perché viene usato il glifo giusto, già accentato. Probabilmente non è una cosa importante per brevi esempi di testo scritto negli esempi minimi compilabili, ma direi che l’uso non privato delle codifiche d’entrata e di uscita sia una prassi da usare sempre.
Aspetta, non ingeneriamo confusione nei lettori: quella che conta per la sillabazione è la codifica in uscita, quella in ingresso è ininfluente: l’algoritmo di sillabazione di TeX lavora sulla lista orizzontale in cui è temporaneamente memorizzato un capoverso prima della sua divisione in righe (come sai perfettamente). Nota che in quasi tutti gli esempi che affiggo in pubblico includo sempre la linea`\usepackage[T1]{fontenc}`proprio perché la sillabazione sis quella che deve essere.
OldClaudio” post=107675[…]
Per l’idea di sezionare i capitoli della front matter, direi che il codice da usare sarebbe più efficace così (sempre facendo riferimento al solito pacchettino scfrontmatter.sty di qualche messaggio fa:`\ProvidesPackage{scfrontmatter}%
[2016/08/26 v.1.0 front matter with page numbering in small caps]
% From a code provided by Gustavo
\RequirePackage{etoolbox}
% Define a two step replacement code for a new small cap macro
% such that a lowercase roman page number is typeset in small caps
\newcommand*\scroman [1]{\expandafter\@scroman \csname c@#1\endcsname}
\newcommand*\@scroman[1]{%
\expandafter\textsc\expandafter{\romannumeral #1}%
}
% Patch \frontmatter so that it uses the above macros; it uses the
% \patchcmd from the etoolbox package. Also \mainmatter is patched so
% as to renumber everything until subsections.
\patchcmd{\frontmatter}{{roman}}{{scroman}\c@secnumdepth=\m@ne}{}{}
\patchcmd{\mainmatter}{{arabic}}{{arabic}\c@secnumdepth=\tw@}{}
% END
\endinput`
In questo modo si cambia il valore del contatore secnumdepth, ma bisogna ristabilirlo con la main matter, quindi tocca mettere un patch anche su [tt]\mainmatter[/tt].Mi sembra che la classe memoir abbia delle opzioni che fanno qualcosa del genere, no?
OldClaudio” post=107675Ma sezionare i capitoli della front matter è fuori luogo; una Presentazione divisa in sezioni appartiene alla main matter. Certo non esistono regole precise su questi argomenti, ma sarebbe meglio se almeno noi del GuIT ci dessimo delle regole; […] Nessuno mi venga a dire che cosa debbo fare o non fare. Ma chi si crede di essere. Lei non sa chi sono io! Quante volte ci siamo sentiti rispondere in questo modo quando abbiamo provato a proporre delle regole…:-( 🙁 🙁
È vero quel che dici; però è anche vero che la disputa sulle regole di un’arte, la questione stessa se un’arte possa avere, e fino a che punto, regole normative, e via discorrendo sono questioni che agitano qualunque arte che sia veramente tale.
Ciao.
—
Gustavo
::
Poiché il Padova Pride Village fa, alle 02.30 del mattino, un baccano insopportabile che nemmeno una discoteca di Rimini, impedendomi di dormire — è scandaloso, però! Ma può esistere una cosa simile? — ho elaborato un esempio un po’ balordo che illustra come si potrebbe procedere in un’ottica un po’ più generale. Tale esempio usa il pacchetto bullcntr, una delle cose più stupide che io abbia mai scritto in vita mia, per stampare i numeri di pagina come gruppetti ordinati di pallini. A proposito di pacchetti da sfrondare dal CTAN…!Avviso: codice non robustissimo, meglio non provare ad alterare le dimensioni e il disegno dei pallini, sempre a causa del meccanismo asincrono di output del TeX.
`
\documentclass[a4paper]{book}
\usepackage[T1]{fontenc}
% \usepackage[utf8]{inputenc} % in realta`, questo file e` in puro ASCII a 7 bit
\usepackage[italian]{babel}
\usepackage{bullcntr}
\usepackage{hyperref}\title{Il mio bel libro}
\author{A.~U.~Tore}\makeatletter
\newcommand*\@bullcntr[1]{%
\texorpdfstring
{\@b@ll@cntr #1}%
{\@ctr@asts@representation #1}%
}
\newcommand*\@ctr@asts@representation[1]{%
\ifcase #1\or *\or **\or ***\or ****\or +% + = *****
\or +*\or +**\or +***\or +****\fi
}\renewcommand\frontmatter{%
\cleardoublepage
\@mainmatterfalse
% Evitiamo di rimettere a 1 il numero di pagina:
\gdef\thepage{\@bullcntr\c@page}%
}
% (o, meglio, usare il pacchetto “etoolbox”)% Questa, invece, e` una mia idea (che @egreg9, fra gli altri, non ama!):
\newenvironment{noNumbersInSectioningCommands}{\c@secnumdepth \z@}{}\makeatother
% Decommentare la riga seguente per esaminare i nomi delle destinazioni:
% \showoutput\begin{document}
% Vogliamo che la pagina del titolo sia contata come pagina 1:
\begin{titlepage}
\pagestyle{empty}
\pagenumbering{bullcntr} % a solo uso e consumo di hyperref
\centering
\vspace*{\stretch{1}}
{\Huge
\csname @title\endcsname % produce il titolo
\par}
\bigskip
{\Large
\csname @author\endcsname % produce l'autore
\par}
\vspace{\stretch{2}}
\cleardoublepage % per far si`che le impostazioni dello stile di pagina
% si applichino anche al verso della pagina del titolo
\end{titlepage}\frontmatter
\tableofcontents
\begin{noNumbersInSectioningCommands}
\chapter{Prefazione}
Una lusinghiera prefazione segue qui.
Tale prefazione si trova a pagina~\pageref{Prefazione}.
\label{Prefazione}\section{Una sezione nella prefazione\ldots}
\ldots cosa che, naturalmente, non si dovrebbe fare!
Non di rado, per\`{o}, a me capita di essere cos\`{\i} perverso,
e questo \`{e} il motivo per cui, senza riflettere, mi era venuta l'idea di
usare l'ambiente \texttt{noNumbersInSectioningCommands}.% Decommentare le seguenti 3 linee per vedere dove e` messo “\pdfdest”:
% \showboxbreadth = 1000
% \showboxdepth = 10
% \showlists\end{noNumbersInSectioningCommands}
\mainmatter
\chapter{A}
Anna ama avere amici, anche assolutamente assurdi.\chapter{B}
Bruno balbetta banali battute buttando bucce bananesche.\chapter{C}
Carla corre contro corrente, creando contestazioni.\chapter{D}
Duilio, dopo dieci d\`{i} di dormite, divenne discretamente docile.
% Poiche` questo codice va affisso in pubblico, scriviamo “\`{i}”
% e non “\`{\i}”.\chapter{E}
Eccetera eccetera\ldots\section{Ricordiamoci una cosa}
La \hyperref[Prefazione]{Prefazione} si trova a pagina~\pageref{Prefazione}
(\emph{hard link}: \hyperpage{+}).\end{document}
`Può essere davvero il caso di decommentare [tt]\showoutput[/tt] per controllare i nomi di destinazione dati alle pagine.
Ciao.
—
Gustavo
::OldClaudio” post=107667Ti ho già spiegato che non lo pubblicherò e perché. Se lo vuole fare Gustavo, è padronissimo di farlo, visto che il codice è suo. […]
Ma no, io ho semplicemente ripulito da banali sviste e ridondanze del codice affisso da Lorenzo; deve dirci lui chi ne è l’autore. Comunque, secondo me si tratta ormai di «folklore», codice che è di tutti e di nessuno; di pubblico dominio, insomma.
Facciamo così: il pacchetto lo pubblica Lorenzo; così, poi, pur di averlo nell’albero TeX Live magari si aggiorna… 😉
Ciao.
—
GustavoP.S.: Be’, parlo io, che sono il meno aggiornato di tutti! 😛
::
Ho perso un’altra volta un intero messaggio, pure molto lungo, per colpa del mio router che sta smettendo di funzionare, e ora mi tocca riscriverlo daccapo! 😡 Ma la colpa è solo mia, che non me li salvo.Proviamo a riprodurlo cosi com’era: vediamolo come un esercizio di memoria…
OldClaudio” post=107652[…] I vecchi costrutti che ho eliminato sono le scritture esplicite, del tipo [tt] \z@ plus 1 fill[/tt] che si possono sostituire con il comando \stretch{…} da preferire sempre perché è più difficile sbagliare la sintassi della lunghezza elastica.
Ma certo, stupido io! Ecco cosa succede a rileggere di continuo The TeXbook 😉 : si finisce che non si pensa più ai comandi di alto livello! Non è nemmeno questione di costrutti vecchi o nuovi, perché [tt]\stretch[/tt] era descritto già nel libro di Lamport del 1994 (pagina 215, in fondo) e, anzi, mi pare (anche se non sono sicuro al 100%) che abbia sempre fatto parte del LaTeX, anche nella versione 2.09.
OldClaudio” post=107652Nello stesso modo ho sostituito [tt]\`{\i}[/tt] con il più semplice [tt]\`i[/tt] che provvede da solo a mettere l’accento sopra la i senza puntino; Io preferirei mantenere l’uso esplicito di [tt]\usepackage[utf8]{inputenc}[/tt] […]
DI nuovo: ma certo! In questo caso, però, vorrei osservare due cose:
- Non ho fatto ricorso al pacchetto inputenc perché quando invio esempi di codice a un Internet forum sono disposto anche a fare i salti mortali pur di non uscire, finché ci riesco, dalla codifca ASCII a 7 bit; ciò per massimizzare le probabilità che il codice possa essere, all’occorrenza, copiato e incollato senza errori; ecco perché non scrivo le lettere accentate nel codice, ma le indico con quella che — volendo usare nomi un po’ pomposi 🙂 — sarebbe, sì, la codifica LICR. Avevo però lasciato la riga`% \usepackage[utf8]{inputenc}`proprio per ricordare qual è la pratica raccomandata.
- Quello di scrivere [tt]\`{\i}[/tt], com’era necessario fare una volta, anziché [tt]\`{i}[/tt] è, per me, uno habit talmente inveterato e fossilizzato che neanche me ne accorgo, a meno di usare una concentrazione tenace. Indubbiamente, però, in un codice affisso in pubblico si dovrebbe scrivere [tt]\`{i}[/tt] (si noti che la sintassi LaTeX standard prevede che si usino le graffe).
Ripeto, comunque, che, a parte il caso di codice diffuso tramite i siti di Rete, la pratica migliore è usare inputenc, per diverse, ben note ragioni che non sto a ripetere qui (la più importante delle quali, forse, è proprio l’interazione con i pacchetti hyperref e bookmark).
OldClaudio” post=107652Invece la definizione birichina di cambiare il valore del contatore secnumdepth non serve nella front matter; Gustavo può verificare che il nuovo file senza la definizione birichina produce lo stesso risultato che si ottiene con la sua definizione. […]
Terzo errore! 😳 Anche questo lo sapevo
: infatti, la definizione del comando [tt]\@chapter[/tt] in [tt]book.cls[/tt] è
`
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter.}%
\addcontentsline{toc}{chapter}%
{\protect\numberline{\thechapter}#1}%
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
\if@twocolumn
\@topnewpage[\@makechapterhead{#2}]%
\else
\@makechapterhead{#2}%
\@afterheading
\fi}
`
Dall’esame della prima e della seconda riga si vede benissimo che il controllo sul valore di [tt]secnumdepth[/tt] e sul fatto di trovarsi nella sezione [tt]\mainmatter[/tt] vengono posti esattamente sullo stesso piano. In questo caso, però, un esame attento del codice dell’ambiente [tt]noNumbersInSectioningCommands[/tt] (al quale, naturalmente, solo su questo forum ho dato un nome così lungo… 🙂 ) rivela quale fosse il suo intento originario: quello di sopprimere non già la numerazione dei capitoli (comando [tt]\chapter[/tt]), bensì quella delle unità dai paragrafi (comando [tt]\section[/tt]) in giù; infatti dice [tt]\c@secnumdepth \z@[/tt], non [tt]\c@secnumdepth \m@ne[/tt]! 😉 — Paragrafi nel front matter?! — direte voi; sì, a volte faccio anche di queste cose… 🙄OldClaudio” post=107652Come si vede ho aggiunto la chiamata a hyperref; il titolo nell’indice rappresta l’ancora del link e cliccandoci sopra il testo mostrato nella finestra di lettura del file composto si sposta al target del link. Però il numero della pagina non costituisce un’ancora per sostarsi alla pagina. Rendere il numero di pagina attivo come hyperlink produce errori. […]
Be’, se ci si muove con attenzione si possono usare anche le pagine (per la precisione, le loro testatine) come destinazioni ([tt]\pdfdest[/tt], presupponendo l’uso di pdfTeX). Fornisco di seguito due esempi compilabili.
Il primo esempio, stavolta, è concepito in maniera tale da non riportare a uno il numero di pagina dopo la pagina del titolo (recto/verso); in altre parole, in maniera tale che la facciata del titolo conti come pagina 1 (o meglio, I), il suo verso conti come pagina 2 (o meglio, II), la facciata ancora successiva sia la pagina 3 (o meglio, III) e così via; non mi ricordo più se la domanda originale chiedeva questo oppure no. Ecco qui il codice:
`
\documentclass[a4paper]{book}
\usepackage[T1]{fontenc}
% \usepackage[utf8]{inputenc} % in realta`, questo file e` in puro ASCII a 7 bit
\usepackage[italian]{babel}
\usepackage{hyperref}\title{Il mio bel libro}
\author{A.~U.~Tore}\makeatletter
\newcommand*\scroman [1]{\expandafter\@scroman \csname c@#1\endcsname}
\newcommand*\@scroman[1]{%
\expandafter\textsc\expandafter{\romannumeral #1}%
}\renewcommand\frontmatter{%
\cleardoublepage
\@mainmatterfalse
% Evitiamo di rimettere a 1 il numero di pagina:
\gdef\thepage{\@scroman\c@page}%
}
% (o, meglio, usare il pacchetto “etoolbox”)% Questa, invece, e` una mia idea (che @egreg9, fra gli altri, non ama!):
\newenvironment{noNumbersInSectioningCommands}{\c@secnumdepth \z@}{}\makeatother
% Decommentare la riga seguente per esaminare i nomi delle destinazioni:
% \showoutput\begin{document}
% Vogliamo che la pagina del titolo sia contata come pagina 1:
\begin{titlepage}
\pagestyle{empty}
\pagenumbering{roman} % a solo uso e consumo di hyperref
\centering
\vspace*{\stretch{1}}
{\Huge
\csname @title\endcsname % produce il titolo
\par}
\bigskip
{\Large
\csname @author\endcsname % produce l'autore
\par}
\vspace{\stretch{2}}
\cleardoublepage % per far si`che le impostazioni dello stile di pagina
% si applichino anche al verso della pagina del titolo
\end{titlepage}\frontmatter
\tableofcontents
\begin{noNumbersInSectioningCommands}
\chapter{Prefazione}
Una lusinghiera prefazione segue qui.
Tale prefazione si trova a pagina~\pageref{Prefazione}.
\label{Prefazione}\section{Una sezione nella prefazione\ldots}
\ldots cosa che, naturalmente, non si dovrebbe fare!
Non di rado, per\`{o}, a me capita di essere cos\`{\i} perverso,
e questo \`{e} il motivo per cui, senza riflettere, mi era venuta l'idea di
usare l'ambiente \texttt{noNumbersInSectioningCommands}.% Decommentare le seguenti 3 linee per vedere dove e` messo “\pdfdest”:
% \showboxbreadth = 1000
% \showboxdepth = 10
% \showlists\end{noNumbersInSectioningCommands}
\mainmatter
\chapter{A}
Anna ama avere amici, anche assolutamente assurdi.\chapter{B}
Bruno balbetta banali battute buttando bucce bananesche.\chapter{C}
Carla corre contro corrente, creando contestazioni.\chapter{D}
Duilio, dopo dieci d\`{i} di dormite, divenne discretamente docile.
% Poiche` questo codice va affisso in pubblico, scriviamo “\`{i}”
% e non “\`{\i}”.\chapter{E}
Eccetera eccetera\ldots\section{Ricordiamoci una cosa}
La \hyperref[Prefazione]{Prefazione} si trova a pagina~\pageref{Prefazione}.\end{document}
`Il secondo esempio ritorna all’impostazione standard: ricominciare la numerazione da 1 (be’, in realtà da I) dopo la pagina del titolo. Si noti che, così facendo, si avranno ben tre pagine per le quali il valore del contatore [tt]page[/tt] è 1 e altrettante per le quali è 2; quindi, per evitare di avere destinazioni con nomi coincidenti, bisogna usare tre schemi di numerazione che appaiano distinti agli occhi di hyperref, cioè, più precisamente, che generino stringhe di caratteri diverse al netto di eventuali comandi di formattazione. Va benissimo il suggerimento di @OldClaudio di usare lo schema [tt]alph[/tt] per il titolo; poi, [tt]\frontmatter[/tt] userà [tt]scroman[/tt] e [tt]\mainmatter[/tt], naturalmente, [tt]arabic[/tt]. Riassumendo, i nodi [tt]\pdfdest name[/tt] collocati nella testatina delle tre pagine per le quali risulta [tt]\value{page}[/tt] = 1 avranno come argomento:
- quello del titolo, [tt]{page.a}[/tt];
- quello del front matter, [tt]{page.i}[/tt];
- quello del main matter, [tt]{page.1}[/tt];
Analogamente, gli argomenti per le tre pagine con [tt]\value{page}[/tt] = 2 saranno [tt]{page.b}[/tt], [tt]{page.ii}[/tt] e [tt]{page.2}[/tt], rispettivamente. Notate che il caso del front matter funziona grazie alla grande robustezza di hyperref, il quale provvede automaticamente, e silenziosamente, a rimuovere tokens estranei come [tt]\textsc[/tt]. Ecco il codice del secondo esempio:
`
\documentclass[a4paper]{book}
\usepackage[T1]{fontenc}
% \usepackage[utf8]{inputenc} % in realta`, questo file e` in puro ASCII a 7 bit
\usepackage[italian]{babel}
\usepackage{hyperref}\title{Il mio bel libro}
\author{A.~U.~Tore}\makeatletter
\newcommand*\scroman [1]{\expandafter\@scroman \csname c@#1\endcsname}
\newcommand*\@scroman[1]{%
\expandafter\textsc\expandafter{\romannumeral #1}%
}\renewcommand\frontmatter{%
\cleardoublepage
\@mainmatterfalse
\pagenumbering{scroman}%
}
% (o, meglio, usare il pacchetto “etoolbox”)% Questa, invece, e` una mia idea (che @egreg9, fra gli altri, non ama!):
\newenvironment{noNumbersInSectioningCommands}{\c@secnumdepth \z@}{}\makeatother
% Decommentare la riga seguente per esaminare i nomi delle destinazioni:
% \showoutput\begin{document}
% Vogliamo che la pagina del titolo sia contata come pagina 1:
\begin{titlepage}
\pagestyle{empty}
\pagenumbering{alph} % a solo uso e consumo di hyperref
\centering
\vspace*{\stretch{1}}
{\Huge
\csname @title\endcsname % produce il titolo
\par}
\bigskip
{\Large
\csname @author\endcsname % produce l'autore
\par}
\vspace{\stretch{2}}
\cleardoublepage % per far si`che le impostazioni dello stile di pagina
% si applichino anche al verso della pagina del titolo
\end{titlepage}\frontmatter
\tableofcontents
\begin{noNumbersInSectioningCommands}
\chapter{Prefazione}
Una lusinghiera prefazione segue qui.
Tale prefazione si trova a pagina~\pageref{Prefazione}.
\label{Prefazione}\section{Una sezione nella prefazione\ldots}
\ldots cosa che, naturalmente, non si dovrebbe fare!
Non di rado, per\`{o}, a me capita di essere cos\`{\i} perverso,
e questo \`{e} il motivo per cui, senza riflettere, mi era venuta l'idea di
usare l'ambiente \texttt{noNumbersInSectioningCommands}.% Decommentare le seguenti 3 linee per vedere dove e` messo “\pdfdest”:
% \showboxbreadth = 1000
% \showboxdepth = 10
% \showlists\end{noNumbersInSectioningCommands}
\mainmatter
\chapter{A}
Anna ama avere amici, anche assolutamente assurdi.\chapter{B}
Bruno balbetta banali battute buttando bucce bananesche.\chapter{C}
Carla corre contro corrente, creando contestazioni.\chapter{D}
Duilio, dopo dieci d\`{i} di dormite, divenne discretamente docile.
% Poiche` questo codice va affisso in pubblico, scriviamo “\`{i}”
% e non “\`{\i}”.\chapter{E}
Eccetera eccetera\ldots\section{Ricordiamoci una cosa}
La \hyperref[Prefazione]{Prefazione} si trova a pagina~\pageref{Prefazione}.\end{document}
`OldClaudio” post=107652Se Gustavo, che è molto bravo ad usare anche i comandi di basso livello, vuole cimentarsi con le problematiche che ho indicato, non solo è evidentemente libero di farlo, ma anche un benemerito perché puoi insegnare molto a tutti.
Be’ grazie! 🙂 Ho molto poco da insegnare, ma quel poco che posso lo insegno molto volentieri!
Mi sono ricordato di tutto quel che volevo dire? Spero di sì! Allora, almeno per adesso…
Ciao.
—
Gustavo
::lorenzo.pantieri” post=107628[…]
Prova questo codice.
`\makeatletter
\DeclareRobustCommand{\doscroman}{\textsc}
\def\scroman#1{\expandafter\@scroman\csname c@a#1\endscname}
\def\@scroman#1{\expandafter\doscroman\expandafter{\romannumeral#1}}
\let\ORlmph@outputpage@hook\mph@outputpage@hook
\def\frontmatter{\cleardoublepage
\pagenumbering{scroman}
%\renewcommand*\mph@outputpage@hook{%
%\bgroup
%\advance\c@page\m@ne
%\immediate\write\@auxout{%
%\string\mph@setcol{ii:\roman{page}}{\string\mph@nr}%
%}%
%\egroup
%}%
}
\def\mainmatter{\cleardoublepage
\pagenumbering{arabic}%
\let\mph@outputpage@hook\ORlmph@outputpage@hook}
\makeatother`Ma no, è chiaro che dovrebbe essere`\def\scroman#1{\expandafter\@scroman\csname c@#1\endscname}`e non`\def\scroman#1{\expandafter\@scroman\csname c@a#1\endscname}`(via quella [tt]a[/tt]: come dice @OldClaudio, mica è [tt]apage[/tt] il nome del contatore! 🙂 )
Comunque, questo codice è molto “sporco”: cosa c’entra il patch alla macro [tt]\mph@outputpage@hook[/tt], che appartiene al pacchetto mparhack? Avrò bisogno di farlo se sto usando tale pacchetto, altrimenti no.
Ecco un esempio semplice, ma, nel suo piccolo, completo e compilabile:
`
\documentclass[a4paper]{book}
\usepackage[T1]{fontenc}
% \usepackage[utf8]{inputenc} % in realta`, questo file e` in puro ASCII a 7 bit
\usepackage[italian]{babel}\title{Il mio bel libro}
\author{A.~U.~Tore}\makeatletter
\newcommand*\scroman [1]{\expandafter\@scroman \csname c@#1\endcsname}
\newcommand*\@scroman[1]{%
\expandafter\textsc\expandafter{\romannumeral #1}%
}\renewcommand\frontmatter{%
\cleardoublepage
\@mainmatterfalse
\pagenumbering{scroman}%
}
% (o, meglio, usare il pacchetto “etoolbox”)% Questa, invece, e` una mia idea (che @egreg9, fra gli altri, non ama!)
\newenvironment{noNumbersInSectioningCommands}{\c@secnumdepth \z@}{}\makeatletter
\begin{document}
% Usiamo l'idea di @OldClaudio:
\pagenumbering{alph}
\pagestyle{empty}\begin{titlepage}
\centering
\vspace*{\fill}
{\Huge
\csname @title\endcsname % produce il titolo
\par}
\bigskip
{\Large
\csname @author\endcsname % produce l'autore
\par}
\vspace{0pt plus 2 fill}
\null
\end{titlepage}\frontmatter
\pagestyle{headings}\tableofcontents
\begin{noNumbersInSectioningCommands}
\chapter{Prefazione}
Una lusinghiera prefazione segue qui.\end{noNumbersInSectioningCommands}
\mainmatter
\chapter{A}
Anna ama avere amici, anche assolutamente assurdi.\chapter{B}
Bruno balbetta banali battute buttando bucce bananesche.\chapter{C}
Carla corre contro corrente, creando contestazioni.\chapter{D}
Duilio, dopo dieci d\`{\i} di dormite, divenne discretamente docile.\chapter{E}
Eccetera eccetera\ldots\end{document}
`
Notate la “birichinata” commessa per stampare il titolo della prefazione… 😉Ciao.
—
Gustavo
::
Usare i pacchetti appropriati è un’ottima cosa, però qualche volta è anche bello farsi le cose da soli. In questo caso, poi, mi sembra che nemmeno il pacchetto appendix sia risolutivo, dato che, anche usandolo, il problema persiste, a meno di non usare speciali precauzioni. In effetto, la documentazione stessa del pacchetto raccomanda (pagina 3) di usare
`
\clearpage % or \cleardoublepage
\addappheadtotoc
\appendixpage
`
Be’, grazie tante 🙂 : a questo punto, tanto vale dire
`
\cleardoublepage
\addcontentsline{toc}{part}{Appendici}
\part*{Appendici}
`Ecco un esempio compilabile:
`
\documentclass[a4paper]{book}
\usepackage[T1]{fontenc}
\usepackage{lipsum}\title{Gnus of the world}
\author{A.~U.~Thor}\begin{document}
\maketitle
\tableofcontents
\chapter{Foo Bar}
Some text.\chapter{Bim Bum Bam}
Some text.\cleardoublepage
\addcontentsline{toc}{part}{Appendices}
\part*{Appendices}\chapter{Bazooka}
Some text.\end{document}
`Ma il vero virtuosismo TeXnico è usare [tt]\addcontentsline…[/tt] dentro [tt]\part*{…}[/tt] 🙂 :
`
\documentclass[a4paper]{book}
\usepackage[T1]{fontenc}
\usepackage{lipsum}\title{Gnus of the world}
\author{A.~U.~Thor}\begin{document}
\maketitle
\tableofcontents
\chapter{Foo Bar}
Some text.\chapter{Bim Bum Bam}
Some text.\part*{Appendices\addcontentsline{toc}{part}{Appendices}}
\chapter{Bazooka}
Some text.\end{document}
`Ciao.
—
Gustavo
::dean” post=107601[…] aggiungo inoltre una domanda che avevo posto in procedenza effettuando una modifica al post (evidentemente passato poi inosservato), l’impostazione [tt][htb][/tt] vale anche con le figure, e perchè non bisogna mettere solo [tt]h[/tt]? […]
Comsiglierei piuttosto [tt][htp][/tt] (che anche @OldClaudio menzionava), anche per le figure. Ma meglio di tutto è non usare [tt]h[/tt] affatto.
Se usato da solo, [tt]h[/tt] ha una probabilità relativamente alta di causare il ben noto fenomeno che vede tutte le figue (risp., le tabelle) accumularsi alla fine del capitolo.
Ciao.
—
Gustavo
::
L’immagine affissa da @Frankice mostra che il suo sitema è ora configurato correttamente: infatti- la directory [tt]/Library/TeX/texbin[/tt] viene trovata dal comando [tt]cd[/tt];
- il comando [tt]which simpdftex[/tt] ritorna, come previsto, [tt]/Library/TeX/texbin/simpdftex[/tt];
- questo perché l’espansione della variabile [tt]PATH[/tt] contiene la stringa [tt]/Library/TeX/texbin[/tt];
- anche se manca il risultato del comando`cat /etc/paths.d/TeX`si può scommettere che è il suo contenuto a determinare la corretta impostazione della variabile [tt]PATH[/tt]: esso, infatti, si trova là dove deve essere.
Veniamo ora al messaggio di @OldClaudio:
OldClaudio” post=107576[…] Io dispongo della MacTeX 2016; vedo in /Library/TeX/ e vi trovo anche il collegamento simbolico texbin; scendo in Programs/ e vi trovo una altro collegamento simbolico texbin. […] Quale dei due symbolic link è quello efficace? I credo che sia quello a livello superiore, se non altro perché quando si da il comando echi $PATH è quello il link che viene visualizzato […]
Facciamo un’analisi passo-passo di quel che succede quando il sistema cerca di rintracciare l’eseguibile [tt]pdftex[/tt] (per esempio, ma la stessa cosa vale per altri eseguibili).
- La variabile [tt]PATH[/tt] dice che il percorso completo è`/Library/TeX/texbin/pdftex`(questo è infatti il risultato che ottengo da [tt]which pdftex[/tt]); però, [tt]/Library/TeX/texbin[/tt] è un collegamento simbolico a [tt]Distributions/Programs/texbin[/tt] (notare il percorso relativo), quindi il sistema passa a cercare`/Library/TeX/Distributions/Programs/texbin/pdftex`Questo primo collegamento simbolico ha lo scopo di rinviare a un punto di snodo comune indipendentemente dal fatto che il punto di partenza sia [tt]/Library/TeX/texbin[/tt] o [tt]/usr/texbin[/tt]: una volta questo passo non c’era.
- Però, [tt]/Library/TeX/Distributions/Programs/texbin[/tt] è un collegamento simbolico a [tt]../.DefaultTeX/Contents/Programs/texbin[/tt], quindi il sistema passa a cercare`/Library/TeX/Distributions/.DefaultTeX/Contents/Programs/texbin/pdftex`Questo secondo collegamento simbolico ha lo scopo di consentirmi, modificandolo, di sostituire al sistema di collegamenti simbolici di MacTeX un mio sistema personale, lasciando assolutamente intatto il sistema di MacTeX stesso.
- Però, [tt]/Library/TeX/Distributions/.DefaultTeX/Contents[/tt] è un collegamento simbolico a [tt]../TeXLive-2015.texdist/Contents[/tt] (per esempio: l’anno potrebbe essere diverso), quindi il sistema passa a cercare`/Library/TeX/Distributions/TeXLive-2015.texdist/Contents/Programs/texbin/pdftex`Questo collegamento simbolico ha lo scopo di consentire all’utente di cambiare distribuzione scegliendo, per esempio, un anno diverso, senza toccare nessuno degli altri aspetti. Notate che ciò viene fatto tramite un rimando a una directory che il sistema Mac OS X presenta all’utente come un bundle, cioè una directory che l’interfaccia grafica considera a tutti gli effetti come un documento (di tipo [tt].texdist[/tt]); ciò permette agli utenti di manipolare le impostazioni per le diverse distribuzioni MacTeX come se fossero dei normali documenti, e, in particolare, di avere applicazioni standard Mac OS X che cambiano l’anno della distribuzione semplicemente scegliendo un diverso documento standard Mac OS X. Incidentalmente, dall’esempio che ho riportato potete vedere che io ho ancora impostata la distribuzione del 2015.
- Però, [tt]/Library/TeX/Distributions/TeXLive-2015.texdist/Contents[/tt] è un collegamento simbolico a [tt]../.FactoryDefaults/TeXLive-2015/Contents[/tt], quindi il sistema passa a cercare`/Library/TeX/Distributions/.FactoryDefaults/TeXLive-2015/Contents/Programs/texbin/pdftex`Questo collegamento simbolico fa parte del bundle di tipo [tt].texdist[/tt] sopra menzionato, ed è il modo per mezzo del quale tale bundle porta scritta dentro di sé l’informazione circa la distribuzione da scegliere.
- Però, [tt]/Library/TeX/Distributions/.FactoryDefaults/TeXLive-2015/Contents/Programs/texbin[/tt] è un collegamento simbolico a [tt]x86_64[/tt], quindi il sistema passa a cercare`/Library/TeX/Distributions/.FactoryDefaults/TeXLive-2015/Contents/Programs/x86_64/pdftex`Questo collegamento simbolico ha lo scopo di scegliere, fra le varie architetture presenti in una distribuzione, quella adatta alla macchina in uso, senza toccare nient’altro. Viene impostato quando MacTeX viene installato.
- Però,[tt]/Library/TeX/Distributions/.FactoryDefaults/TeXLive-2015/Contents/Programs/x86_64[/tt] è un collegamento simbolico a [tt]../../../../../../../usr/local/texlive/2015/bin/x86_64-darwin[/tt], quindi il sistema passa a cercare`/usr/local/texlive/2015/bin/x86_64-darwin/pdftex`(notare l’uso di percorsi relativi, che permette di avere l’intera distribuzione MacTeX su un disco che non sia quello di avvio, per esempio su uno stick USB). Questo collegamento ha lo scopo di permettere di cambiare la collocazione reale degli eseguibili, senza toccare nessun altro aspetto.
- Finalmente, il percorso [tt]/usr/local/texlive/2015/bin/x86_64-darwin/pdftex[/tt] non contiene più alcun collegamento simbolico, quindi abbiamo finito.
OldClaudio” post=107576[…] molti anni fa, ho deciso che non avrei mai installato nessun software localizzato in una lingua diversa dall’inglese […]
Faccio anch’io la stessa cosa! 🙂
Ciao.
—
Gustavo
::dean” post=107561[…]
per risolvere l’idea è di scrivere il contenuto nelle caselle della prima riga su più colonne (quindi fare la prima riga più spessa con un testo che va daccapo).
[…]«…la prima [colonna] più spessa con un testo che vada a capo».
Sì, siamo un po’ pedanti, qui 🙂 : abbi pazienza, ma ci facciamo un punto d’onore quello di mantenere a un buon livello l’italiano usato nel forum.
Agli ottimi consigli di @OldClaudio mi sentirei di aggiungere quello di dare un’occhiata anche al pacchetto varioref: trovo che le sue funzioni aiutino ulteriormente il lettore a rintracciare agevolemente gli oggetti mobili.
Ciao.
—
Gustavo
20 Agosto 2016 alle 12:01 in risposta a: Idea di un nuovo pacchetto per colophon in stile antico #101127::
Grazie, @OldClaudio: preferivo comunque chiedere il permesso. Ecco qui come ho utilizzato la tua foto.Ripensandoci, è stato sciocco riaprie il filone: sarebbe stato meglio mandarti un messaggio privato.
Ciao.
—
Gustavo
19 Agosto 2016 alle 23:22 in risposta a: Idea di un nuovo pacchetto per colophon in stile antico #101125::
Riapro questo vecchio filone di discussione per chiedere a @OldClaudio il permesso di citare l’immagine del suo libro, acclusa al messaggio qui sotto riprodotto, come “controesempio” a quanto sostenuto in questa domanda apparsa su TeX.SX.OldClaudio” post=100869La foto è un po’ grande quindi la si può scaricare da questo link
https://dl.dropboxusercontent.com/u/46128876/GalileoGalilei.jpg
Essa rappresenta l’ultima pagina del testo
OPERE DI GALILEO GALILEI
LINCEO
NOBILE FIORENTINO
Già Lettore delle Matematiche nelle Vniuerstà di Pisa, e di Padoua, di poi Sopraordinario nello Studio di Pisa
Primario Filosofo, e Matematico del Serenissimo
Gran Duca di Toscana.
…
AL SERENISSIMO
FERDINANDO II
GRAN DUCA DI TOSCANABOLOGNA, per gli HH. del Dozza. MDCLVI
[…]
Gli chiedo altresì, qualora acconsentisse a lasciarmela usare, se desidera oppure no di essere indicato come fonte dell’immagine stessa.
Ciao.
—
Gustavo
::
Non capisco bene cosa vuoi dire. Eliminiamo l’ovvio: non è che, per caso, quel che vuoi ottenere è ciò che si ottiene scrivendo`\captionsetup{format=plain}`nel preambolo? Scusa la banalità della domanda, ma quel [tt]format=default[/tt] mi lasciava perplesso e in effetti, riguardando la documentazione del pacchetto caption, non lo trovo…Ciao.
—
Gustavo
::Linpassiont75″ post=107522[…] Invece di inserire l’intero codice ho usato [tt]\input{[/tt]〈nome file〉[tt]}[/tt] anziche [tt]\include[/tt]. […] Alla fine abbiamo trovato due strade 😆
[In rosso alcune mie piccole correzioni.]
Era certamente [tt]\include[/tt] che causava il salto di pagina; invece
`
\begin{center}
\input{islam-macro}
\end{center}
`
è corretto, ed è questa la strada maestra. Altre due osservazioni:- Elimina quel [tt]\noindent[/tt] seguito da una riga vuota. Perché l’hai scritto?
- Anche [tt]\cleardoublepage[/tt] subito dopo [tt]\begin{document}[/tt] non serve a nulla, ma in questo caso suppongo che il tuo vero file avesse, invece, del testo che lo precedeva.
Ciao.
—
Gustavo
::
Questa volta cerco di rispondere a tutti con un unico messaggio, lasciando perdere la funzione «quote»; spero che si capisca ugualmente a cosa sto, di volta in volta, rispondendo.Vorrei fare un’analisi riassuntiva della questione a beneficio dei futuri lettori di questo filone di discussione, in modo che si capisca bene cos’era successo e a cosa era dovuto l’errore.
Ho scritto [tt]/Libreria/TeX/texbin[/tt] per stupidità/pigrizia: avevo confusamente in testa l’idea che, avendo @Frankice un sistema installato in italiano, le sue cartelle potessero avere nomi in italiano. Questa idea mi era stata suggerita da non ricordo più quale suo esempio o listato, che evidentemente avevo male interpretato, unito alla mia mancata conoscenza delle versioni più recenti di Mac OS X; quell’esempio, che non ricordo, mi aveva instillato il dubbio che, in tali versioni, anche i nomi Unix delle directory potessero essere scritti nella lingua di installazione. È risultato che così non è (ovviamente, verrebbe da aggiungere!), come non è mai stato: i nomi nel file system sono in inglese, ed è solo l’interfaccia grafica che mostra i nomi «localizzati».
Questa era una prima causa di errore: nell’immagine che ha inviato @Frankice si vede chiaramente che il percorso specificato nel campo «(pdf)TeX (default: …)» del riquadro «Impostazioni Percorso» del pannello «Motore» della finestra «Preferenze TeXShop» dell’applicazione «TeXShop» inizia con [tt]/Libreria/[/tt] , sicché già questo impediva a TeXShop di trovare gli eseguibili. Ma lo stesso percorso conteneva anche un altro errore: anche ammettendo di sostituirne l’inizio con [tt]/Library/[/tt] , esso sarebbe diventato [tt]/Library/TeX/texbin/pdftex[/tt] , invece del corretto [tt]/Library/TeX/texbin[/tt] (che del resto è chiaramente indicato dal valore di default riportato sopra il campo stesso).
Il nome della prima componente in italiano era, sicuramente, anche il motivo per cui a @Frankice non funzionava il comando`cd /Libreria/TeX/texbin`Visto che TeXShop riesce a trovare gli eseguibili in [tt]/Library/TeX/texbin[/tt] , a @Frankice dovrebbe invece risultare che il comando`cd /Library/TeX/texbin`funziona senza errori. Una cosa che invece non torna è che`which simpdftex`non ritorni alcunché; forse la variabile [tt]PATH[/tt] di @Frankice non è impostata correttamente. Per verficarlo è sufficiente impartire il comando`echo $PATH`e verificare se la risposta contiene la stringa [tt]/Library/TeX/texbin[/tt] : se non la contiene, c’e un errore. In tal caso, la successiva cosa che io controllerei è la directory [tt]/etc/paths.d[/tt] : impartendo il comando`ls /etc/paths.d`la shell dovrebbe rispondere [tt]TeX[/tt] (eventualmente accompagnato da altri nomi di file); impartendo poi il comando`cat /etc/paths.d/TeX`(comando che serve a visualizzare il contenuto del file [tt]/etc/paths.d/TeX[/tt] ) si dovrebbe ottenere in risposta
`
/Library/TeX/texbin`
Tutto ciò allo scopo di essere certi che tutto sia in ordine e di non avere problemi residui nel sistema.L’ultimo messaggio di @egreg9 mi rassicura circa il fatto che, anche per la release 2016 di MacTeX, tutto sia ancora esattamente come mi aspettavo che fosse. Invece, non mi sentirei di sostenere il suggerimento di @OldClaudio di ripristinare, in caso di sua mancanza, il collegamento simbolico denominato [tt]/Library/TeX/texbin[/tt] facendolo puntare direttamente alla directory contenente gli eseguibili per la propria architettura, nella fattispecie [tt]/usr/local/texlive/2016/bin/x86_64-darwin[/tt] ; temo che ciò, sebbene funzioni allo stretto scopo di consentire a TeXShop di rintracciare gli eseguiili, renderebbe la propria installazione incompatibile con gli strumenti di (auto)configurazione di MacTeX. Il modo corretto di ripristinare tale collegamento simbolico, se mancante o danneggiato, è, in MacTeX 2015 e, presumo, anche in MacTeX 2016, quello di farlo puntare a [tt]Distributions/Programs/texbin[/tt] (si noti l’uso di un percorso relativo), cosa che si può fare, per esempio, impartendo i seguenti comandi
`
cd /Library/Tex
sudo ln -s Distributions/Programs/texbin texbin
`
(verrà richiesta la password di amministratore). Questo instaura il primo anello di una catena di collegamenti simbolici piuttosto lunga, in cui ogni singolo passo ha la propria specifica e indipendente funzione, attinente, se mi passate la metafora, a un singolo e specifico “asse ortogonale di configurabilità”. Consiglio, a questo riguardo, la lettura del file [tt]/Library/TeX/Distributions/TeXDist-description.rtf[/tt] : per aprirlo, è sufficiente impartire il comando`open /Library/TeX/Distributions/TeXDist-description.rtf`dalla shell. Attenzione: potrebbe non essere aggiornatissimo (non ho ancora letto la versione inclusa nella distribuzione 2016, che, come ho già detto, non ho).Mi sembra di aver detto tutto. Mi fa molto piacere vedere che il forum è tornato ad animarsi! 🙂
Ciao.
—
Gustavo
-
AutoreRisposte