Ciao a tutti.
Riporto il codice che ho utilizzato per passare agevolmente da una formattazione tradizionale ad una 30×60.
Premetto che uso Latex da poco tempo e vi prego di non inorridire per la rozzezza del mio codice.
Questo è il documento .tex di partenza:
`
\documentclass[12pt,a4paper,openany, twoside]{mwbk}
%%% Pacchetti base
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[italian]{babel}
\frenchspacing
%\usepackage{newcent} % newcent, palatino, times \larg{37em} !!!
%%% Fancy Headings
\usepackage{fancyhdr}
\pagestyle{fancy}
%% Personalizza fancy
\fancyhead{}
\fancyhead[LE]{Luca Di Gialleonardo}
\fancyhead[RE]{P~S~I}
\fancyhead[LO]{\leftmark}
\fancyhead[RO]{\rightmark}
\cfoot{\thepage}
%% Cambia Mark
\renewcommand{\chaptermark}[1]{\markboth{\chaptername\ \thechapter}{#1}}
%%% Comandi veloci
\newcommand{\e}[1]{\emph{#1}} % Per creare del testo enfatizzato
\newcommand{\spazio}{\bigskip \noindent}
%%%%% Conversione in CARTELLA %%%%%
\addtolength{\headwidth}{1cm}
%% TESTO NORMALE %% Disattiva se 30×60
\usepackage[rilegatura=1cm]{layaureo}
%% TESTO CARTELLA %%
% \usepackage{cartella}
% \larg{37em}
%%% Title Page
\title{P~S~I}
\author{Luca Di Gialleonardo}
\date{\small Romanzo}
%%%%%%%%%%%%%%%%%%%%%%%%%%%% Inizio Documento %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
% \sloppy % Attivare solo in modalità 30×60 %%%%%%%%%%%%
\frontmatter
\maketitle
\tableofcontents
\mainmatter
\include{00prologo}
…
`
Con questo preambolo ho un testo standard.
Se voglio passare al 30×60, imposto il oneside (ma solo per semplicità), decommento le righe:
`
\usepackage{cartella}
\sloppy
`
e commento la riga che attiva il layaureo.
Questo è il contenuto del pacchetto cartella.sty:
`
\ProvidesPackage{cartella}[2004/07/30 v0.1 costruzione cartella 30×60]
%% TESTO CARTELLA %%
\renewcommand{\rmdefault}{\ttdefault} % Carattere monospazio
\setlength{\parindent}{0pt} % Togli indentazione
\linespread{1.6} % Interlinea doppia
\usepackage[htt]{hyphenat} % Sillabazione per carattere monospazio
\setlength{\textwidth}{32em} % Righe di 60 caratteri DEFAULT
\newcommand{\larg}[1]{\setlength{\textwidth}{#1}
\setlength{\headwidth}{\textwidth}} % rivedi larghezza
\setlength{\headwidth}{\textwidth} % Correzione larghezza intestazione
`
In questo modo ottengo pagine con caratteri monospazio di 60 righe e con un massimo di 30 battute per riga.
Ho dovuto aggiungere il comando \larg perché se utililizzo il pacchetto newcent (ma anche palatino e altri) viene utilizzato il courier come carattere monospazio e la larghezza di 32em della pagina non è più sufficiente per avere righe di 30 battute. Utilizzando questi pacchetti devo decommentare la righa \larg{37em} nel preambolo del documento per correggere il tutto.
Ma ho un dubbio: mi pare di aver capito che l’unità di misura em equivale alla larghezza della lettera m (o M?) nel font di default. Pensavo che settando la larghezza del testo a 30em avrei ottenuto il risultato cercato, ma sbagliavo. Ciò avviene perché la ridefinizione dell’rmdefault, non cambia il font di base?
In ogni caso spero di non aver commesso gravi errori e che qualcuno di voi possa darmi buoni consigli per migliorare il codice.
Magari si potrebbe creare un pacchetto come si deve e metterlo a disposizione degli altri, forse non sono l’unico ad avere questa esigenza.
Grazie mille a tutti, Luca.