Etichetta con testo su due righe

  • Creatore
    Topic
  • #57754
    Up
    0
    Down
    ::


    Buonasera,
    Sto iniziando ora ad usare Latex, quindi mi scuso in anticipo se ho chiesto qualcosa di banale che ho comunque provato a cercare prima con il motore di ricerca di questo forum e non solo, senza trovare risultati.

    Sto creando un disegno in un riquadro, che è composto da varie sezioni in ognuna delle quali vorrei mettere accanto il nome della parte dell’oggetto che sto disegnando.
    Sto usando il comando \uput, ma alcuni numi sono lunghi e vorrei dividerli in due righe, ma:

    \uput(2,2){\small Nome della cosa \\ che vorrei scrivere}
    \uput(2,2){\small Nome della cosa \newline che vorrei scrivere}

    non funziona, e non riesco a capire come fare, devo per forza scrivere 2 righe di codice per questa cosa?

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

      Buonasera,
      Sto iniziando ora ad usare Latex, quindi mi scuso in anticipo se ho chiesto qualcosa di banale che ho comunque provato a cercare prima con il motore di ricerca di questo forum e non solo, senza trovare risultati.

      Sto creando un disegno in un riquadro, che è composto da varie sezioni in ognuna delle quali vorrei mettere accanto il nome della parte dell’oggetto che sto disegnando.
      Sto usando il comando \uput, ma alcuni numi sono lunghi e vorrei dividerli in due righe, ma:

      \uput(2,2){\small Nome della cosa \\ che vorrei scrivere}
      \uput(2,2){\small Nome della cosa \newline che vorrei scrivere}

      non funziona, e non riesco a capire come fare, devo per forza scrivere 2 righe di codice per questa cosa?

      Benvenuto, con tiratina d’orecchie. 🙂

      Non è che tutti si ricordino all’istante che \uput è un comando di PSTricks. Meglio essere un pochino più lunghi nella spiegazione. Comunque la soluzione è semplice:
      `\uput(2,2){\small\begin{tabular}{@{}l@{}}
      Nome della cosa\\
      che vorrei scrivere\end{tabular}}`
      Le parti @{} servono per togliere la spaziatura che tabular normalmente mette a sinistra e a destra delle colonne.

      Ciao
      Enrico

    • #57756
      Up
      0
      Down
      ::

      Buonasera,
      Sto iniziando ora ad usare Latex, quindi mi scuso in anticipo se ho chiesto qualcosa di banale che ho comunque provato a cercare prima con il motore di ricerca di questo forum e non solo, senza trovare risultati.

      Sto creando un disegno in un riquadro, che è composto da varie sezioni in ognuna delle quali vorrei mettere accanto il nome della parte dell’oggetto che sto disegnando.
      Sto usando il comando \uput, ma alcuni numi sono lunghi e vorrei dividerli in due righe, ma:

      \uput[u](2,2){\small Nome della cosa \\ che vorrei scrivere}
      \uput[u](2,2){\small Nome della cosa \newline che vorrei scrivere}

      non funziona, e non riesco a capire come fare, devo per forza scrivere 2 righe di codice per questa cosa?

      Benvenuto, con tiratina d’orecchie. 🙂

      Non è che tutti si ricordino all’istante che \uput è un comando di PSTricks. Meglio essere un pochino più lunghi nella spiegazione. Comunque la soluzione è semplice:
      `\uput[u](2,2){\small\begin{tabular}{@{}l@{}}
      Nome della cosa\\
      che vorrei scrivere\end{tabular}}`
      Le parti @{} servono per togliere la spaziatura che tabular normalmente mette a sinistra e a destra delle colonne.

      Ciao
      Enrico

      Avevo pensato a queste due soluzioni, ma il computer si è sconnesso sul più bello e quindi mi hai preceduto… 😯

      `
      \documentclass{article}
      \usepackage{pstricks}

      \begin{document}
      \begin{pspicture}(0,0)(0,0)
      \uput(2,2){\small \shortstack{Nome della cosa\\ che vorrei scrivere}}
      \uput(3,3){\small \vbox{\noindent Nome della cosa\\ che vorrei scrivere}}
      \end{pspicture}
      \end{document}

      `

      Ciao
      Ivan

    • #57757
      Up
      0
      Down
      ::

      `
      \documentclass{article}
      \usepackage{pstricks}

      \begin{document}
      \begin{pspicture}(0,0)(0,0)
      \uput(2,2){\small \shortstack{Nome della cosa\\ che vorrei scrivere}}
      \uput(3,3){\small \vbox{\noindent Nome della cosa\\ che vorrei scrivere}}
      \end{pspicture}
      \end{document}`

      E meno male che ti ho preceduto! 🙂

      Il primo non va bene perché fra le due righe non mette l’interlinea; il secondo non va bene perché è proprio sbagliato in tronco! 🙂 Prova a circondare la \vbox con \fbox e vedrai le vere dimensioni di quell’oggetto!

      Il problema è che \vbox inizia una lista verticale con il valore attuale di \hsize (in gergo LaTeX \textwidth, ma non sono proprio equivalenti). Il \noindent fa partire il modo orizzontale e le righe saranno larghe \hsize.

      L’esperto avrebbe scritto
      `\vbox{\hbox{Nome della cosa}\hbox{che vorrei scrivere}}`
      che non soffre del problema precedente perché TeX non entra mai in modo orizzontale ma rimane in modo verticale (interno, perché siamo in una \vbox), nel quale accumula le varie box che trova una sopra l’altra. Lo fa anche quando compone un capoverso: il \par finale provoca il ritorno in modo verticale e la formazione delle hbox che formano il capoverso; TeX le vede in modo verticale e quindi le mette una sopra l’altra. La larghezza di una \vbox è quella della più larga \hbox che contiene (non sto a parlare di \moveleft o \moveright che possono cambiare le cose).

      Mi ricordo che tanto tempo fa rimasi piuttosto perplesso dal fatto che una \hbox all’inizio di un capoverso facesse cose piuttosto bizzarre. 🙂 E ho imparato la lezione.

      Ciao
      Enrico

    • #57758
      Up
      0
      Down
      ::

      `
      \documentclass{article}
      \usepackage{pstricks}

      \begin{document}
      \begin{pspicture}(0,0)(0,0)
      \uput[u](2,2){\small \shortstack{Nome della cosa\\ che vorrei scrivere}}
      \uput[u](3,3){\small \vbox{\noindent Nome della cosa\\ che vorrei scrivere}}
      \end{pspicture}
      \end{document}`

      E meno male che ti ho preceduto! 🙂

      Il primo non va bene perché fra le due righe non mette l’interlinea; il secondo non va bene perché è proprio sbagliato in tronco! 🙂 Prova a circondare la \vbox con \fbox e vedrai le vere dimensioni di quell’oggetto!

      Il problema è che \vbox inizia una lista verticale con il valore attuale di \hsize (in gergo LaTeX \textwidth, ma non sono proprio equivalenti). Il \noindent fa partire il modo orizzontale e le righe saranno larghe \hsize.

      L’esperto avrebbe scritto
      `\vbox{\hbox{Nome della cosa}\hbox{che vorrei scrivere}}`
      che non soffre del problema precedente perché TeX non entra mai in modo orizzontale ma rimane in modo verticale (interno, perché siamo in una \vbox), nel quale accumula le varie box che trova una sopra l’altra. Lo fa anche quando compone un capoverso: il \par finale provoca il ritorno in modo verticale e la formazione delle hbox che formano il capoverso; TeX le vede in modo verticale e quindi le mette una sopra l’altra. La larghezza di una \vbox è quella della più larga \hbox che contiene (non sto a parlare di \moveleft o \moveright che possono cambiare le cose).

      Mi ricordo che tanto tempo fa rimasi piuttosto perplesso dal fatto che una \hbox all’inizio di un capoverso facesse cose piuttosto bizzarre. 🙂 E ho imparato la lezione.

      Ciao
      Enrico

      Spiegazione come sempre illuminante. Mi ero accorto di qualcosa di strano con \vobx ma non avevo capito il problema. Non sapevo che con \shortstack non venisse messa l’interlinea 😯

      Ciao
      Ivan

    • #57759
      Up
      0
      Down
      ::

      Spiegazione come sempre illuminante. Mi ero accorto di qualcosa di strano con \vobx ma non avevo capito il problema. Non sapevo che con \shortstack non venisse messa l’interlinea 😯

      In effetti viene messa un’interlinea fissa di 3pt che per gli scopi di \shortstack potrebbe forse anche andare bene; ma non è proprio vero, dopo tutto: se scrivi più di due righe di solito hanno distanze irregolari.

      Con \shortstack l’altezza di quella box viene 16.77776pt, con le due \hbox viene 18.83331pt, con il tabular viene 20.39996pt (perché tabular inserisce puntelli).

      Ciao
      Enrico

    • #57760
      Up
      0
      Down
      ::


      egreg9\n

      Con \shortstack l’altezza di quella box viene 16.77776pt, con le due \hbox viene 18.83331pt, con il tabular viene 20.39996pt (perché tabular inserisce puntelli).

      Giusto per fare qualche altro passo avanti, come vedi quelle misure?

      Ciao
      Ivan

    • #57761
      Up
      0
      Down
      ::

      Con \shortstack l’altezza di quella box viene 16.77776pt, con le due \hbox viene 18.83331pt, con il tabular viene 20.39996pt (perché tabular inserisce puntelli).

      Giusto per fare qualche altro passo avanti, come vedi quelle misure?

      `documentclass{article}
      \begin{document}
      \showboxbreadth=1000
      \showboxdepth=1000
      \tracingonline=1

      \setbox0=\hbox{\shortstack{Nome\\che}}
      \showthe\ht0 \showthe\dp0
      \showbox0

      \setbox0=\vbox{\hbox{Nome}\hbox{che}}
      \showthe\ht0 \showthe\dp0
      \showbox0

      \setbox0=\hbox{\begin{tabular}{@{}l@{}}Nome\\che\end{tabular}}
      \showthe\ht0 \showthe\dp0
      \showbox0
      \end{document}`
      Compila da terminale.

      Ciao
      Enrico

    • #57762
      Up
      0
      Down
      ::

      [quote]Con \shortstack l’altezza di quella box viene 16.77776pt, con le due \hbox viene 18.83331pt, con il tabular viene 20.39996pt (perché tabular inserisce puntelli).

      Giusto per fare qualche altro passo avanti, come vedi quelle misure?

      `documentclass{article}
      \begin{document}
      \showboxbreadth=1000
      \showboxdepth=1000
      \tracingonline=1

      \setbox0=\hbox{\shortstack{Nome\\che}}
      \showthe\ht0 \showthe\dp0
      \showbox0

      \setbox0=\vbox{\hbox{Nome}\hbox{che}}
      \showthe\ht0 \showthe\dp0
      \showbox0

      \setbox0=\hbox{\begin{tabular}{@{}l@{}}Nome\\che\end{tabular}}
      \showthe\ht0 \showthe\dp0
      \showbox0
      \end{document}`
      Compila da terminale.

      Ciao
      Enrico[/quote]

      Buono a sapersi 🙂
      Grazie!

      Ciao
      Ivan

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

Go to top