[RISOLTO] Ridefinire comando \centerline

  • Creatore
    Topic
  • #90077
    Up
    0
    Down
    ::


    Sto cercando di ridefinire il comando \centerline, in modo che oltre a centrare ciò che viene passato in argomento, inserisca dello spazio verticale sia prima che dopo l’argomento.

    Ho provato con la sintassi seguente:

    `\renewcommand{\centerline}[1]{\centerline{\medskyp #1 \medskyp}}`

    Il risultato però non è quello voluto… in pratica mi segnala un errore che blocca la compilazione.

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #90078
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Be’, a parte che \medskip si scrive con la i e non con la y, \centerline non può venire ridefinito in termini di se stesso se non eventualmente creando un loop infinito (spesso usccede e quando succede sono guai) L’interpete pdftex ammentte la ricorsione, ma deve essere scritta bene in modo che si possano evitare i loop infiniti.

        Perché non usi l’ambiente center” quello è fatto apposta per centrare una o più righe di testo, spaziandole prim e dopo.

        Troppo spaziato? Allora, senza usare \centerline (che è deprecato per vari motivi) deifnisci`\newcommand*\rigacentrata[1]{%
        \par\vspace{1ex}\noindent\makebox[\textwidth]{#1}\par\vspace{1ex}}`Modifica il coefficiente numerico prima di ex per regolare la spaziatura come meglio credi.

      • #90079
        Up
        0
        Down
        ::


        Se definisco un nuovo comando con all’interno centerline, avrò lo stesso problema?

      • #90080
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Ti hio già detto che \centerline è deprecato.

          \makebox[\textwidth]{…} svolge le sesse funzioni, meglio, senza i problemi che dà \centerline, e in particolare prima di entrare in azione passa da solo in modo orizzontale. In più se ti interessa puoi sostituire \textwidth con quel che ti pare, per esempio \linewidth o \columnwidth.

          Se voi sostituire \makebox[\textwidth] con \centerline è una tua scelta e, se qualcosa non va, capisci perché \centerline è deprecato.
          “deprecato” purtroppo è un anglismo che non ha propriamente lo stesso significato in inglese e in italiano. In inglese vuol dire NON USARLO! col punto esclamativo e senza scorciatoie; in italiano vuol dire “l’uso è sconsigliato”.

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

      Go to top