Inserire un punto di debolezza per andare a capo

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


      Col grande aiuto dell’insostituibile Enrico, sono alla fine giunto a questo:
      `
      \newcommand{\moment}[2][]{%
      \subsection{#2{ }\hfill\reference{\textcolor{black}{\textnormal{#1}}}}}
      `
      In pratica è un nuovo comando da usare al posto di \subsection, con questa sintassi:
      `
      \moment[testopiccolo]{testo}
      `
      Come risultato dà un’intestazione con “testo” tale e quale a quello reso da \subsection, e a fianco, sulla stressa riga ma tutta a destra e in piccolo, un’altra stringa. \reference è un altro mio comando che ha lo scopo di marcare le stringhe di quel tipo, da mettere in piccolo.

      È quasi perfetto, manca solo un’ultima cosa (spero): vorrei che, nel caso in cui la somma delle 2 stringhe fosse troppo lunga per stare su una sola riga, il testo in piccolo andasse a capo tutto intero.

      Pensavo quindi di introdurre un “punto di debolezza” con \linebreak[1]; solo che ho provato a cacciarlo un po’ ovunque e non ottengo mai il risultato voluto.

      Suggerimenti?

      Grazie!

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

        Col grande aiuto dell’insostituibile Enrico, sono alla fine giunto a questo:
        `
        \newcommand{\moment}[2][]{%
        \subsection{#2{ }\hfill\reference{\textcolor{black}{\textnormal{#1}}}}}
        `
        In pratica è un nuovo comando da usare al posto di \subsection, con questa sintassi:
        `
        \moment[testopiccolo]{testo}
        `
        Come risultato dà un’intestazione con “testo” tale e quale a quello reso da \subsection, e a fianco, sulla stressa riga ma tutta a destra e in piccolo, un’altra stringa. \reference è un altro mio comando che ha lo scopo di marcare le stringhe di quel tipo, da mettere in piccolo.

        È quasi perfetto, manca solo un’ultima cosa (spero): vorrei che, nel caso in cui la somma delle 2 stringhe fosse troppo lunga per stare su una sola riga, il testo in piccolo andasse a capo tutto intero.

        Pensavo quindi di introdurre un “punto di debolezza” con \linebreak[1]; solo che ho provato a cacciarlo un po’ ovunque e non ottengo mai il risultato voluto.

        Suggerimenti?

        Grazie!

        `
        \newcommand{\moment}[2][]{\subsection{#2\put@reference{#1}}}
        \DeclareRobustCommand\put@reference[1]{%
        {\unskip\nobreak\hfil\penalty50 \hspace{2em}\null\nobreak\hfil
        \mbox{\color{black}\normalfont\reference{#1}}%
        \parfillskip=0pt \par}}
        `
        Ciao
        Enrico

      • #49104
        Stemby
        Partecipante
          Up
          0
          Down
          ::


          Grande! Beh, questa era decisamente al di sopra delle mie capacità.

          Funziona perfettamente, nel migliore dei modi che avevo ipotizzato. Solo una cosa: subito dopo aggiunge una spaziatura abnorme.

          http://img831.imageshack.us/img831/1074/schermatatestpdftexwork.png

          Probabilmente bisogna impedire al \par di agire, o qualcosa del genere (credo che sia esattamente il doppio dello spazio giusto).

          Grazie!!!!

        • #49105
          Up
          0
          Down
          ::

          Grande! Beh, questa era decisamente al di sopra delle mie capacità.

          Funziona perfettamente, nel migliore dei modi che avevo ipotizzato. Solo una cosa: subito dopo aggiunge una spaziatura abnorme.

          http://img831.imageshack.us/img831/1074/schermatatestpdftexwork.png

          Probabilmente bisogna impedire al \par di agire, o qualcosa del genere (credo che sia esattamente il doppio dello spazio giusto).

          Grazie!!!!

          Agisci sulla spaziatura con gli appositi comandi di titlesec

          Ciao
          Enrico

        • #49106
          Stemby
          Partecipante
            Up
            0
            Down
            ::


            Mmmm, secondo me non dovrebbe essere così: per capirci, questo è quello che ottengo con il tuo codice, mentre quest’altro è lo stesso passaggio, senza toccare niente nel .tex ma semplicemente usando il vecchio codice:
            `
            \newcommand{\moment}[2][]{%
            \subsection{#2{ }\hfill\reference{\textcolor{black}{\textnormal{#1}}}}}
            `
            Lo spazio dopo il titolo non dovrebbe essere sempre lo stesso?

          • #49107
            Up
            0
            Down
            ::

            Mmmm, secondo me non dovrebbe essere così: per capirci, questo è quello che ottengo con il tuo codice, mentre quest’altro è lo stesso passaggio, senza toccare niente nel .tex ma semplicemente usando il vecchio codice:
            `
            \newcommand{\moment}[2][]{%
            \subsection{#2{ }\hfill\reference{\textcolor{black}{\textnormal{#1}}}}}
            `
            Lo spazio dopo il titolo non dovrebbe essere sempre lo stesso?

            No, proprio per un \par in più. Agisci sulla spaziatura con gli appositi comandi di titlesec.

            Ciao
            Enrico

          • #49108
            Stemby
            Partecipante
              Up
              0
              Down
              ::


              Ok.

              Per caso hai idea di quali siano i valori di default? Sul manuale ho trovato
              `
              \titlespacing*{\subsection}{0pt}{*4}{*1.5}
              `
              ma non è esattamente identico.

              Ciao!
              Carlo

              [EDIT]
              `
              \titlespacing*{\subsection}{0pt}{*3}{*1.5}
              `
              non è uguale uguale, ma ci si avvicina. È forse anche migliore di quello di default.

              Grazie ancora!

              Carlo

              [RIEDIT]
              Usando il tuo comando cambia tutto… vabbé, vorrà dire che andrò per tentativi.

              [RIRIEDIT]
              Solo per la cronaca, ho trovato un buon risultato con questa impostazione:
              `
              \titlespacing*{\subsection}{0pt}{*3}{-1.5ex plus .2ex}
              `

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

          Go to top