Risposte nei forum create
-
AutoreRisposte
-
::
Ho seguito un po’ distrattamente questa discussione: all’inizio non capivo bene quale fosse il difetto lamentato, e speravo che qualche messaggio successivo avrebbe dissipato i miei dubbi; questo, però, non è successo, e continuo a non capire.Qual è il problema? Nelle due immagini che sono state spedite si vedono due normali equazioni fuori testo, una delle quali è circondata da un po’ più di spazio verticale dell’altra; ma questo è esattamente quello che ci si aspetta che il (La)TeX faccia: in quale altro modo si potrebbero giustificare verticalmente pagine di altezza naturale diversa? Certo, in casi particolari lo “stiracchiamento” della “colla” può risultare eccessivo, ma è questo il caso? Il (La)TeX adotta parametri abbastanza stringenti per decidere se una pagina è visualmente accettabile oppure no, e quando è costretto ad allungare gli spazi verticali oltre i limiti fissati da tali parametri, emette durante la compilazione un avvertimento del tipo`Underfull \vbox (badness …) has occurred while \output is active […]`Nel caso in esame, questi avvertimenti compaiono o no? Se non compaiono, vuol dire che i parametri, di cui parlavo poc’anzi, sono rispettati, e poiché, come ripeto, si tratta di parametri abbastanza stringenti, vuol dire che tutto sommato le pagine prodotte sono accettabili dal punto di vista tipografico.
Usare [tt]\raggedbottom[/tt], poi, è spesso un rimedio peggiore del male, perché significa semplicemente rinunciare alla giustificazione verticale delle pagine. Invece che tanti piccoli spazi verticali equamente distribuiti lungo tutta la pagina, si ha un unico grande spazio alla fine, che può risultare molto più brutto da vedere, specialmente se si stampa fronte-retro e due pagine di lunghezza molto diversa finiscono affiancate. Inoltre, [tt]\raggedbottom[/tt] sopprime tutti gli avvertimenti del tipo [tt]Underfull \vbox…[/tt], che almeno aiutavano a distinguere le pagine veramente troppo corte da quello solo un pochino corte.
Ciao.
—
Gustavo
2 Agosto 2015 alle 21:16 in risposta a: modificare e estrarre dimensioni di un simbolo (math o non) #102690::
Mi sembra che si stia parlando di uno dei problemi ai quali è espressamente rivolto il pacchetto scalerel. Si tratta di un pacchetto che sostanzialmente utilizza le tecniche di base già menzionate da OldClaudio per fornire dei comandi di facile utilizzo, pensati per il modo matematico, che fanno proprio quel che qui si chiede, e altro ancora. Esso è basato sul pacchetto graphicx e non richiede tutta la – invero assai ingente – potenza di TikZ. Come sempre, se ne può visualizzare il manuale scrivendo`texdoc scalerel`al prompt del terminale.Mi permetto anche di citare questa risposta apparsa su TeX.SX, che mi sembra in qualche modo correlata e molto istruttiva; non per nulla ne è autore uno dei massimi esperti mondiali di TeX e argomenti collegati. Si noti la semplicità dei mezzi impiegati: la soluzione è basata soltanto sull’uso dell’ambiente [tt]picture[/tt], ovviamente nella versione “due epsilon” messa a disposizione dal pacchetto pict2e – niente TikZ. 😛
Aggiunta: Dimenticavo di ribadire il solito ammonimento: ascolta quel che ti dice OldClaudio, che di esperienza con la composizione tipografica (anche) della matematica ne ha davvero tanta, e pensa bene se hai veramente bisogno di alterare le proporzioni dei caratteri.
Ciao.
—
Gustavo
::
Oltre a [tt]\vadjust[/tt] (eventualmente [tt]\vadjust pre[/tt], con pdfTeX), ci sono [tt]\clubpenalty[/tt], [tt]\widowpenalty[/tt] (e le corrispondenti estensioni e-TeX, [tt]\clubpenalties[/tt] e [tt]\widowpenalties[/tt]); e poi c’è [tt]\interlinepenalty[/tt] (che ha pure una controparte in e-TeX, il vettore [tt]\interlinepenalties[/tt]). Per esempio, con`Testo di un capoverso bla bla bla … {\interlinepenalty = 10000 \par}`si compone un capoverso che non può avere interruzioni di pagina al suo interno (se non intervengono altri comandi o ambienti).Ciao.
—
Gustavo
::furbenzio” post=102549
In ogni caso, quando si mette dello spazion verticale sotto un ambiente come [tt]center[/tt], è preferibile usare il comando [tt]\addvspace[/tt]: per esempio, [tt]\addvspace{1cm}[/tt], non [tt]\vspace{1cm}[/tt].
Perché?
[…]
Il LaTeX ha due comandi, [tt]\addvspace[/tt] e [tt]\addpenalty[/tt], che possono essere usati in combinazione in modo che una sequenza di [tt]\addvspace[/tt] e [tt]\addpenalty[/tt], in qualunque ordine, produca sulla lista verticale principale lo stesso effetto pratico che produrrebbe un’unica penalità data prima di tutti gli spazi, seguita da uno spazio verticale pari al massimo fra tutti quelli specificati come argomento ai vari comandi [tt]\addvspace[/tt]; ciò assicura che, se una qualunque delle penalità indicate come argomento a uno dei comandi [tt]\addpenalty[/tt] viene scelta come punto di cesura della pagina, quest’ultima verrà interrotta prima dello spazio verticale. Facciamo un esempio: supponiamo di scrivere nel fle sorgente
`Quel ramo del lago di Como, che volge a mezzogiorno, tra due catene non interrotte di monti,
tutto a seni e a golfi, a seconda dello sporgere e del rientrare di quelli, vien, quasi a un tratto, a ristringersi,
e a prender corso e figura di fiume, tra un promontorio a destra, e un'ampia costiera dall'altra parte;
e il ponte, che ivi congiunge le due rive, par che renda ancor pi\`{u} sensibile all'occhio questa trasformazione,
e segni il punto in cui il lago cessa, e l'Adda rincomincia, per ripigliar poi nome di lago dove le rive,
allontanandosi di nuovo, lascian l'acqua distendersi e rallentarsi in nuovi golfi e in nuovi seni.\addvspace{15pt}
\addpenalty{-111}
\addvspace{20pt}
\addpenalty{-222}
\addpenalty{-333}
\addvspace{25pt}
\addpenalty{-555}La costiera, formata dal deposito di tre grossi torrenti, scende appoggiata a due monti contigui,
l'uno detto di san Martino, l'altro, con voce lombarda, il \emph{Resegone}, dai molti suoi cocuzzoli in fila,
che in vero lo fanno somigliare a una sega\ldots`
Se chiediamo a TeX, con il comando [tt]\showlists[/tt], di mostrarci l’effetto della catena di [tt]\addvspace[/tt]/[tt]\addpenalty[/tt], otteniamo, nel transcript file, la seguente descrizione:
`\glue 15.0
\glue -15.0
\penalty -111
\glue 15.0
\glue -15.0
\glue 20.0
\glue -20.0
\penalty -222
\glue 20.0
\glue -20.0
\penalty -333
\glue 20.0
\glue -20.0
\glue 25.0
\glue -25.0
\penalty -555
\glue 25.0`
Come si vede, ciascuno spazio verticale precedentemente impartito viene annullato da un corrispondente spazio negativo prima di inserire la penalità; questo fa sì che un’eventuale interruzione di pagina avvenga prima dello spazio verticale risultante. In effetti, se facciamo in modo che la catena di [tt]\addvspace[/tt]/[tt]\addpenalty[/tt] capiti in fondo a una pagina e poniamo [tt]\tracingpages = 1[/tt], così che TeX ci mostri il calcolo con cui trova il punto in cui interrompere la pagina stessa, verrà riportato qualcosa del genere:
`% t=586.0 plus 5.0 g=598.0 b=1377 p=0 c=1377#
% t=587.94397 plus 5.0 g=598.0 b=812 p=-111 c=701#
% t=587.94397 plus 5.0 g=598.0 b=812 p=-222 c=590#
% t=587.94397 plus 5.0 g=598.0 b=812 p=-333 c=479#
% t=587.94397 plus 5.0 g=598.0 b=812 p=-555 c=257#`
Come si vede, i punti di cesura possibili sono solo quelli corrispondenti alle penalità di -111, -222, ecc. che abbiamo esplicitamente impartito, e sono tutti collocati alla stessa altezza (587.94397pt), che si trova al di sopra dello spazio verticale (l’ultima riga di testo ha evidentemente una profondità di 1.94397pt). Se abbiamo anche specificato [tt]\flushbottom[/tt] (che è di default, con l’opzione [tt]twoside[/tt]), possiamo anche verificare nella stampa prodotta che l’ultima riga di testo è a filo con il margine inferiore, senza spazi aggiunti sotto.Per poter funzionare in questo modo, i comandi [tt]\addvspace[/tt]/[tt]\addpenalty[/tt] devono rigorosamente essere usati in catena: un [tt]\vspace[/tt] interrompe la catena, allo stesso modo in cui la interromperebbe, per esempio, un capoverso. A questo punto, se una penalità successiva, anche aggiunta con [tt]\addvpenalty[/tt], venisse scelta come punto di cesura, la pagina appena conclusa includerebbe dello spazio verticale alla fine, il che è chiaramente erroneo.
Ora, tutto ciò premesso, ricordiamo che l’ambiente [tt]center[/tt] aggiunge lo spazio verticale che lo conclude con [tt]\addvspace[/tt]; esso quindi si “comporta bene” nei confronti di eventuali comandi [tt]\addpenalty[/tt] che dovessero seguire, o perché impartiti direttamente dall’utente, o perché inclusi in altri comandi o ambienti predefiniti. Ma se io aggiungo un [tt]\vspace[/tt] subito dopo, rompo la catena, e qualsiasi (eventuale) successivo comando [tt]\addpenalty[/tt] non funzionerà come dovuto, poiché inserirebbe nella lista verticale un potenziale punto di cesura che lascerebbe dello spazio verticale spurio in fondo alla pagina appena conclusa.
La spiegazione è stata un po’ lunga, ma in effetti la questione è piuttosto complessa. Spero di essere riuscito a sciogliere i dubbi.
Ciao.
—
Gustavo
::
Se si preferisce lasciare un po’ di spazio fra l’intestatario della fattura e la data, suggerirei la seguente definizione di [tt]\makeinvoicepresentation[/tt], più “pulita”:
`\newcommand*{\makeinvoicepresentation}{%
\begin{presentation}%
\makeaddressee\relax % nota: non “\makeaddressee*”
\makedate\relax % nota: niente “\prevdepth = 0pt” che precede
\bigskip
\noindent\ignorespaces\thesubject\par
\end{presentation}%
}`
Inserire [tt]\makesignature[/tt] dentro il comando [tt]\stopletter[/tt] è un po’ strano dal punto di vista della leggibilità del markup (un umano che legge il sorgente si aspetta di trovare, alla fine della lettera, un [tt]\closing{…}[/tt] o qualcosa di logicamente equivalente), ma non ha alcuna controindicazione pratica. Non capisco però, a questo punto, perché non includere in [tt]\stopletter[/tt] anche le istruzioni per il pagamento. A proposito, secondo me c’è troppo spazio verticale sopra queste ultime, un [tt]\bigskip[/tt] è già troppo; toglierei anche il [tt]\bigskip[/tt] fra le coordinate bancarie e il testo successivo («Operazione assoggettata…»), giacché lo spazio fornito dall’ambiente [tt]center[/tt] mi sembra già perfetto. In ogni caso, quando si mette dello spazion verticale sotto un ambiente come [tt]center[/tt], è preferibile usare il comando [tt]\addvspace[/tt]: per esempio, [tt]\addvspace{1cm}[/tt], non [tt]\vspace{1cm}[/tt].Infine, nel piedino, forse è meglio sostituire i pallini con dei trattini medi ([tt]–[/tt]).
Ciao.
—
Gustavo
::
Approssimazione n. 2:`\documentclass
[noindent,italicsignature,signaturerule]
{letteracdp}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{cdpbabel}
% \usepackage{tabularx}
\usepackage{eurosym} % also loaded by calctab, but without “left” option
\usepackage{calctab}
\usepackage{layaureo}
% \usepackage{codicefiscaleitaliano} % does not tolerate “\,”
% Begin excerpt from “marvosym.sty”
\newcommand{\mvs}{\fontfamily{mvs}\fontencoding{U}%
\fontseries{m}\fontshape{n}\selectfont}
\newcommand{\mvchr}[1]{{\mvs\char#1}}
\newcommand\MVAt {\mvchr{64}}
\newcommand\FAX {\mvchr{117}}
\newcommand\Fax {\mvchr{118}} % why not this?
\newcommand\fax {\mvchr{116}} % or this?
\newcommand\Telefon{\mvchr{84}}
% End excerpt from “marvosym.sty”
\usepackage[customletterhead]{cdpaddon}[2015/01/21]
% \usepackage{graphics} % … or graphicx? Anyway, not needed for now.
\usepackage[skins]{tcolorbox}
% \usepackage{url} % loaded by hyperref
\usepackage{hyperref}
% \usepackage{fancyhdr} % ???\signature{Taldei Tali}
\place{Roma}\newcommand*{\invoice}[2]{\textbf{Fattura n.~#1:} #2.}
\newcommand*{\makeinvoicepresentation}{%
\begin{presentation}%
\makeaddressee*
\prevdepth 0pt
\vspace{-\baselineskip}%
\makedate\relax
\nobreak\bigskip
\noindent\ignorespaces\thesubject\par
\end{presentation}%
}\ctdescription{Descrizione voce}
\newcommand{\marca}{%
\begin{tcolorbox}[
% rounded corners=all,%
width=3.5cm,%
colframe=gray,%
% borderline={1.5pt}{-5pt}{blue,dotted},%not working!!
% opacityback=0.9,%
% opacityframe=0.3,%
% opacityupper=0.3,%
left=0.1cm,%
right=0.1cm,%
top=0.1cm,%
bottom=0.1cm%
]%
\hbadness 3000 % avoid “Underfull \hbox …” warning
\sffamily Apporre marca da bollo da \EUR{2,00}%
\end{tcolorbox}%
}
\renewcommand*{\stopletter}{%
\begingroup
\footnotesize
Operazione assoggettata al regime fiscale di vantaggio previsto
dall'art.~1, commi \mbox{96-117}, della L.~n.~244/2007 come modificata
dall'art.~27, commi 1 e~2, del D.L.~n.\ 98/2011;
non soggetta ad applicazione di ritenuta d'acconto ai sensi del
provvedimento del Direttore Agenzia Entrate n.~185820 del
22/12/2011.\par
\endgroup
\bigskip\marca
}% Definition of your letterhead occurs here:
\begin{customletterhead}{\textwidth}
\centering \huge\bfseries\scshape
Avv.~Taldei Tali
\end{customletterhead}
\begin{customletterfoot}{\textwidth}
\centering \footnotesize
\ruleacrossheadorfoot
Piazza Eulero~3, 00153 Roma —
Tel.~\Telefon~+3934022222222 \textbullet\ % opzionale: introduce stacco
% grafico
fax~\FAX~06222222222??\\
email~\MVAt~nome.cognome@gmail.com \textbullet\
pec: unapec@pec.it\\
\textsc{c.f.}\@:~TLA\,TLD\,85H04\,H903\,H \textbullet\
\textsc{p.~iva}:~22222222222 \textbullet\
Polizza assicurativa n.~22222222
\end{customletterfoot}\begin{document}
\begin{letterhead}{
Cliente Tal dei Tali\\
Largo Mah, 2\\
00153\quad ROMA\quad RM\\[\medskipamount]
\textsc{c.f.}\@:~DTL\,TLA\,85H01\,H501\,K\\
\textsc{p.~iva}:~22222222222}
[\invoice{1}{Pratiche qui, quo e qua}]\makeinvoicepresentation
%fattura con calctab non funzionante con riguardo alla lingua
\begin{calctab}
\amount[id=qui]{Consulenza pratica Qui}{500}
\amount[id=quo]{Consulenza pratica Quo}{500}
\amount[id=qua]{Consulenza pratica Qua}{500}
\perc[id=cpa]{Contributo cassa di appartanenza}{4}
\add{Totale complessivo}
\end{calctab}\bigskip\makesignature
\end{letterhead}
\end{document}
`Commenti:
- Il pacchetto marvosym ha effettivamente almeno un’incompatibilità con eurosym: entrombi cercano di definire il comando [tt]\EUR[/tt] (con due significati diversi!). Risolvo evitando di caricare marvosym e definendo direttamente i pochi comandi che effettivamente andrò a utilizzare.
- Ho tolto un po’ di pacchetti non utilizzati o caricati due volte. Notare che hyperref va caricato per ultimo!
- Non è obbligatorio nemmeno iniziare una lettera con [tt]\makepresentation[/tt]. Qui definisco un mio comando [tt]\makeinvoicepresentation[/tt] concepito nel modo seguente:
-
Innanzitutto, inviluppo tutta la stampa prodotta da [tt]\makeinvoicepresentation[/tt] in un ambiente [tt]presentation[/tt]; quseto consente di confezionare una “presentazione” (la parte iniziale della lettera che normalmente contiene indirizzi e oggetto) fatta come la vogliamo noi. L’ambiente [tt]presentation[/tt] serve ad assicurare che il resto della classe “veda” il nostro contenuto alla stregua di una “presentazione” standard, e lo tratti come tale, cioè come, ripeto, la parte dedicata a indirizzi e oggetto.
- Utilizzo il comando [tt]\makeaddressee*[/tt] per produrre l’indirizzo del destinatario; la [tt]*[/tt]-form serve a eliminare, però, la spaziatura che normalmente seguirebbe.
- Stampo luogo e data con [tt]\makedate[/tt], preceduto da un trucchetto che allinea la data con l’ultima riga dell’indirizzo.
- Stampo l’oggetto. Potrei usare il comando [tt]\makesubject[/tt], ma questo produrrebbe l’oggetto con la formattazione predefinita, che in questo caso non va bene; invece [tt]\thesubject[/tt] mi restituisce il contenuto “grezzo” dell’argomento opzionale dedicato all’oggetto (attenzione: spazi iniziali e finali compresi!), lasciandomi libero di dargli io il formato che voglio. Notare che questa soluzione rende inutile ridefinire [tt]\subjectname[/tt] come la stringa nulla. Un’ultima osservazione: si potrebbe usare un trucco in più per evitare di dover scrivere ogni volta [tt]\invoice[/tt] nell’oggetto, ma ho prefeito evitarlo.
[/li]
- Nel comando [tt]\marca[/tt] ho commentato un po’ di cose che non mi funzionano, probabilmente perché sono al mare e sto usando il computer vecchio, che ha una TeXLive 2013. Ripristinate voi il codice che ritenete opportuno.
- Il comando [tt]\stopletter[/tt] contiene codice da eseguire alla fine di ogni lettera; normalmente è vuoto, e va ridefinito con [tt]\renewcommand[/tt].
- La classe letteracdp accetta l’opzione [tt]italicsignature[/tt], che fa stampare la firma in corsivo.
[/ol]
Meta: Per stampare stringhe come [tt]\macro[/tt] bisogna scrivere: [ tt ]\macro[ /tt ], ovviamente senza gli spazi (li ho messi per evitare che il parser interpretasse il markup.Ciao.
—
Gustavo
::
Proviamo ad andare per approssimazioni successive: io suggerisco una soluzione provvisoria, @furbenzio risponde quanto siamo vicini e in che direzione fare il passo successivo.Approssimazione n. 1:
`\documentclass[noindent]{letteracdp}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{cdpbabel}
\usepackage{tabularx}
\usepackage{calctab}
\usepackage{layaureo}
% \usepackage{lipsum}
\usepackage{eurosym}\makeatletter
\newcommand*{\invoice}[2]{%
\textbf{Fattura n.~#1 del~\@date:} #2%
}\makeatother
\addto\captionsitalian{\def\subjectname{}}
\ctdescription{Descrizione voce}\address{
Avv.~Tal dei Tali\\
Piazza Bo, 1\\
00153\quad ROMA\quad RM\\[\medskipamount]
c.f.\@: DTL\,TLA\,65A27\,H501\,Z\\
P.~IVA\@: 11111111111
}
\signature{Firma}\place{Un luogo}
\begin{document}
\begin{letter}{
Cliente Tal dei Tali\\
Largo Mah, 2\\
00153\quad ROMA\quad RM\\[\medskipamount]
c.f.\@: DTL\,TLA\,85H01\,H501\,K\\
P.~IVA\@: 22222222222
}
[\invoice{1}{Pratiche Qui, Quo e Qua}]\makepresentation
\begin{calctab}
\amount[id=qui]{Consulenza pratica Qui}{500}
\amount[id=quo]{Consulenza pratica Quo}{500}
\amount[id=qua]{Consulenza pratica Qua}{500}
\perc[id=cpa]{Contributo cassa di appartanenza}{4}
\add{Totale complessivo}
\end{calctab}\vspace{2cm}
{\small Operazione assoggettata al regime fiscale di vantaggio previsto
dall'art.~1, commi \mbox{96-117}, L.~n.~244/2007 come modificata dall'art.~27,
commi 1 e~2, del D.L.\ n.\ 98/2011; non soggetta ad applicazione di ritenuta
d'acconto ai sensi del provvedimento del Direttore Agenzia Entrate n.~185820 del
22/12/2011.\par}\makesignature
\end{letter}
\end{document}
`Punti da notare:
- L’opzione [tt]noindent[/tt] data alla classe letteracdp sopprime l’indentazione di tutti i capoversi.
- Definisco un comando [tt]\invoice[/tt] che “formatta” (perdonate l’anglicismo) l’intestazione della fattura, prelevandone la data dalla macro interna [tt]\@date[/tt]: questo assicura che sia possibile specificare una data alternativa a [tt]\today[/tt], utilizzando la solita dichiarazione [tt]\date[/tt].
- Disattivo la scritta “Oggetto:” ridefinendo il comando [tt]\subjectname[/tt] come una stringa vuota; siccome (cdp)babel ripristinerebbe l’impostazione originaria “Oggetto:” al [tt]\begin{document}[/tt], utilizzo [tt]\addto\captionsitalian[/tt]. Volendo, si può fare in modo più elegante.
- Non è affatto obbligatorio usare il comando [tt]\opening[/tt]; per esempio, posso usare il comando [tt]\makepresentation[/tt] (senza argomenti), che stampa gli indirizzi e l’oggetto (non la data)
- Il testo finale è stampato [tt]\small[/tt] (io opterei anche per [tt]\footnotesize[/tt]). Notare il gruppo [tt]{\small … \par}[/tt], con il comando [tt]\par[/tt] dato prima che il gruppo finisca.
- Nemmeno il comando [tt]\closing[/tt] è obbligatorio: [tt]\makesignature[/tt] stampa solo la firma. Proverei anche con l’opzione [tt]signaturerule[/tt] (data alla classe; richiede letteracdp vers. 0.36, disponibile in TeXLive 2015).
Sentiamo le controdeduzioni… 🙂
Ciao.
—
Gustavo
24 Luglio 2015 alle 11:24 in risposta a: messaggio: “This is pdfTeX, Version 3.14159265-2.6-1.40.15… #102601::william” post=102481Grazie!! Ora funziona, ma non mi legge le lettere accentate, nonostante abbia aggiunto \usepackage[applemac]{inputenc}. Come mai?
Nell’argomento opzionale di [tt]\usepackage{inputenc}[/tt] devi mettere il nome della codifica che il tuo editor effettivamente usa per salvare i file: sei sicuro che l’editor che usi salvi i file con la vecchia codifica Apple Mac? Diversi editor moderni usano utf8, anche se stai usando un Mac.
—
Gustavo (non Corrado :wink:)
::emy” post=102229[…] purtroppo […] non ottengo il risultato desiderato….La scritta è spostata sulla destra e non sotto “sup”…Possiamo migliorare il codice?
Il comando [tt]\sup[/tt] inserisce in una formula un «operatore» (nella terminologia LaTeX), che può avere o non avere il pedice composto a stampa come un «limite» a seconda di certe impostazioni.
Per diversi operatori, tra cui [tt]\sup[/tt], le impostazioni di default sono di lasciare il pedice nella sua posizione, per così dire, naturale quando la formula compare in testo, cioè come parte del capoverso che si sta componendo; in pratica, quando la formula è racchiusa tra due [tt]$[/tt], o tra [tt]\([/tt] e [tt]\)[/tt]; ma di spostare il pedice nella posizione di un «limite» (cioè, sotto il nome dell’operatore stesso) quando la formula è composta fuori testo (displayed formula, come si dice in inglese); in pratica, quando è racchiusa in un ambiente tipo [tt]equation[/tt]. Questo comportamento di default si può però modificare facendo seguire al comando che produce l’operatore (cioè, nel nostro caso, al comando [tt]\sup[/tt]) le parole chiave [tt]\limits[/tt] o [tt]\nolimits[/tt]. Precisamente, scrivendo `\sup\limits`si sposterà il pedice sotto l’operatore anche in una formula in testo, mentre dicendo`\sup\nolimits`si obbligherà TeX a lasciare il pedice nella sua posizione di pedice anche in una formula fuori testo.
Attenzione, però: modificare le impostazioni di default circa i «limiti» è, in generale, poco raccomandabile, perché si ottengono risultati tipografici di dubbia qualità.
Ancora un’ultima precisazione: il pacchetto amsmath prende delle precauzioni speciali per disabilitare la capacità di contravvenire alle impostazioni di default per alcuni operatori: cioè, rende vano l’effetto di una controindicazione esplicita come [tt]\limits[/tt]. Questo, però, non è il caso di [tt]\sup[/tt].
Aggiunta
Mi accorgo che effettivamente OldClaudio si è dimenticato la barra rovesciata prima di [tt]sup[/tt]: è ovvio che se si scrive [tt]sup_{…}[/tt] anziché [tt]\sup_{…}[/tt], il pedice non verrà mai fuori in posizione di «limite»!
Secondo gli oculisti, questo tipo di inconvenienti capita facilmente a chi, come me, ha già passato i 40-45: penso che anche OldClaudio sia già oltre questo limite… 😉
Ciao.
—
Gustavo
::
Aggiungo soltanto che tra le parentesi quadre che seguono il messaggio [tt]Underfull \vbox (badness 10000) has occurred while \output is active[/tt] trovi il numero della pagina in cui il problema si verifica: ciò, ovviamente, facilita la sua identificazione. 🙂Modifica
A (s)proposito, non vedo molta differenza tra l’usare [tt]\\[/tt] e l’usare [tt]\newline[/tt]… 😕 Quali sarebbero le «situazioni estreme»?Ciao.
—
Gustavo
::
Mi faccio scrupolo di aggiungere una precisazione in calce a questa vecchia discussione perché solo oggi ho scoperto, in una discussione su TeX.SX, che il trucco di “annegare” una scatola dentro [tt]\cleaders[/tt] per renderla scaricabile, e farla così sparire, in corrispondenza di un’interruzione di pagina (o di riga) ha una paternità precisa, che uno come egreg (lo conoscete? 🙂 ) si preoccupa di citare ogni volta che si trova ad usare un’idea simile: pare sia dovuto a Marcin Woliński («How to make a box disappear at a line break»), che lo ideò nel 2007.Preciso questo fatto perché non vorrei mai, a questo punto, correre anche solo il rischio di passare per plagiario: vi prego di voler credere che non ero assolutamente consapevole di questa paternità così importante, e che il trucco in questione mi è venuto in mente in modo del tutto indipendente. Anzi, nella mia ingenuità pensavo che fosse un trucchetto moderatamente astuto, sì, ma tutto sommato abbastanza ovvio e quindi, per così dire, “folkloristico”. Vi prego di nuovo, non prendete quest’ultima frase come una vanteria: è che proprio odierei essere preso per ladro d’idee! 🙁
Ciao.
—
Gustavo
::
Si potrebbe anche adottare una ridefinizione dell’ambiente [tt]abstract[/tt] che continua a funzionare (più o meno) come quella originariamente intesa nel caso di sommari brevi, ma si adatta automaticamente al caso di sommari più lunghi.Modifica: Per soverchia prudenza, ho aggiunto anche [tt]\interlinepenalty \@M[/tt]: in pratica non servirà mai, nemmeno se [tt]\abstractname[/tt] dovesse generare un titolo lungo un paio di righe, ma dal punto di vista “teorico” è meglio metterlo.
`
\documentclass[a4paper]{book}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage{lipsum}\makeatletter
\newenvironment*{abstract}{%
\cleardoublepage
\vspace*{\@ne\bigskipamount \@plus \@ne fil}% adjustable
% Judiciously borrowing from the “\samepage” command:
\begingroup
\@beginparpenalty \@M
\@endparpenalty \@M
\interlinepenalty \@M % Just in case “\abstractname” generates a
% multi-line title.
\begin{center}\bfseries\abstractname\end{center}%
\endgroup
\small % optional
}{%
% \newpage % probably what is wanted
% Superseded by the following, which I deem better:
\vspace{\tw@\bigskipamount \@plus \tw@ fil}% adjustable too
\break
}\makeatother
\begin{document}
\begin{abstract}
Cominciamo con un sommario “corto''.
\lipsum[2]
\end{abstract}Il testo che segue.
\begin{abstract}
Ora, per\`{o}, mettiamo un sommario “bello lungo''.
\lipsum[1-16]
\end{abstract}Il testo che segue.
\end{document}
`In questo esempio essenziale non ho preso in considerazione il pacchetto fancyhdr, perché irrilevante, ma, volendo, è facile aggiungere il codice relativo.
Ciao.
—
Gustavo
::
[Sempre OT, ma interessante e sostenuto, mi pare, da un certo consenso]Cara Angie2117,
molte grazie per la risposta niente affatto prolissa, ma precisa, completa e densa, oltre che chiara. Si potrebbe fin troppo facilmente osservare che da una studentessa di scuola superiore che usa (La)TeX non ci si poteva aspettare di meno. 🙂 Permettimi di associarmi ai complimenti per la tua tesina e di farti un cordiale «in bocca al lupo» per l’esame.
Se non sto diventando indiscreto, posso chiedere anche che scuola stai terminando? Mi viene da pensare, infatti, che il LaTeX ti sia stato fatto conoscere da qualche tuo insegnante; ma forse non è così, e in tal caso dimentica pure la domanda.
Ciao e ancora grazie.
—
GustavoP.S. @OldClaudio: I giovani maturandi profondi, studiosi e con le idee chiare (in un’unica espressione: “davvero in gamba”) ci sono e non sono proprio rarissimi, anche se, ahimè, abbastanza rari sì. Non ho mai condiviso quella retorica che contrapporrebbe in blocco «le giovani generazioni» alla «generazione precedente», sempre considerata in blocco, della quale ultima, e della cui dissennatezza, le prime sarebbero le vittime. Sono per l’individualismo: ci sono molti giovani arcimeritevoli, ma anche moltissimi altri arcifelici di accodarsi alla dissennatezza dei padri, e di adagiarvisi.
::
[Off-topic]Posso chiedere su che argomento è la tesina, esattamente? Vedo che si parla di sistema eliocentrico, ma sarei curioso di avere qualche informazione positiva.
Questa mia curiosità non è fine a sé stessa: per ragioni professionali, mi interessa sapere per quali scopi usano il (La)TeX quei pochissimi studenti delle scuole superiori che lo usano, e quali siano i loro interessi di studio.
Grazie in anticipo per l’eventuale risposta.
—
Gustavo
-
AutoreRisposte