[“verbatim” & “ref”]

  • Questo topic ha 8 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 18 anni fa da __sero.
  • Creatore
    Topic
  • #26307
    Up
    0
    Down
    ::


    Salve a tutti, come al solito ho problemi con LaTeX e sono qui a porre domande… 🙁

    I miei problemi sono 2:

      Il primo è con l’ambiente verbatim. Questo ambiente continua ad inserirmi uno spazio alla fine e vorrei poterlo rimuovere. Se io scrivo:
      `
      Testo prima dell'ambiente verbatim
      \begin{verbatim}
      #include
      #include

      int main(int __argc, char **__argv)
      {
      puts(“esempio di codice C”);
      return 0;
      }
      \end{verbatim}
      Testo dopo l'ambiente verbatim.
      `

      ottengo qualcosa come:

      Testo prima dell’ambiente verbatim
      #include
      #include

      int main(int __argc, char **__argv)
      {
      puts(“esempio di codice C”);
      return 0;
      }

      Testo dopo l’ambiente verbatim.

      Come faccio a togliere lo spazio dopo l’esempio?
      Per ora ho risolto facendo un ambiente verbatim “custom” che viene creato da un’altro programma ma vorrei fare di meglio…. 😥

      Il secondo problema riguarda i riferimenti incrociati…
      I comandi label funzionano con 3 o 4 prefissi (tab, cha, fig, eq), se io volessi una etichetta per un ambiente float a cui poi poter far riferimento e ottenere il numero dove il riferimento compare, senza interferire con i numeri delle tabelle o delle figure… esiste un pacchetto che mi permette di fare questo?

    Spero che qualcuno mi sappia aiutare… 😕

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


      In merito al tuo primo problema, compilando il codice che hai postato, ottengo uno spazio sia subito prima che immediatamente dopo il contenuto dell’ambiente verbatim.
      Personalmente credo sia giusto così, dal momento che l’ambiente verbatim viene utilizzato per introdurre codice o testo da “enfatizzare”, in un certo senso, rispetto al resto del documento.
      Ciao.
      r.

    • #26309
      Up
      0
      Down
      ::


      Come… 😯
      Io ho la parte superiore attaccata e l’inferiore staccata…
      Cmq indifferentemente dal fatto che sia giusto o meno vorrei che almeno lo spazio fosse = tra il sopra e il sotto poi per staccare me lo posso gestire io cmq spe poi posto un’immagine…

      Riguardo all’altro problema (i riferimenti ad un ambiente verbatim che sta dentro ad un’ambiente float)?

    • #26310
      Up
      0
      Down
      ::

      Cmq indifferentemente dal fatto che sia giusto o meno vorrei che almeno lo spazio fosse = tra il sopra e il sotto

      Nel mio output il contenuto dell’ambiente verbatim è staccato del medesimo spazio dal testo che precede e da quello che segue. Non so dirti come mai tu ottieni qualcosa di diverso…

      Riguardo all’altro problema (i riferimenti ad un ambiente verbatim che sta dentro ad un’ambiente float)?

      A questo non so risponderti, per ora… 🙄

      Ciao.
      r.

    • #26311
      Up
      0
      Down
      ::


      Accipuffolina… vabbè comunque grazie, adesso speriamo che qualcuno mi aiuti con i riferimenti posti all’interno di un ambiente float che contiene un ambiente verbatim… 🙄

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

        Il primo è con l’ambiente verbatim.

        L’ambiente verbatim è del tipo “prendere o lasciare”: se ti soddisfa, bene. Se non ti soddisfa, devi rivolgerti altrove. Il pacchetto listings permette di inserire codice, è oltremodo configurabile e ha una documentazione dettagliata: te lo consiglio.

        Il secondo problema riguarda i riferimenti incrociati…
        I comandi label funzionano con 3 o 4 prefissi (tab, cha, fig, eq), se io volessi una etichetta per un ambiente float a cui poi poter far riferimento e ottenere il numero dove il riferimento compare, senza interferire con i numeri delle tabelle o delle figure… esiste un pacchetto che mi permette di fare questo?

        Il comando \label non funziona solo con “tre o quattro prefissi”: il formato dell’etichetta è libero. Più importante: il comando \label non è “intelligente”. Basta inserire in un qualunque punto del sorgente:
        `\label{pippo}`
        e viene memorizzato in “pippo” l’ultimo numero generato da LaTeX, che può essere il numero di un capitolo, di una pagina, di un teorema, di una figura, … (questa è, per inciso, la ragione per cui in una figura o tabella mobile \label va dopo \caption e non prima).

        Ciò detto, non è che abbia capito bene che cosa vuoi fare. In ogni caso, ti segnalo che con il pacchetto float puoi creare oggetti mobili personalizzati (con il loro indice, le didascalie e i relativi riferimenti incrociati). Anche con il pacchetto listings puoi farlo. Se i nuovi oggetti mobili che vuoi inserire sono codici, usa listings.

        Ciao,
        L.

      • #26313
        Up
        0
        Down
        ::


        … non riesco a spiegarmi porca paletta…. 😆

        Il fatto è che vorrei separare bene le enumerazioni, cioè quando io metto una tabella con una label, e una figura con una label e poi scrivo un paragrafo con dei riferimenti, latex mi risolve inserendo i link e i numeri nel punto dove compare il comando \ref, il risultato ad esempio potrebbe essere:
        `Nella tabella \ref{tab:class} sono elencate le razze di cane, nella figura \ref{fig:pted} si vede un pastore tedesco.
        `
        Questo risulterebbe in qualcosa come:

        Nella tabella 1.3 sono elencati le razze di cane, nella figura 1.1 si vede un pastore tedesco.

        Quel che io vorrei fare è mettere degli esempi di codice all’interno di ambienti floating con delle label e fare in modo che quando faccio riferimento dai paragrafi mi compaia il numero di esempio tipo:
        `L'esempio \ref{exa:asm1} mostra il codice necessario per avviare il kernel del sistema operativo. Questo codice viene caricato dal boot loader…`
        Diventi qualcosa come:

        L’esempio 5.1 mostra il codice necessario per avviare il kernel del sistema operativo. Questo codice viene caricato dal boot loader…

        Ho guardato la documentazione del pacchetto float ma non mi pare che l’implementazione crea una label a cui poter fare riferimento…

        Avevo pensato di fare un contatore mio e poi creare label col pacchetto hypperref utilizzando tale contatore ma se c’è di meglio vorrei usarla….

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

          Quel che io vorrei fare è mettere degli esempi di codice all’interno di ambienti floating con delle label e fare in modo che quando faccio riferimento dai paragrafi mi compaia il numero di esempio…

          `\documentclass{article}
          \usepackage[italian]{babel}
          \usepackage{listings}

          \addto\captionsitalian{\renewcommand{\lstlistingname}{Codice}}

          \begin{document}

          \section{Lipsum}

          \begin{lstlisting}[float,caption=Avviamento del sistema operativo.,label=lst:kernel]
          for i:=maxint to 0 do
          begin
          { do nothing }
          end;
          Write(’Case insensitive ’);
          WritE(’Pascal keywords.’);
          \end{lstlisting}

          L'esempio~\ref{lst:kernel} mostra il codice necessario per avviare il kernel del sistema operativo.

          \end{document}
          `
          Sarebbe stato sufficiente che tu avessi letto la mia risposta, che ti rimandava a listings e alla sua documentazione, e ci saresti arrivato da solo… non credi?

          Ciao,
          L.

        • #26315
          Up
          0
          Down
          ::


          Cmq ho dato un’occhiata alla documentazione e devo dire che è veramente fatto bene, permette di definire tutti i particolari del codice… bello davvero…

          Ancora una volta… grazie! 😆

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

      Go to top