Listato di un programma su una colonna in testo a 2 colonne

  • Creatore
    Topic
  • #30636
    Up
    0
    Down
    ::


    Salve a tutti, spero di non chiedere una cosa troppo banale…
    Sto creando un articolo a due colonne.
    In questo documento vorrei inserire del codice di programmazione che appaia dove Latex ritenga più opportuno ma su una sola colonna (che occupi tutto il \textwidth per intenderci) ed al quale poi riferirmi all’interno dell’articolo. Se il codice apparisse anche con una riga di demarcazione inferiore e superiore sarebbe meglio.
    Ho provato a utilizzare \onecolumn e \twocolumn ma il problema è che questi comandi hanno, intrinsecamente un \newpage che mi salta una pagina nel momento in cui li utilizzo.
    In altre parole avrei bisogno di utilizzare qualcosa dove, nel listato sottostante, ci sono i punti interrogativi che mi renda flottante il codice, ci metta una riga all’inizio e fine e mi conceda di mettere una label.
    Vi ringrazio in anticipo per qualsiasi aiuto possiate darmi.

    `
    \documentclass[10pt,a4paper,twocolumn,latex2html]{article}
    \usepackage[italian]{babel}
    \usepackage[latin1]{inputenc} %Per le lettere accentate
    \usepackage{hyperref} %Per generare riferimenti ipertestuali
    \usepackage{cite} %Per le citazioni con bibtex
    \usepackage{graphicx}
    \usepackage{marvosym} %Per il simbolo dell'euro
    \usepackage{listings} %Per inserire codice

    \begin{document}
    …..
    \section{Blink: primo programma}
    \lstset{basicstyle=\small, numbers=left, numberstyle=\tiny, stepnumber=2, numbersep=5pt}
    ???????????????????????????
    \begin{lstlisting}
    /* Blinking LED
    ….
    \end{lstlisting}
    ????????????????????????????
    `

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #30637
      lorenzo.pantieri
      Partecipante
        Up
        0
        Down
        ::

        Salve a tutti, spero di non chiedere una cosa troppo banale…
        Sto creando un articolo a due colonne.
        In questo documento vorrei inserire del codice di programmazione che appaia dove Latex ritenga più opportuno ma su una sola colonna (che occupi tutto il \textwidth per intenderci) ed al quale poi riferirmi all’interno dell’articolo. Se il codice apparisse anche con una riga di demarcazione inferiore e superiore sarebbe meglio.
        Ho provato a utilizzare \onecolumn e \twocolumn ma il problema è che questi comandi hanno, intrinsecamente un \newpage che mi salta una pagina nel momento in cui li utilizzo.
        In altre parole avrei bisogno di utilizzare qualcosa dove, nel listato sottostante, ci sono i punti interrogativi che mi renda flottante il codice, ci metta una riga all’inizio e fine e mi conceda di mettere una label.

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

        Qui trovi spiegato come inserire codici mobili con listings (pag. 3 e 4). Da’ un’occhiata anche alla chiave “lines” (pag. 9). Ah, “listato” è un brutto anglismo: meglio “codice”.

        Ciao,
        L.

      • #30638
        Up
        0
        Down
        ::

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

        Qui trovi spiegato come inserire codici mobili con listings (pag. 3 e 4). Da’ un’occhiata anche alla chiave “lines” (pag. 9). Ah, “listato” è un brutto anglismo: meglio “codice”.

        Lorenzo ti faccio davvero i complimenti per il documento.
        Ben fatto, ben articolato, ben spiegato.
        Mentre leggevo mi chiedevo: “si ok, questo è bello ma come faccio a fare…” e nella pagina dopo trovavo la risposta.
        Adesso ho strutturato un preambolo così:

        `
        \lstnewenvironment{codice_arduino}[1][]
        {\lstset{basicstyle=\small\ttfamily, columns=fullflexible,
        keywordstyle=\color{red}\bfseries, commentstyle=\color{blue},
        language=C++, basicstyle=\small,
        numbers=left, numberstyle=\tiny,
        stepnumber=2, numbersep=5pt, frame=shadowbox, float=*, #1}}{}
        `

        e quindi nel testo:

        `
        \begin{codice_arduino}
        CODICE….
        \end{codice_arduino}
        `

        Mi rimane ancora un dubbio che non mi sembra di aver trovato nel documento (o forse son troppo stordito…)
        Se ho il codice che prende più di una pagina, invece di “spezzarsi” e continuare nella pagina successiva va fino a dove finisce lo spazio fisico del A4 e stop…
        E’ possibile continuare il codice in più pagine senza doverlo interrompere e riprendere manualmente come spiegato nel documento che hai realizzato?

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

          Se ho il codice che prende più di una pagina, invece di “spezzarsi” e continuare nella pagina successiva va fino a dove finisce lo spazio fisico del A4 e stop…
          E’ possibile continuare il codice in più pagine senza doverlo interrompere e riprendere manualmente come spiegato nel documento che hai realizzato?

          Se inserisci un codice “non mobile” non dovrebbe succedere: alla fine della pagina, LaTeX interrompe il codice e lo riprende nella pagina successiva. Guarda a pagina 79-80 dell’Arte di scrivere con LaTeX, per esempio.

          Se invece vuoi inserire un codice mobile, allora il float deve stare in un’unica pagina.

          Ciao,
          L.

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

      Go to top