Carissimi, ecco una domanda sicuramente un po’ strana, ma che mi sta particolarmente a cuore.
Per ragioni che non vi sto a spiegare, ho un gran bisogno di un ambiente “elenco” che simuli la bibliografia che si può ottenere con ClassicThesis+ArsClassica+classic.bst (quella che c’è nell’Arte o nei miei articoli “L’arte di… con LaTeX”, per intenderci).
Ci sono quasi. Carico il pacchetto enumitem e definisco il seguente ambiente:
`\newenvironment{elenco}{%
\sloppy
\clubpenalty4000
\widowpenalty4000
%
\begin{itemize}[itemindent=-0.5em,itemsep=0.5em,leftmargin=*,label={}]}%
{\end{itemize}}`
che uso così:
`\section*{Riferimenti bibliografici}\begin{elenco}
\item
\textsc{Oetiker, T.} (2008), \emph{\inglese{An Acronym Environment for \LaTeXe}}, Manuale d'uso del pacchetto \pacchetto{acronym}, \url{http://www.ctan.org/tex-archive/macros/latex/contrib/acronym/acronym.pdf}.
\item
\textsc{Pantieri, L.} (2009), \emph{L'arte di scrivere con \LaTeX},
\url{http://www.lorenzopantieri.net/LaTeX_files/ArteLaTeX.pdf}.
\end{elenco}`
Il risultato non è lontanissimo da quanto desidero. Ci sono due cose che vanno corrette:
1. Il rientro delle righe successive alla prima di ogni voce va aumentato e posto pari a 1.5em: quello che c’è con il codice che ho scritto è un po’ troppo piccolo.
2. Bisogna permettere a due voci bibliografiche diverse di andare in pagine diverse, mantenendo però insieme (nella stessa pagina) le righe di ogni singola voce.Spero di essermi spiegato bene.
Ti sei spiegato bene, ma come al solito non fai esempi compilabili, infarcendo il codice di comandi personalizzati e non specificando i pacchetti che usi. 👿 😉
La questione del rientro è ovviamente legata a leftmargin:
`\begin{itemize}[itemindent=-1cm,itemsep=1cm,leftmargin=1cm,label={}]}`
è lo schema che fa per te.
La questione delle righe orfane si cura impostando a 4000 il parametro \@clubpenalty e non \clubpenalty. Confronta con la definizione dell’ambiente thebibliography in article:
`\clubpenalty4000 \csname @clubpenalty\endcsname\clubpenalty`
Se non vuoi usare \csname, devi circondare la definizione dell’ambiente con \makeatletter e \makeatother.
Ciao
Enrico