Codice in Latex

  • Creatore
    Topic
  • #52023
    Up
    0
    Down
    ::


    Ciao,

    vorrei inserire i comandi (e il relativo output) che do da terminale. E, per farlo, vorrei usare qualcosa `di questo tipo`..

    Mi sapete dire come fare?

    Grazie,

    Samuele[/code]

Visualizzazione 11 filoni di risposte
  • Autore
    Risposte
    • #52024
      Up
      0
      Down
      ::


      Ciao Samuele,

      non ho ben capito cosa intendi. Se intendevi chiedere come inserire nel tuo testo frammenti di codice, ti indico l’ambiente verbatim; cercane la spiegazione nell’Arte. C’è poi anche la possibilità di usare listings, che io, per esempio, ho usato per inserire nel testo del codice Matlab (viene riconosciuto come tale, e questo vale per molti tipi di linguaggio di programmazione; anche questo lo trovi nell’Arte). Spero di aver azzeccato quello a cui pensavi.

      Ciao,
      Marco.

    • #52025
      Up
      0
      Down
      ::


      Hai azzeccato: credo che listing sia quello che fa al caso mio..

      `Altrimenti sarebbe troppo un casino fare un quadrato con sfondo colorato in cui vado ad inserire il mio codice, proprio come qui??
      `
      Perché io devo copiare l’output che ho da terminale.. Non un codice in un linguaggio vero e proprio, pe cui mi va bene anche se scrive tutto in nero 😉

    • #52026
      Up
      0
      Down
      ::


      Ciao Samuele,

      secondo me hai due opzioni:

      1 – rinunciare allo sfondo e usare l’ambiente verbatim;
      2 – usare listings e realizzare qualcosa di molto simile a quanto presentato alle pagine 16 e 17 della documentazione del pacchetto listings, dove viene mostrato come inserire lo sfondo sotto il codice.

      Ciao,
      Marco.

    • #52027
      samiel
      Partecipante
        Up
        0
        Down
        ::

        rinunciare allo sfondo e usare l’ambiente verbatim;

        Sebbene listing potrebbe rivelarsi la soluzione migliore
        (perché inventare ambienti nuovi se ci sono già pacchetti
        che lo fanno meglio?), con verbatim non è detto che si debba
        rinunciare allo sfondo. Basta usare un ambiente shaded
        (pacchetto framed) avendo già definito il colore,
        e quindi aprire un ambiente shaded e inserirci il testo
        con verbatim. Meglio ancora, definisi un ambiente di questo tipo
        se serve più volte. Ad esempio, io ho avuto bisogno
        di un ambiente alltt (perché dovevo mantenere i corsivi),
        e in più dovevo conservare un certo tipo di tilde.
        Definendo l’ambiente code come segue si ha l’effetto voluto:
        `\begingroup
        \catcode`\'=\active
        \gdef\doquotesingle{\let'\textquotesingle}
        \endgroup
        \newenvironment{code}
        {\def\b{\textbackslash}%\small
        \begin{shaded}\begin{alltt}%
        \doquotesingle \let~\textasciitilde
        \setlength{\parindent}{0pt}\ignorespaces}
        {\end{alltt}\end{shaded}}`
        posto che si sia già definito
        `\definecolor{shadecolor}{gray}{0.90}`

        M.

      • #52028
        Up
        0
        Down
        ::


        Quindi, riasumento, posso fare una cosa del genere nel mio preambolo:

        `
        \definecolor{shadecolor}{gray}{0.90}
        \begingroup
        \catcode`\'=\active
        \gdef\doquotesingle{\let'\textquotesingle}
        \endgroup
        \newenvironment{code}
        {\def\b{\textbackslash}%\small
        \begin{shaded}\begin{alltt}%
        \doquotesingle \let~\textasciitilde
        \setlength{\parindent}{0pt}\ignorespaces}
        {\end{alltt}\end{shaded}}
        `

        Corretto??
        Ora provo. Grazie,
        Samuele

      • #52029
        Up
        0
        Down
        ::


        Perfetto. Grazie mille. Avrei solo un paio di domande. Infatti, guardando http://en.wikibooks.org/wiki/LaTeX/Colors ho notato che l’ombreggiatura posso farla solo con il grey. Oppure ho capito male?
        Mi spiego: se io volessi fare lo sfondo azzurrino, come potrei fare? Ho provato a mettere blue al posto di gray, ma non funziona.
        Inoltre, è possibile fare in modo che la mia finestra con sfonfo sia più stretta rispetto al testo?

        Grazie,

        Samuele

      • #52030
        Up
        0
        Down
        ::

        Perfetto. Grazie mille. Avrei solo un paio di domande. Infatti, guardando http://en.wikibooks.org/wiki/LaTeX/Colors ho notato che l’ombreggiatura posso farla solo con il grey. Oppure ho capito male?
        Mi spiego: se io volessi fare lo sfondo azzurrino, come potrei fare? Ho provato a mettere blue al posto di gray, ma non funziona.
        Inoltre, è possibile fare in modo che la mia finestra con sfonfo sia più stretta rispetto al testo?

        Il pacchetto fancyvrb permette di fare parecchie cose che con l’ambiente alltt sono difficili da realizzare, per esempio anche gli sfondi e varie altre amenità.

        Nella sintassi
        `\definecolor{}{}{}`
        il secondo argomento è il modello di colore; se dai “gray” hai solo la scala dei grigi, se dai “rgb” puoi accedere a tutti i colori del modello RGB. Guarda la documentazione di color o xcolor e, anche, la Breve guida.

        Ciao
        Enrico

      • #52031
        Up
        0
        Down
        ::


        Oppure si può guardare l’articolino di Lorenzo su listings qui:

        http://www.lorenzopantieri.net/LaTeX_files/Codici.pdf

        Ciao
        Tommaso

      • #52032
        samiel
        Partecipante
          Up
          0
          Down
          ::

          Quindi, riasumento, posso fare una cosa del genere nel mio preambolo:

          Codice:

          \definecolor{shadecolor}{gray}{0.90}
          \begingroup
          \catcode`\’=\active
          \gdef\doquotesingle{\let’\textquotesingle}
          \endgroup
          \newenvironment{code}
          {\def\b{\textbackslash}%\small
          \begin{shaded}\begin{alltt}%
          \doquotesingle \let~\textasciitilde
          \setlength{\parindent}{0pt}\ignorespaces}
          {\end{alltt}\end{shaded}}

          Corretto??

          Ma probabilmente puoi semplificare,
          se non ti serve \textquotesingle
          come serviva a me…

          Oppure prova una cosa del genere:
          `\usepackage{listings}
          \lstnewenvironment{code}%
          {\lstset{%
          basicstyle=\color{black}\small\sffamily,
          keywordstyle=\color{black},
          commentstyle=\color{black},
          stringstyle=\color{black},
          backgroundcolor=\color{mycyan},
          moredelim=[is][\color{black}\textrm]{|*}{*|},
          escapeinside={£!}{!£},
          frame=lines,
          rulecolor=\color{black},
          inputencoding=utf8x, extendedchars=\true}}{}`
          con listings. L’ultima riga ti serve solo (improbabile)
          se usi utf8x. Posto sempre che hai già definito
          `\definecolor{mycyan}{rgb}{0.95,1,1}`
          o come preferisci tu per rendere diversalmente l’azzurro
          dello sfondo

          M.

        • #52033
          Up
          0
          Down
          ::


          Scusate se torno sull’argomento, ma ho un’altra questione..

          Io ho definito un nuovo ambiente `\newenvironment{code}
          {\def\b{\textbackslash}%\small
          \begin{shaded}\begin{alltt}%
          \doquotesingle \let~\textasciitilde
          \setlength{\parindent}{0pt}\ignorespaces}
          {\end{alltt}\end{shaded}}`

          l’unico problema è che io non riesco ad inserire una parentesi graffa..

          O meglio, anche se la metto, non fa nulla.

          Come fare?? Devo fare $\{$??

          Grazie,
          Samuele

        • #52034
          Up
          0
          Down
          ::

          Scusate se torno sull’argomento, ma ho un’altra questione..

          Io ho definito un nuovo ambiente `\newenvironment{code}
          {\def\b{\textbackslash}%\small
          \begin{shaded}\begin{alltt}%
          \doquotesingle \let~\textasciitilde
          \setlength{\parindent}{0pt}\ignorespaces}
          {\end{alltt}\end{shaded}}`

          l’unico problema è che io non riesco ad inserire una parentesi graffa..

          O meglio, anche se la metto, non fa nulla.

          Come fare?? Devo fare $\{$??

          Grazie,
          Samuele

          Se devi inserire graffe non bilanciate, l’ambiente alltt non fa per te. Guarda il pacchetto listings oppure fancyvrb.

          Ciao
          Enrico

        • #52035
          samiel
          Partecipante
            Up
            0
            Down
            ::


            Sopra ti ho fatto anche un esempio con listings
            Prova a partire da quello…

            M.

        Visualizzazione 11 filoni di risposte
        • Devi essere connesso per rispondere a questo topic.

        Go to top