titoli delle sezioni centrati

  • Questo topic ha 11 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 21 anni, 7 mesi fa da Gus.
  • Creatore
    Topic
  • #4833
    lorenzo.pantieri
    Partecipante
      Up
      0
      Down
      ::


      Salve a tutti. Come si fa ad avere i titoli delle sezioni centrati, anziché allineati a sinistra??
      Si faccio

      `\begin{document}

      \begin{center}
      \section*{Blah}
      \end{center}

      blah

      \begin{center}
      \section*{Blah blah}
      \end{center}

      blah blah

      \end{document}
      `

      LaTeX mi dà l’ errore “missing item”. Perché???

      So che potrei cavarmela uasando \LARGE e \medskip, ma sono curioso di sapere il perché di questo errore di LaTeX.

      Grazie a tutti!
      Lorenzo

    Visualizzazione 10 filoni di risposte
    • Autore
      Risposte
      • #4834
        Up
        0
        Down
        ::


        Una possibile soluzione è`\newcommand{\ssection}[1]{%
        \section[#1]{\centering #1}}`

      • #4835
        Up
        0
        Down
        ::

        Come si fa ad avere i titoli delle sezioni centrati, anziché allineati a sinistra??[…]`\begin{center}
        \section*{Blah}
        \end{center}`[…]

        Forse perché non stiamo lavorando con Word e quindi non basta dire ‘centrami il testo’?

        So che potrei cavarmela uasando \LARGE e \medskip, ma sono curioso di sapere il perché di questo errore di LaTeX.

        😯 Anche qui, dimenticatevi le modificate fatte a mano caso per caso: il cambiamento si fa una volta sola, all’inizio del documento e poi si usano i comandi standard oppure un comando creato ad arte.

        La modifica delle impostazioni di default di LaTeX non è una cosa da farsi, prima cosa perché le buone regole tipografiche di LaTeX verrebbero irrimediabilmente rotte e secondariamente perché richiederebbero modifiche alle definizioni standard dei comandi.

        Se tuttavia sei deciso a continuare per la tua strada, ecco la soluzione.

        • Trovi, nel file della classe del tuo documento, la definizione del comando section;

        • La copi nel file sorgente, facendola precedere da un`\makeatletter`e facendola seguire da un`\makeatother`

        • Modifichi prima il newcommand in renewcommand e poi lo stile: nel tuo caso, basterebbe aggiungere un \centering nell’ultima parentesi, assieme a \Large.

        Utilizzando la definizione di ‘section’ della classe article, otterresti qualcosa di simile a questo:`\makeatletter
        \renewcommand\section{\@startsection {section}{1}{\z@}%
        {-2.5ex \@plus -1ex \@minus -.2ex}%
        {1.3 ex \@plus .2ex}%
        {\normalfont\Large\bfseries\centering}}
        \makeatother`

        L’utilizzo che faresti allora del comando di sezionamento sarebbe quello normale.

        Questa è una soluzione un bel po’ grezza e sinceramente spero che esista un modo alternativo (ad esempio, utilizzando un pacchetto): d’altronde, non saprei indicartelo e quindi aspetto che qualcun altro abbia qualche suggerimento.

        Resto in attesa anche di qualcuno che ti spiega il perché di quell’errore.

        Ciao.

      • #4836
        lorenzo.pantieri
        Partecipante
          Up
          0
          Down
          ::

          Una possibile soluzione è`\newcommand{\ssection}[1]{%
          \section[#1]{\centering #1}}`

          Funziona, ma così le sezioni vengono numerate, e io non voglio: come si fa (visto che aggiungere un asterisco al comando che mi hai dato tu non funzia???

          Grazie!
          Lorenzo

        • #4837
          lorenzo.pantieri
          Partecipante
            Up
            0
            Down
            ::

            La modifica delle impostazioni di default di LaTeX non è una cosa da farsi, prima cosa perché le buone regole tipografiche di LaTeX verrebbero irrimediabilmente rotte e secondariamente perché richiederebbero modifiche alle definizioni standard dei comandi.

            Sono d’accordo. Però ora sto scrivendo un curriculum, non un articolo scientifico, e quindi le scelte tipografiche di LaTeX possono non essere quelle ottimali.

            Ancora: insegno nella scuola secondaria superiore, e ho intenzione di comporre i prossimi compiti in classe con LaTeX. Però avrò bisogno di ampliare i margini e di creare tabelle belle grandi (dentro le quali gli studenti devono svolgere comodamente gli esercizi): questo è un caso in cui ritengo sia necessario rompere le regole di default di LaTeX, perdendoci in qualità, certo, ma guadagnandoci in praticità!

            Resto in attesa anche di qualcuno che ti spiega il perché di quell’errore.

            Anch’io!
            Lorenzo

          • #4838
            Up
            0
            Down
            ::

            Funziona, ma così le sezioni vengono numerate, e io non voglio: come si fa (visto che aggiungere un asterisco al comando che mi hai dato tu non funzia???

            `\newcommand{\ssection}[1]{%
            {\centering \section*{#1}}}`

          • #4839
            Up
            0
            Down
            ::


            Scusate se mi accodo…
            `\documentclass[a4paper,10pt,oneside]{book}

            \begin{document}

            \section*{\centering Blah}
            blah

            \end{document}`

            Perché funziona solo con *? Quello che intendo dire è come mai per \section* il centering può essere posticipato, mentre per \section non asteriscato, deve essere anticipato?

            Grazie – saluti

          • #4840
            lorenzo.pantieri
            Partecipante
              Up
              0
              Down
              ::


              Perfetto!

              Grazie di cuore, Lor

            • #4841
              Up
              0
              Down
              ::

              come mai per \section* il centering può essere posticipato, mentre per \section non asteriscato, deve essere anticipato?

              Faccio come dice Gigi Marzullo…si faccia una domanda e si dia una risposta 😀

              Penso che sia dovuto al fatto che con \section compaiano i numeri di sessione e quindi anche questi debbano essere centrati, ecco perché va anticipato.

              Correggetemi pure se sbaglio

              Saluti

            • #4842
              Up
              0
              Down
              ::

              Sono d’accordo. Però ora sto scrivendo un curriculum…

              Esistono un po’ di classi per comporre curriculum vitae, senza doversi inventare nulla di nuovo: addirittura curve mi pare sia stato creato per comporre un CV con lo standard europeo.

              Ancora: insegno nella scuola secondaria superiore, e ho intenzione di comporre i prossimi compiti in classe con LaTeX.[…]

              Anche in questo caso, esistono una infinità di pacchetti che possono essere usati: uno dei tanti potrebbe essere formular, anche se credo che possa essere un po’ limitato per ciò di cui necessiti.

              Ciao.

            • #4843
              Up
              0
              Down
              ::


              Tornando ontopic, la soluzione più elegante secondo me (scartando la mia, ovviamente…) rimane quella di Lapo: un comando definito una volta in cima al documento che viene riutilizzato nel corso del documento è meglio di dover digitare tutte le volte anche un \centering.

              Ciao.

            • #4844
              Gus
                Up
                0
                Down
                ::


                Credo che il pacchetto titlesec risolva questi problemi. E la classe memoir, naturalmente, anche.
                Ciao,

                Gus

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

            Go to top