Come andare accapo in un \fbox ?

  • Creatore
    Topic
  • #7682
    Up
    0
    Down
    ::


    Vorrei scrivere del testo (alcune righe di codice di programmazione) in un riquadro e ho pensato di usare \fbox. Una soluzione funzionante (bruttissima ma tant’è) è questa :

    \[ \fbox{ $ PROTECTED0 $
    }
    \]
    \\ \\

    ma volevo impostare il font di tutte le scritte a \texttt{} e così non funziona.
    Allora ho pensato a qualcosa del tipo:

    \texttt{\fbox{ struct\ Point \{ \\
    \ \ \ \ \ \ uint16\_t\ x[10];\ \ // Ascissa \\
    \ \ \ \ \ \ uint16\_t\ y[10];\ \ // Ordinata \\
    \}; \\
    }}
    \\ \\

    cioè togliendo l’inclusione in formula matematica . Così funziona il carattere ma non l’accapo ! Possibile che non ci sia un metodo per avere sia L’ACCAPO che IL CARATTERE \texttt TUTTO DENTRO un \fbox ?

    Grazie

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #7683
      Up
      0
      Down
      ::

      Vorrei scrivere del testo (alcune righe di codice di programmazione) in un riquadro e ho pensato di usare \fbox. Una soluzione funzionante (bruttissima ma tant’è) è questa:`\[ \fbox{ $ \begin{array}{lccr}
      struct\ Point \{ \\
      \ \ \ \ \ \ uint16\_t\ x[10];\ \ // Ascissa \\
      \ \ \ \ \ \ uint16\_t\ y[10];\ \ // Ordinata \\
      \}; \\
      \end{array} $
      }
      \]
      \\ \\`ma volevo impostare il font di tutte le scritte a \texttt{} e così non funziona.
      Allora ho pensato a qualcosa del tipo:`\texttt{\fbox{ struct\ Point \{ \\
      \ \ \ \ \ \ uint16\_t\ x[10];\ \ // Ascissa \\
      \ \ \ \ \ \ uint16\_t\ y[10];\ \ // Ordinata \\
      \}; \\
      }}
      \\ \\`cioè togliendo l’inclusione in formula matematica. Così funziona il carattere ma non l’accapo ! Possibile che non ci sia un metodo per avere sia L’ACCAPO che IL CARATTERE \texttt TUTTO DENTRO un \fbox?

      Prova a guardare la documentazione del pacchetto fancyvrb, che fa ciò che chiedi molto meglio.

      Ti prego, evita in futuro di
      (1) lasciare spazi prima di punto, due punti e punto di domanda;
      (2) usare \\ \\

      La faccenda (1) rende la lettura spiacevolmente difficile, la faccenda (2) costringerebbe a seri provvedimenti, per esempio la denuncia per uso illecito di barre rovesce. 😀

      La tua prima “soluzione” non è brutta, è un autentico abominio. 😀

      Ciao
      Enrico

    • #7684
      Up
      0
      Down
      ::


      Ti consiglio il pacchetto listings.

    • #7685
      Up
      0
      Down
      ::


      In effetti la soluzione con il pacchetto che mi avete suggerito è molto più leggibile

      \begin{lstlisting}[frame=single]
      struct Point {
      uint16_t x[10]; // Ascissa
      uint16_t y[10]; // Ordinata
      };
      \end{lstlisting}

      ma c’è un ultimo problemino: il riquadro viene espanso su tutta la larghezza della pagina invece che circondare esattamente il testo. Cioè invece che così: (si immagininino due linee verticali ai lati per chiudere il rettangolo che uniscono i punti in cui finiscono i lati orizzontali)

      `______________________________________
      struct Point {
      uint16_t x[10]; // Ascissa
      uint16_t y[10]; // Ordinata
      };
      ————————————–`

      ottengo:

      `_________________________________________________________________
      struct Point {
      uint16_t x[10]; // Ascissa
      uint16_t y[10]; // Ordinata
      };
      —————————————————————– `

      Se ho letto bene la documentazione di listing potrebbe essere un bug del package o un problema del dirver .dvi ; ho provato a modificare tutte le opzioni del frame e dei rules ma non cambia niente. Ne sapete qualcosa ?

      Grazie

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

Go to top