Simulare una bibligorafia con enumitem

  • Creatore
    Topic
  • #30933
    lorenzo.pantieri
    Partecipante
      Up
      0
      Down
      ::


      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.

      Grazie anticipate,
      L.

    Visualizzazione 1 filone di risposte
    • Autore
      Risposte
      • #30934
        Up
        0
        Down
        ::

        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

      • #30935
        lorenzo.pantieri
        Partecipante
          Up
          0
          Down
          ::

          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. 👿 😉

          Chiedo scusa! 😳 Ero talmente preso nella descrizione del problema che non ho guardato alla bibliografia, limitandomi a un maldestro copia/incolla.
          `\usepackage{url}

          \section*{Riferimenti bibliografici}

          \begin{elenco}
          \item \textsc{Oetiker, T.} (2008), \emph{An Acronym Environment for \LaTeXe}, Manuale d'uso del pacchetto \texttt{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}`
          Per completezza, aggiungo che, basandomi sul suggerimento di “egreg9”, ho definito l’ambiente “elenco” così:
          `\newenvironment{elenco}{%
          \sloppy
          \begin{itemize}[itemindent=-1em,itemsep=0.5em,leftmargin=1em,label={}]}%
          {\end{itemize}}`
          Funziona molto bene!

          Grazie mille Enrico,
          Lorenzo

      Visualizzazione 1 filone di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top