lstlisting e numerazione linee

  • Questo topic ha 6 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 16 anni fa da gatsu71.
  • Creatore
    Topic
  • #48997
    Up
    0
    Down
    ::


    E’ normale che, utilizzando la numerazione delle righe, il numero di riga nell’ambiente lstlisting sia fuori dal margine destro della pagina?

    Il codice che utilizzo è:
    `
    \begin{lstlisting}[numbers=left, numberstyle=\small, stepnumber=1, numbersep=5pt]
    `timescale 1ns/1ps
    module Cunit();
    reg [7:0] A;
    wire [2:0] Y;
    `

    Il manuale non sembra mostrare nulla di simile.
    Può essere dovuto a come ho definito i margini della pagina?

    Thx in advance

Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #48998
      Up
      0
      Down
      ::

      E’ normale che, utilizzando la numerazione delle righe, il numero di riga nell’ambiente lstlisting sia fuori dal margine destro della pagina?

      Il codice che utilizzo è:
      `
      \begin{lstlisting}[numbers=left, numberstyle=\small, stepnumber=1, numbersep=5pt]
      `timescale 1ns/1ps
      module Cunit();
      reg [7:0] A;
      wire [2:0] Y;
      `

      Il manuale non sembra mostrare nulla di simile.
      Può essere dovuto a come ho definito i margini della pagina?

      Thx in advance

      Esempio minimo compilabile, per favore.

      Ciao
      Enrico

    • #48999
      Up
      0
      Down
      ::


      Ecco un esempio del codice:

      `

      \documentclass[10pt,a4paper,titlepage,openany,twoside]{book}

      \usepackage{textcomp}
      \usepackage[latin1]{inputenc}
      \usepackage{listings}
      \usepackage[italian]{babel}

      % change margins
      \addtolength{\oddsidemargin}{-.875in}
      \addtolength{\evensidemargin}{-.875in}
      \addtolength{\textwidth}{1.75in}
      \addtolength{\topmargin}{-.875in}
      \addtolength{\textheight}{1.75in}

      % Squeeze more figures and text in a page
      \renewcommand\floatpagefraction{.9}
      \renewcommand\topfraction{.9}
      \renewcommand\bottomfraction{.9}
      \renewcommand\textfraction{.1}
      \setcounter{totalnumber}{50} \setcounter{topnumber}{50}
      \setcounter{bottomnumber}{50}

      % modify indent
      \setlength{\parindent}{0.3cm}

      \begin{document}

      \lstset{% general command to set parameter(s)
      language=Verilog,
      basicstyle=\small,
      columns=flexible,
      upquote=true,
      breaklines=true,
      escapechar=?*,
      showstringspaces=false} % no special string spaces

      Grande quantità di testo inutile copiato da wikipedia.

      Nasce col nome di Bardena sulle colline pratesi, sul Monteferrato, e prende il nome prima di fosso della Dogaia e all'altezza di Narnali prende il nome di Fosso di Iolo, gettarsi nell'Ombrone Pistoiese nei pressi della Madonnina al confine con la località di Tizzana in punto di confine tra le provincie di Prato e Pistoia.

      Negli scorsi anni è stata costruita salvaguardando i nuclei urbani che vengono attraversati dal Fosso stesso, ( Maliseti, Narnali, Galciana, Casale, Iolo ), prima di gettarsi nell'Ombrone Pistoieses.
      \begin{lstlisting}[numbers=left, numberstyle=\small, stepnumber=1, numbersep=5pt]
      `timescale 1ns/1ps
      module Cunit();
      reg [7:0] A;
      wire [2:0] Y;
      \end{lstlisting}

      \end{document}
      `

      Sempre grazie per l’aiuto.

    • #49000
      Up
      0
      Down
      ::

      Ecco un esempio del codice:

      `

      \documentclass[10pt,a4paper,titlepage,openany,twoside]{book}

      \usepackage{textcomp}
      \usepackage[latin1]{inputenc}
      \usepackage{listings}
      \usepackage[italian]{babel}

      % change margins
      \addtolength{\oddsidemargin}{-.875in}
      \addtolength{\evensidemargin}{-.875in}
      \addtolength{\textwidth}{1.75in}
      \addtolength{\topmargin}{-.875in}
      \addtolength{\textheight}{1.75in}

      % Squeeze more figures and text in a page
      \renewcommand\floatpagefraction{.9}
      \renewcommand\topfraction{.9}
      \renewcommand\bottomfraction{.9}
      \renewcommand\textfraction{.1}
      \setcounter{totalnumber}{50} \setcounter{topnumber}{50}
      \setcounter{bottomnumber}{50}

      % modify indent
      \setlength{\parindent}{0.3cm}

      \begin{document}

      \lstset{% general command to set parameter(s)
      language=Verilog,
      basicstyle=\small,
      columns=flexible,
      upquote=true,
      breaklines=true,
      escapechar=?*,
      showstringspaces=false} % no special string spaces

      Grande quantità di testo inutile copiato da wikipedia.

      Nasce col nome di Bardena sulle colline pratesi, sul Monteferrato, e prende il nome prima di fosso della Dogaia e all'altezza di Narnali prende il nome di Fosso di Iolo, gettarsi nell'Ombrone Pistoiese nei pressi della Madonnina al confine con la località di Tizzana in punto di confine tra le provincie di Prato e Pistoia.

      Negli scorsi anni è stata costruita salvaguardando i nuclei urbani che vengono attraversati dal Fosso stesso, ( Maliseti, Narnali, Galciana, Casale, Iolo ), prima di gettarsi nell'Ombrone Pistoieses.
      \begin{lstlisting}[numbers=left, numberstyle=\small, stepnumber=1, numbersep=5pt]
      `timescale 1ns/1ps
      module Cunit();
      reg [7:0] A;
      wire [2:0] Y;
      \end{lstlisting}

      \end{document}
      `

      Sempre grazie per l’aiuto.

      Direi che è normale: le righe iniziano al margine sinistro (listings rispetta gli spazi che inserisci all’inizio), quindi i numeri devono andare fuori. Puoi però impostare xleftmargin, invece di rientrare il codice a mano.

      Non è una buona idea cincionare con i parametri di impaginazione come fai. Se vuoi modificare l’impaginazione usa geometry.

      Non sai che significa cincionare? Lo trovi cercando sul forum del GuIT, naturalmente. 🙂

      Ciao
      Enrico

    • #49001
      Up
      0
      Down
      ::


      1) Gazie per il suggerimento del package geometry. Ho dato un’occhiata alla documentazione ed è molto meglio del codice che avevo copiato dal web per modficare i margini. (Olretutto la quida degli errori capitali dice che non bisogna modificare i margini…)

      2) Purtroppo non ho capito perchè mi dici che i numeri fuori dal margine sono normali.

      Ho provato a modificare il latex rendendolo privo di impaginazione e senza spazi prima edl codice. Lo riporto in basso.
      `
      \documentclass[10pt,a4paper,titlepage,openany,twoside]{book}

      \usepackage{textcomp}
      \usepackage[latin1]{inputenc}
      \usepackage{listings}
      \usepackage[italian]{babel}

      \begin{document}

      \lstset{
      language=Verilog,
      basicstyle=\small,
      columns=flexible,
      upquote=true,
      breaklines=true,
      escapechar=?*,
      showstringspaces=false}

      Testo inutile copiato da wikipedia.

      Negli scorsi anni è stata costruita salvaguardando i nuclei urbani che vengono attraversati dal Fosso stesso, ( Maliseti, Narnali, Galciana, Casale, Iolo ), prima di gettarsi nell'Ombrone Pistoieses.
      \begin{lstlisting}[numbers=left, numberstyle=\small, stepnumber=1, numbersep=5pt]
      `timescale 1ns/1ps
      module Cunit();
      reg [7:0] A;
      wire [2:0] Y;
      \end{lstlisting}
      \end{document}

      `

      Anche in questo caso i numeri sono fuori dal margine.
      Deve essere così?

      se aggiungo l’opzione xleftmargin=\parindent il listato si sposta all’interno ma ancora non è allineato con il margine sinistro.

      Cosa non ho capito?

    • #49002
      Up
      0
      Down
      ::

      se aggiungo l’opzione xleftmargin=\parindent il listato si sposta all’interno ma ancora non è allineato con il margine sinistro.

      Perché mai i numeri di riga dovrebbero essere allineati con il margine sinistro? Fa’ qualche prova e scegli il modo migliore.

      Ciao
      Enrico

    • #49003
      Up
      0
      Down
      ::


      ok. Grazie,

      l’importante e’ sapere che non ci sono errori ‘concettuali’ nel codice.

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

Go to top