Un grazie di cuore a tutti quelli che hanno voluto aiutarmi nella soluzione del mio problema! 🙂
Adesso cerco io di essere utile a qualcun altro, se mai dovesse averne bisogno in futuro, riassumendo i punti principali di questo discorso (e facendo qualche piccola considerazione):
-
sono persuaso che la soluzione migliore per me (perché una soluzione universale non esiste 😉 sia quella proposta dal prof. Gregorio (eliminare \sloppy e \fussy e usare \raggedright{…}); tra l’altro, mi sono persuaso a diminuire la dimensione del corpo del carattere per ottenere una giustificazione meno “indecente” 😉
-
visto che pensavo di utilizzare questo frontespizio non per un singolo documento ma per una serie di documenti, ho pensato che fosse più corretto separare il contenuto dalla presentazione, come si fa nei linguaggi di marcatura per il web, inserendo il codice appena visto in un file di classe. Siccome non l’ho mai fatto prima (ho preso spunto da qui e da qui), forse non ho tenuto conto di qualche usanza e/o consuetudine. In tal caso, chiedo scusa ;-).
Per chiarezza, riassumo di seguito il codice riveduto e corretto, che non si trova più all’interno di un file LaTeX (.tex) ma in un file di classe (.cls) (es. book-frontispiece.cls):
`%% book-frontispiece.cls
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{book-frontispiece}
[2006/03/11 Classe per personalizzare il frontespizio. Si basa su `book.cls']
%%
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
\ProcessOptions
\LoadClass{book}
%%
\renewcommand{\maketitle}{
\setlength{\parindent}{0pt}
\thispagestyle{empty}
\rule{\linewidth}{5pt}
{\raggedright\fontsize{30}{36}\selectfont\sffamily{}\@title\par}
\vspace{1em}
\rule{\linewidth}{5pt}
%\vspace{1em} % Non funziona! Come mai?
\vskip 1em % Ho dovuto usare \vskip
{\raggedleft\LARGE\sffamily{}\@date\par}
\setlength{\parindent}{15.0pt}
\clearpage
}
%%
\endinput`
Ho anche creduto che fosse più corretto ridefinire \maketitle con \renewcommand{…}{…} (visto che esisteva già), piuttosto che usare \def…Tale classe di documento può essere richiamata in un file LaTeX nel modo seguente:
`\documentclass[a4paper,italian]{book-frontispiece}
\title{Appunti del corso di Algoritmi e Strutture Dati}
\author{Pinco Pallino}
\date{\isodash{.}\isodate{\today}} % formattazione data% Pacchetti
\usepackage{avant} % AvantGarde
\usepackage[italian]{babel}
\usepackage[T1]{fontenc}
\usepackage{isodate} % per scrivere la data in formato aaaa.mm.gg
\usepackage[top=2cm,left=2cm,right=2cm,bottom=2cm]{geometry}
\usepackage[latin1]{inputenc}
\usepackage{mathptmx} % Times
\frenchspacing\begin{document}
\maketitle
\end{document}`
-
già che c’ero, ho modificato la classe in modo che permettesse pure l’inserimento della data (formattata in un modo un po’ diverso grazie al pacchetto isodate); non riesco però a capire perché \vspace{…} non funziona più (ho dovuto usare \vskip)! Qualcuno ha qualche spiegazione?
-
se mi avanza un po’ di tempo, cercherò di scrivere una piccola guida che riassume il nostro bel discorso.
Grazie ancora e buon finesettimana a tutti! 🙂