Codice fuori pagina

  • Creatore
    Topic
  • #16645
    Up
    0
    Down
    ::


    Salve a tutti,
    in una relazione d’esame, devo inserire del codice MySQL (per questo di solito uso l’ambiente verbatim); il problema è che mi sfora a destra nella pagina e quindi non si visualizza correttamente.

    Avevo pensato di far sì che l’inserimento di tale codice possa venir eseguito impostando temporaneamente l’inizio riga un po più a sinistra del margine consueto, per poi ripristinarlo alla fine. Ho guardato più di un manuale ma non sono riuscito a capire come poter fare una cosa del genere. Sapete darmi un suggerimento?

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


      Come sulozione molto rapida ti potrei consigliare l’ambiente minipage in questo modo il codice in MySQL puoi metterlo comunque nell’ambiente verbatim ma la minipage ti consente di far partire il tutto un po’ più a sinistra (e volendo facendolo terminare un po’ più a destra…)

      `
      \hspace{-3.5cm}
      \begin{minipage}{20cm}
      \begin{verbatim}

      Listato del codice

      \end{verbatim}
      \end{minipage}
      `

      L’argomento di hspace ti consente di portale l’inizio della riga più a sinistra mentre {20cm} ti consente di impostare la larghezza della minipage.

      Ancora meglio sarebbe meglio utilizzare l’ambiente listing che credo sia molto più specifico per i listati di codice, per poterlo utilizzare basta caricare nel preambolo

      `
      \usepackage{listings}
      \lstloadlanguages{SQL}
      `

      e quando poi vuoi inserire il codice basta che metti

      `
      \begin{lstlisting}

      Listato del codice

      \end{lstlisting}
      `

      Penso che anche questo si possa utilizzare in accoppiata con l’ambiente minipage.

      Ciao Alberto

    • #16647
      Up
      0
      Down
      ::


      Ora funziona benissimo 😉 grazie mille!

      Un piccolo dubbio però, già che ci siamo: come mai l’ambiente verbatim non riconosce le tabulature?

    • #16648
      Up
      0
      Down
      ::


      A me questo piccolo problemino non lo da, comunque prova ad utilizzare l’ambiente listing.

      Per cercare di risolvere il problema prova a postare un esempio minimale e compilabile del tuo file e del listato SQL così si può analizzare meglio la questione.

      Ciao Alberto

    • #16649
      Up
      0
      Down
      ::


      A me l’esempio minimale:

      `
      \documentclass[a4paper,10pt]{article}
      \usepackage[italian]{babel}
      \usepackage[utf8]{inputenc}
      \usepackage{listings}
      \lstloadlanguages{SQL}

      \hspace{-3.5cm}
      \begin{minipage}{20cm}
      \begin{lstlisting}

      DELIMITER $$

      CREATE PROCEDURE ModificaClienti(Azione,Tessera,Nome,Cognome,Indirizzo,Telefono)
      CASE Azione
      WHEN 'i' THEN INSERT INTO Clienti VALUES(Nome,Cognome,Indirizzo,Telefono)
      WHEN 'a' THEN
      BEGIN
      \end{lstlisting}
      \end{minipage}
      `

      non da problemi nella tabulazione ne con gli spazi ne con le tabulature.
      Non saprei a cosa potrebbe essere dovuto questo piccolo scherzo.

      Ciao Alberto

    • #16650
      Up
      0
      Down
      ::


      E’ semplice:

      `\begin{verbatim}

      DELIMITER $$

      CREATE PROCEDURE ModificaClienti(Azione,Tessera,Nome,Cognome,Indirizzo,Telefono)
      CASE Azione
      WHEN 'i' THEN INSERT INTO Clienti VALUES(Nome,Cognome,Indirizzo,Telefono);
      WHEN 'a' THEN
      BEGIN`

      Con gli spazi all’inizio viene effettivamente elaborato in maniera corretta, con le tabulature no…

    • #16651
      Up
      0
      Down
      ::

      A me l’esempio minimale:

      `
      \documentclass[a4paper,10pt]{article}
      \usepackage[italian]{babel}
      \usepackage[utf8]{inputenc}
      \usepackage{listings}
      \lstloadlanguages{SQL}

      \hspace{-3.5cm}
      \begin{minipage}{20cm}
      \begin{lstlisting}

      DELIMITER $$

      CREATE PROCEDURE ModificaClienti(Azione,Tessera,Nome,Cognome,Indirizzo,Telefono)
      CASE Azione
      WHEN 'i' THEN INSERT INTO Clienti VALUES(Nome,Cognome,Indirizzo,Telefono)
      WHEN 'a' THEN
      BEGIN
      \end{lstlisting}
      \end{minipage}
      `

      non da problemi nella tabulazione ne con gli spazi ne con le tabulature.
      Non saprei a cosa potrebbe essere dovuto questo piccolo scherzo.

      Ciao Alberto

      Leggo ora questo tuo intervento… sì in effetti, l’ambiente lstlisting forse è il più appropriato… grazie mille per l’aiuto.

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

Go to top