sidebyside: due problemi

  • Creatore
    Topic
  • #53852
    samiel
    Partecipante
      Up
      0
      Down
      ::


      Sto provando a scrivere codice con risultato a fronte.
      Col pacchetto example tutto fila liscio.
      Il più sofisticato pacchetto examplep devo provarlo.
      Ho tratto dal forum l’ambiente sidebyside.
      Ad esempio:
      `\documentclass[a4paper]{article}
      \usepackage[T1]{fontenc}
      \usepackage[latin1]{inputenc}
      \usepackage[italian]{babel}
      \usepackage{microtype}
      \usepackage[writefile]{listings}
      \usepackage{xcolor}
      \definecolor{cyan}{rgb}{0.95,1,1}

      \lstset{%
      basicstyle=\color{black}\small\ttfamily,
      keywordstyle=\color{black},
      commentstyle=\color{black},
      stringstyle=\color{black},
      backgroundcolor=\color{cyan},
      moredelim=[is][\color{black}\textrm]{|*}{*|},
      escapeinside={£!}{!£},
      frame=lines,
      rulecolor=\color{black},
      extendedchars}

      \makeatletter
      \lstnewenvironment{sidebyside}{%
      \global\let\lst@intname\@empty
      \setbox\z@=\hbox\bgroup
      \setkeys{lst}{columns=fullflexible,%
      linewidth=0.45\linewidth,
      breaklines=true,%
      breakindent=0pt,boxpos=t,%
      }%
      \lst@BeginAlsoWriteFile{\jobname.tmp}%
      }{%
      \lst@EndWriteFile\egroup
      \begin{center}%
      \begin{minipage}{0.45\linewidth}%
      \hbox to\linewidth{\box\z@\hss}
      \end{minipage}%
      \qquad
      \begin{minipage}{0.45\linewidth}%
      \leavevmode \catcode`\^^M=10\relax
      \footnotesize\input{\jobname.tmp}%
      \end{minipage}%
      \end{center}%
      }
      \makeatother

      \begin{document}

      \begin{sidebyside}
      Qual masso che è dal vertice

      Nel mezzo del cammin più di nostra vita
      \end{sidebyside}

      \end{document}`

      1.
      Con example o utilizzando semplicemente listings
      due righe separate da una vuota sono rese correttamente.
      Con sidebyside il “risultato” invece viene stampato continuo,
      senza l’a capo. Perché? Non c’è rimedio?

      2.
      Dove bisogna mettere le mani per “allargare” le minipage,
      o comunque per evitare il rientro per cui risultano allineate
      al testo rientrato del capoverso e non al corpo del testo?

      Grazie
      M.

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

        Sto provando a scrivere codice con risultato a fronte.
        Col pacchetto example tutto fila liscio.
        Il più sofisticato pacchetto examplep devo provarlo.
        Ho tratto dal forum l’ambiente sidebyside.
        Ad esempio:
        `\documentclass[a4paper]{article}
        \usepackage[T1]{fontenc}
        \usepackage[latin1]{inputenc}
        \usepackage[italian]{babel}
        \usepackage{microtype}
        \usepackage[writefile]{listings}
        \usepackage{xcolor}
        \definecolor{cyan}{rgb}{0.95,1,1}

        \lstset{%
        basicstyle=\color{black}\small\ttfamily,
        keywordstyle=\color{black},
        commentstyle=\color{black},
        stringstyle=\color{black},
        backgroundcolor=\color{cyan},
        moredelim=[is][\color{black}\textrm]{|*}{*|},
        escapeinside={£!}{!£},
        frame=lines,
        rulecolor=\color{black},
        extendedchars}

        \makeatletter
        \lstnewenvironment{sidebyside}{%
        \global\let\lst@intname\@empty
        \setbox\z@=\hbox\bgroup
        \setkeys{lst}{columns=fullflexible,%
        linewidth=0.45\linewidth,
        breaklines=true,%
        breakindent=0pt,boxpos=t,%
        }%
        \lst@BeginAlsoWriteFile{\jobname.tmp}%
        }{%
        \lst@EndWriteFile\egroup
        \begin{center}%
        \begin{minipage}{0.45\linewidth}%
        \hbox to\linewidth{\box\z@\hss}
        \end{minipage}%
        \qquad
        \begin{minipage}{0.45\linewidth}%
        \leavevmode \catcode`\^^M=10\relax
        \footnotesize\input{\jobname.tmp}%
        \end{minipage}%
        \end{center}%
        }
        \makeatother

        \begin{document}

        \begin{sidebyside}
        Qual masso che è dal vertice

        Nel mezzo del cammin più di nostra vita
        \end{sidebyside}

        \end{document}`

        1.
        Con example o utilizzando semplicemente listings
        due righe separate da una vuota sono rese correttamente.
        Con sidebyside il “risultato” invece viene stampato continuo,
        senza l’a capo. Perché? Non c’è rimedio?

        2.
        Dove bisogna mettere le mani per “allargare” le minipage,
        o comunque per evitare il rientro per cui risultano allineate
        al testo rientrato del capoverso e non al corpo del testo?

        Grazie
        M.

        C’è un evidente errore nel codice:
        `\catcode`^^M=5\relax`
        e non 10.

        Le due parti sono inserite in minipage di ampiezza 0.45\textwidth. Per non avere rientranza, sostituisci il \qquad tra le due minipage con \hfill

        Ciao
        Enrico

      • #53854
        samiel
        Partecipante
          Up
          0
          Down
          ::


          Perfetto, as usual
          Grazie mille
          M.

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

      Go to top