Risposte nei forum create
-
AutoreRisposte
-
::
Ringrazio sia Luca che il prof. Gregorio per l’attenzione che hanno dedicato al mio problema e per i loro consigli. Per quanto riguarda quello che mi ha detto Luca, non mi dimenticherò di certo questo tuo suggerimento con le scatole, al quale non avevo pensato, però…… meglio procedere a creare il frontespizio manualmente, evitando di ridefinire \maketitle, decidendo personalmente dove far andare a capo il titolo.
… questo purtroppo non posso farlo, perché, colpa mia che non l’ho detto, non volevo creare un frontespizio per un documento specifico, ma per una serie di documenti generali, che, caso per caso, potrebbero avere un testo più o meno lungo di quello che vi ho mostrato.
Per quanto riguarda la tua proposta di usare \hyphenation{…}, come vedi, l’ho adottata.
In merito ai consigli del prof. Gregorio, invece:
Se proprio ci tieni a mischiare Times e AvantGarde, almeno usa i pacchetti mathptmx e avant.
Bene, grazie. Noto che in questo modo non mi è neppure più necessario ridefinire i font romani e senza grazie predefiniti.
Quanto al titolo: è poco probabile che un titolo a corpo 40 possa essere giustificato in modo decente…
E infatti, come può vedere più avanti, ho optato per una soluzione indecente (vi prego, non arrabbiatevi, l’ho fatto solo per il titolo… 😉
Azzerare \parindent e usare \parskip è una cosa da non fare in un testo lungo.
Bene, come può vedere, riporto \parindent al suo valore predefinito non appena stampato il titolo.
Per distanziare la linea usa \vspace.
Bene, grazie. Così, tra l’altro, non tocco \parskip.
Riporto di seguito il codice rivisto, per completezza:
`\documentclass[a4paper,italian]{book}
\title{Appunti del corso di Algoritmi e Strutture Dati}
\author{Pinco Pallino}% Pacchetti
\usepackage{avant} % AvantGarde
\usepackage[italian]{babel}
\usepackage[T1]{fontenc}
\usepackage[top=2cm,left=2cm,right=2cm,bottom=2cm]{geometry}
\usepackage[latin1]{inputenc}
\usepackage{mathptmx} % Times
\frenchspacing% Impedisco che il titolo possa essere spezzato.
\hyphenation{Appunti del corso di Algoritmi e Strutture Dati}% Ridefinisco \maketitle
\makeatletter
\def\maketitle{
\setlength{\parindent}{0pt}
\thispagestyle{empty}
\rule{\linewidth}{5pt}
{\sloppy\fontsize{40}{48}\selectfont\sffamily{}\@title\par\fussy}
\vspace{1em}
\rule{\linewidth}{5pt}
\clearpage
\setlength{\parindent}{15.0pt}
}
\makeatother\begin{document}
\maketitle
\end{document}`
La giustificazione indecente alla quale mi riferisco è relativa alla sola riga:`{\sloppy\fontsize{40}{48}\selectfont\sffamily{}\@title\par\fussy}`
Premesso che ho dato un’occhiata all’Elenco dei “peccati” degli utenti di LaTeX2e (non che l’aver chiamato \fussy mi redima, ma almeno limita gli effetti della mia porcheria ;-), faccio notare come, in questo modo, ho ottenuto esattamente l’effetto visivo che desideravo all’inizio. Mi dà solo un po’ fastidio l’avviso di spaziatura orizzontale eccessiva (Underfull \hbox) evidentemente generato da \sloppy in congiunzione con \hyphenation{…}…… Meglio \raggedright (o \centering, dipende dal titolo).
Ci avevo pensato anch’io, ma se prova a mettere, per esempio, \raggedright, che potrebbe essere la scelta più sensata, nella riga con \sloppy, l’effetto prodotto da quest’ultimo (il fatto che il testo venga esteso per occupare tutto lo spazio orizzontale disponibile) non si realizza più. Questo effetto sparisce pure commentando \hyphenation{…}, ovviamente.
Grazie comunque a tutti per la pazienza dedicatami! Spero che nessuno mi neghi il saluto per quello che ho fatto! 😉
Alla prossima!
::di solito cerco di risolvere i problemi apportando modifiche al solo preambolo senza dover intervenire sul documento già scritto.
Questo è giusto, ma mi sa che in questo caso non puoi farci niente. Ti riporto un esempio che talvolta compare anche nelle guide base di LaTeX (per esempio, su Una (mica tanto) breve introduzione a LaTeX2e, a pag. 26 (42)): se tu devi scrivere un documento, e in questo documento ti dicono espressamente che nella stringa “Ing. Bianchi” le parole “Ing.” e “Bianchi” non devono essere separate in nessun punto del documento, tu sei comunque costretto (se vuoi rispettare la consegna) a piazzare una tilde tra “Ing.” e “Bianchi” all’interno del tuo documento per ogni occorrenza di questa stringa, semplicemente perché non sai in che punto della riga essa andrà a finire. Anzi, se vedi proprio che tale stringa oggi casca a metà riga, non puoi comunque desumere alcun posizionamento assoluto della stessa, dal momento che tra un mese potrebbe insorgere la necessità di modificare quel testo, e la stringa che prima cadeva a metà ora viene spezzata…
Nel dubbio, non hai altra scelta che inserire la tilde in tutte queste occorrenze, anche per quelle che, potenzialmente, potrebbero non averne mai bisogno.
Almeno secondo me, quindi, il fatto di dover modificare tutte le occorrenze di “TASC-INFM” (in “\TASCINFM”) non è più grave di doverlo fare per tutte quelle di “ing. Bianchi” (in “ing.~Bianchi”); il vero problema è se la soluzione della scatola è pulita o no… 🙂
Comunque, ho trovato un’altra fonte che, più o meno, corrobora la mia tesi.
Comunque le tue proposte funzionano, grazie dell’interessamento.
Grazie a te! A presto! 🙂
::`\hbox{TASC-INFM} `
E, già che ci siamo, se ti è pesante scrivere \hbox{TASC-INFM} ogni volta che ti serve, potresti definire nel preambolo il comando:
`\newcommand{\TASCINFM}{\hbox{TASC-INFM}}`
così ti sarebbe sufficiente scrivere, ogni volta che ti occorre, solo \TASCINFM e non \hbox{TASC-INFM}. Siamo arrivati alla stessa lunghezza nella digitazione, così… 😉
::
Ciao Luca.Su due piedi, protresti inserire la parola che non vuoi spezzare in una scatola:
`\hbox{TASC-INFM} `
In teoria dovrebbe bastare.Nota che, se tu non avessi avuto bisogno del trattino, avrebbe potuto bastarti una tilde (che legava le parole con uno spazio bianco e impediva loro, per quanto possibile, di essere stampate su due righe differenti). In questo caso, inoltre, non ci sarebbe stato bisogno di ricorrere alla scatola, che forse potrebbe essere considerato un trucco non proprio pulitissimo…
::
Ciao ispooky83.Il fatto è che sono molto pigro…e la mia macchina anche…quindi se c’è la possibilita di evitare un passaggio facci di tutto per farlo!!
Hai perfettamente ragione 🙂
Il consiglio che ti ha dato Emiliano, a mio avviso, è la cosa migliore.
A puro titolo informativo, se usi MS-Windows, e quindi non hai a disposizione (almeno non direttamente) una shell bash, ti indico una (stupidissima) sequenza di istruzioni che possano essere eseguite dall’interprete dei comandi di MS-Windows; fanno circa la stessa cosa dello script di Emiliano:Copia le seguenti righe di codice in un file di testo, che devi posizionare nella stessa cartella dei tuoi file LaTeX:
`pdflatex nomefile.tex
pdflatex nomefile.tex
# infilaci qui altri comandi per la compilazionedel *.aux *.log *.toc # aggiungi qui le estensioni dei file che vuoi levare`
Rinomina questo file di testo in modo che abbia estensione BAT (per esempio, “vai.bat”) e basta che, quando devi compilare, tu faccia doppio clic su questo file BAT… più automatico di così! 😉
P.S. sopra ho detto circa perché:
-
non so come si facciano (né so se sia possibile fare) i cicli for nell’interprete dei comandi di MS-Windows;
-
per la stessa ragione, i nomi dei file sui quali vai a operare devono essere indicati in modo esplicito.
Spiacente, non so fare di meglio 🙁
Ciao!
::come faccio a scegliere dei font che mi piacciono e a vederne il nome? ci vorrebbe una sorta di lista dei font con tutto l’elenco delle specifiche necessarie, esiste?
Una cosa molto ben fatta (almeno secondo me) è la guida sui caratteri in LateX di Luigi Carusillo.
-
-
AutoreRisposte