Inserire listato di un programma

  • Creatore
    Topic
  • #45493
    Up
    0
    Down
    ::


    Ciao a tutti. Ho un problema “grosso”. Sto scrivendo la tesi e in un appendice volevo inserire due listati (con i colori proposti dal programma) che ho fatto in matlab, per esempio.

    bla bla
    \begin{itemize}
    \item bla bla:
    listato 1
    \item bla bla:
    listato 2
    \end{itemize}

    Io vorrei fare direttamente un copia-incolla dal programma.
    Non so proprio come fare.
    Help!

    Grazie a tutti!

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #45494
      Up
      0
      Down
      ::


      Ciao,
      per i codici c’è il pacchetto listings con il relativo ambiente lstlisting.

      http://www.ctan.org/tex-archive/macros/latex/contrib/listings/

      Si può selezionare anche tra vari linguaggi di programmazione per avere funzioni, variabili, cicli (e oltre) evidenziati.
      Una breve descrizione la trovi anche a pagina 70 dell’ “Arte di scrivere con LaTeX”, linkata ad inizio pagina

      Fra

    • #45495
      Up
      0
      Down
      ::


      perfetto.

      Per caso sai se c’è un modo anche per mantenere la formattazione a colori del listato?

      Ciao

    • #45496
      Up
      0
      Down
      ::

      perfetto.

      Per caso sai se c’è un modo anche per mantenere la formattazione a colori del listato?

      Ciao

      Se ti riferisci alla syntax highlighting la risposta è sì. Per maggiori informazioni sul pacchetto puoi vedere la sua documentazione oppure la guida L’arte di scrivere codici con LaTeX di Lorenzo Pantieri

    • #45497
      Up
      0
      Down
      ::


      Salve, sono nuovo e da ieri sto cercando di imparare ad usare Latex. Ho il seguente problema, devo scrivere un query SQL del tipo:

      SELECT *
      FROM Actor A
      WHERE A.name ≈ ‘Robert’

      Ho provato ad usare i pacchetti listings e verbatim, che andrebbero benissimo (soprattutto il secondo), tranne per i seguenti motivi:

      1. non so se è possibile e se si come si fa, ad inserire l’operatore circa ≈.
      2. vorrei che la query risultasse al centro del foglio, ma racchiuderla tra \begin{center} e \end{center}, non funziona.
      3. vorrei rendere grassetto le parole del linguaggio (SELECT, FROM e WHERE) ma anche in questo caso non basta scrivere \textbf{SELECT}.

      Qualcuno sa come posso risolvere?

    • #45498
      Up
      0
      Down
      ::


      Ti rimando alla documentazione di listings ftp://ftp.tex.ac.uk/tex-archive/macros/latex/contrib/listings/listings.pdf

      Comunque
      1. pagina 38 del manuale
      2. pagina 33 del manuale (xleftmargin). Non è proprio quello che vuoi ma non so se si può centrare completamente
      3. pagina 11-12 del manuale!

      Quello che ho ottenuto io è:
      `\documentclass{article}

      \usepackage{listings}
      \lstset{language=SQL,escapechar=\%}

      \begin{document}

      \begin{lstlisting}
      SELECT *
      FROM Actor A
      WHERE A.name %$\approx$% 'Robert'
      \end{lstlisting}
      \end{document}`

      La documentazione viene sempre in tuo aiuto! 😉

      Spero di essere stato utile!
      Fra

    • #45499
      Up
      0
      Down
      ::

      Ti rimando alla documentazione di listings ftp://ftp.tex.ac.uk/tex-archive/macros/latex/contrib/listings/listings.pdf

      Comunque
      1. pagina 38 del manuale
      2. pagina 33 del manuale (xleftmargin). Non è proprio quello che vuoi ma non so se si può centrare completamente
      3. pagina 11-12 del manuale!

      Quello che ho ottenuto io è:
      `\documentclass{article}

      \usepackage{listings}
      \lstset{language=SQL,escapechar=\%}

      \begin{document}

      \begin{lstlisting}
      SELECT *
      FROM Actor A
      WHERE A.name %$\approx$% 'Robert'
      \end{lstlisting}
      \end{document}`

      La documentazione viene sempre in tuo aiuto! 😉

      Spero di essere stato utile!
      Fra

      Aggiungerei anche a \lstset l’opzione “columns=fullflexible”. Non centrerei un oggetto del genere, meglio usare un rientro fisso dal margine sinistro; può essere “xleftmargin=\parindent”.

      Ciao
      Enrico

    • #45500
      Up
      0
      Down
      ::


      Grazie, mi siete stati di grande aiuto. Per quanto riguarda l’accentramento xleftmargin non è proprio l’ideale, nel senso che sono riuscito ad accentrarlo impostando xleftmargin=100pt, ma non è la soluzione più efficiente. Cmq anche un piccolo rientro come xleftmargin=\parindent mi può andare bene.

      Ultima cosa che volevo chiedervi e se si può cambiare il font (quello verbatim era l’ideale). Dal manuale non sono riuscito a capire come si fa. Forse stringstyle, ma non saprei che valore associargli per ottenere lo stesso effetto che si ha con il blocco verbatim.

    • #45501
      Up
      0
      Down
      ::

      Grazie, mi siete stati di grande aiuto. Per quanto riguarda l’accentramento xleftmargin non è proprio l’ideale, nel senso che sono riuscito ad accentrarlo impostando xleftmargin=100pt, ma non è la soluzione più efficiente. Cmq anche un piccolo rientro come xleftmargin=\parindent mi può andare bene.

      Ultima cosa che volevo chiedervi e se si può cambiare il font (quello verbatim era l’ideale). Dal manuale non sono riuscito a capire come si fa. Forse stringstyle, ma non saprei che valore associargli per ottenere lo stesso effetto che si ha con il blocco verbatim.

      Puoi usare basicstyle=\ttfamily, ma devi tener conto che il font dattilografico standard non ha il nero. Per avere una distinzione visibile, puoi usare i Latin Modern:
      `\usepackage[T1]{fontenc}
      \usepackage{lighttt}{lmodern}`
      Oppure scegli un font dattilografico che abbia il nero.

      Ciao
      Enrico

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

Go to top