lstinputlisting e didascalia in italiano

  • Creatore
    Topic
  • #45558
    Up
    0
    Down
    ::


    Salve ragazzi, ho importato con il comando lstinputlisting un breve codice che ho in un file separato. Fra parentesi quadre ho aggiunto una breve didascalia al codice e latex mi mette “Listing 1 …” malgrado io abbia incluso il pacchetto babel settato su italiano.

    Come posso ovviare a questo problema? Mi servirebbe perché l’intera relazione tecnica che devo consegnare deve essere completamente in italiano.

    Inoltre mi chiedevo se era possibile mettere in evidenza in rosso un intera riga di codice….

    Ho trovato che si possono evidenziare le singole parole, ma siccome queste si ripetono anche in altre parti del codice….

    Grazie mille per l’aiuto.

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


      Per il primo problema credo basti la seguente definizione nel preambolo:`\renewcommand{\lstlistingname}{Codice}`

      Per ottenere una linea evidenziata in rosso invece la faccenda è più sottile. Non esiste infatti un’opzione per dire “evidenzia in tal modo le linee dalla 3 alla 7”.
      I workaround sono due: se hai accesso al codice da aggiungere, e questo non cambia da ora in avanti, puoi seguire il seguente esempio:
      file numeri.dat`1
      2
      >3< >4< 5 `e il file documento.tex`\lstdefinestyle{test}{language={}, showstringspaces=false, numbers=left, frame=ltb, numberstyle=\tiny, numbersep=5pt, moredelim=[is][\bfseries\color{red}]{>}{<}} [...] \lstinputlisting[style=test]{numeri.dat}` Se, invece, non ti è possibile fare questa modifica permanente al file che vuoi includere (ci possono essere mille motivi), devi spezzare il tuo listato. Per esempio, considerando il file numeri.dat`1
      2
      3
      4
      5
      `e il file documento.tex`\lstdefinestyle{test}{language={}, showstringspaces=false, numbers=left, frame=ltb, numberstyle=\tiny, numbersep=5pt}
      […]
      \lstinputlisting[style=test,linerange=1-2,frame=lt,belowskip=0pt]{numeri.dat}
      \lstinputlisting[style=test,linerange=3-4,frame=l,basicstyle=\color{red},belowskip=0pt,aboveskip=0pt]{numeri.dat}
      \lstinputlisting[style=test,linerange=5-,frame=lb,aboveskip=0pt]{numeri.dat}`Spero che i copia-incolla non mi abbiano tradito…

      🙂
      LuCa

    • #45560
      Up
      0
      Down
      ::

      Per il primo problema credo basti la seguente definizione nel preambolo:`\renewcommand{\lstlistingname}{Codice}`

      Per ottenere una linea evidenziata in rosso invece la faccenda è più sottile. Non esiste infatti un’opzione per dire “evidenzia in tal modo le linee dalla 3 alla 7”.
      I workaround sono due: se hai accesso al codice da aggiungere, e questo non cambia da ora in avanti, puoi seguire il seguente esempio:
      file numeri.dat`1
      2
      >3< >4< 5 `e il file documento.tex`\lstdefinestyle{test}{language={}, showstringspaces=false, numbers=left, frame=ltb, numberstyle=\tiny, numbersep=5pt, moredelim=[is][\bfseries\color{red}]{>}{<}} [...] \lstinputlisting[style=test]{numeri.dat}` Se, invece, non ti è possibile fare questa modifica permanente al file che vuoi includere (ci possono essere mille motivi), devi spezzare il tuo listato. Per esempio, considerando il file numeri.dat`1
      2
      3
      4
      5
      `e il file documento.tex`\lstdefinestyle{test}{language={}, showstringspaces=false, numbers=left, frame=ltb, numberstyle=\tiny, numbersep=5pt}
      […]
      \lstinputlisting[style=test,linerange=1-2,frame=lt,belowskip=0pt]{numeri.dat}
      \lstinputlisting[style=test,linerange=3-4,frame=l,basicstyle=\color{red},belowskip=0pt,aboveskip=0pt]{numeri.dat}
      \lstinputlisting[style=test,linerange=5-,frame=lb,aboveskip=0pt]{numeri.dat}`Spero che i copia-incolla non mi abbiano tradito…

      🙂
      LuCa

      Ti ringrazio!
      Il promo problema (il più grave) è stato risolto grazie al tuo suggerimento. Per il secondo, posso aspettare di rendere definitivo il codice e operare con la prima variante!
      Grazie!

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

Go to top