Item Mancante tra \subsection e \subsubsection ??

  • Creatore
    Topic
  • #50201
    samiel
    Partecipante
      Up
      0
      Down
      ::


      C’è una sciocchezza che mi sta facendo impazzire:
      Queso codice
      `\section*{PROGRAMMA PREVENTIVO}
      \begin{flushright} \subsection*{SETTEMBRE-OTTOBRE} \end{flushright}
      \hrule
      \medskip

      \subsubsection*{Il pensiero dell'Umanesimo e del Rinascimento}
      Caratteristiche generali del pensiero filosofico nell'età dell'Umanesimo e del
      Rinascimento. Nicolò Cusano. Il platonismo fiorentino (Ficino, Pico della
      Mirandola). L'aristotelismo padovano (Pomponazzi). Il naturalismo
      tardo-rinascimentale (Bruno). Il pensiero politico del Rinascimento.`
      mi dà il seguente errore:
      `! LaTeX Error: Something's wrong–perhaps a missing \item.

      See the LaTeX manual or LaTeX Companion for explanation.
      Type H for immediate help.

      l.283 …tion*{SETTEMBRE-OTTOBRE} \end{flushright}

      ? `
      laddove basta inserire tra \subsection e \subsubsection qualsiasi cosa
      (come una lettera a caso) e il problema si risolve…
      Cosa non vedo?

      Grazie
      M.

    Visualizzazione 15 filoni di risposte
    • Autore
      Risposte
      • #50202
        Up
        0
        Down
        ::

        C’è una sciocchezza che mi sta facendo impazzire:
        Queso codice
        `\section*{PROGRAMMA PREVENTIVO}
        \begin{flushright} \subsection*{SETTEMBRE-OTTOBRE} \end{flushright}
        \hrule
        \medskip

        \subsubsection*{Il pensiero dell'Umanesimo e del Rinascimento}
        Caratteristiche generali del pensiero filosofico nell'età dell'Umanesimo e del
        Rinascimento. Nicolò Cusano. Il platonismo fiorentino (Ficino, Pico della
        Mirandola). L'aristotelismo padovano (Pomponazzi). Il naturalismo
        tardo-rinascimentale (Bruno). Il pensiero politico del Rinascimento.`
        mi dà il seguente errore:
        `! LaTeX Error: Something's wrong–perhaps a missing \item.

        See the LaTeX manual or LaTeX Companion for explanation.
        Type H for immediate help.

        l.283 …tion*{SETTEMBRE-OTTOBRE} \end{flushright}

        ? `
        laddove basta inserire tra \subsection e \subsubsection qualsiasi cosa
        (come una lettera a caso) e il problema si risolve…
        Cosa non vedo?

        Usi male le funzionalità di LaTeX. Non puoi mettere un titolo di sezione in un ambiente flushright; forse
        `\subsection*{\raggedleft SETTEMBRE-OTTOBRE}`
        funzionerebbe, ma sarebbe comunque un brutto modo di procedere.

        Se quello che ti serve è modificare il modo con cui appaiono i titoli di sezione, non c’è altro da fare che studiarsi il pacchetto titlesec.

        Ciao
        Enrico

      • #50203
        samiel
        Partecipante
          Up
          0
          Down
          ::


          In realtà il mio codice funziona dopo qualsiasi cosa,
          tranne che dopo \section.
          Cmq ho la necessità di modificare solo alcuni titoli di sezione.
          Ora, dalla mia limitatissima esperienza di titlesec sono riuscito
          a modificare l’allineamento di tutti i titoli delle subsection.
          Per cui penso che dovrei creare un comando nuoco, diciamo
          \mysubsection, con la formattazione diversa. Qui però mi fermo,
          perché mi dà errore il codice che segue
          `\usepackage{titlesec}
          \newcommand{\mysubsection}
          \titleformat{\subsection*}[hang]
          {\normalfont\large\bfseries\raggedleft}{\thesubsection}{1em}{}`
          e cioè
          `! Argument of \ttl@straight@i has an extra }.

          \par
          l.15 \titleformat{\subsection*}`

          M.

        • #50204
          samiel
          Partecipante
            Up
            0
            Down
            ::


            Visto che volevo la linea sotto, ho provato:
            `\newcommand{\ssubsection}{
            \titleformat{\subsection*}
            {\normalfont\large\bfseries\raggedleft}{\thesubsection}{1em}{}
            [\vspace{1ex}%
            \titlerule]}`
            Se ridefinisco in generale \subsection funziona,
            ma il \newcommand no. Devo aver farcito il codice
            di errori (orrori) di sintassi…

            M.

          • #50205
            Up
            0
            Down
            ::

            Visto che volevo la linea sotto, ho provato:
            `\newcommand{\ssubsection}{
            \titleformat{\subsection*}
            {\normalfont\large\bfseries\raggedleft}{\thesubsection}{1em}{}
            [\vspace{1ex}%
            \titlerule]}`
            Se ridefinisco in generale \subsection funziona,
            ma il \newcommand no. Devo aver farcito il codice
            di errori (orrori) di sintassi…

            M.

            Il comando \titleformat va nel preambolo; il suo compito è di modificare \subsection in modo che dando \subsection si abbia il comportamento richiesto.

            Ciao
            Enrico

          • #50206
            samiel
            Partecipante
              Up
              0
              Down
              ::


              Ma il codice che ho riportato
              l’ho messo nel preambolo!!
              E poi nel documento

              ======================================
              \ssubsection{titolo}
              testo testo testo testo testo testo testo testo testo
              ======================================

              Però mi dà:
              `! Missing \endcsname inserted.

              \let
              l.89 \ssubsection
              {Livello di preparazione iniziale}
              ?
              `

              M.

            • #50207
              Up
              0
              Down
              ::

              Ma il codice che ho riportato
              l’ho messo nel preambolo!!
              E poi nel documento

              ======================================
              \ssubsection{titolo}
              testo testo testo testo testo testo testo testo testo
              ======================================

              Però mi dà:
              `! Missing \endcsname inserted.

              \let
              l.89 \ssubsection
              {Livello di preparazione iniziale}
              ?
              `

              M.

              Nel preambolo va
              `\titleformat{\subsection}
              {\normalfont\large\bfseries\raggedleft}{\thesubsection}{1em}{}
              [\vspace{1ex}%
              \titlerule]`
              Nel documento userai \subsection*

              Ciao
              Enrico

            • #50208
              samiel
              Partecipante
                Up
                0
                Down
                ::


                No, non ci siamo capiti o forse sono stato poco chiaro
                nello sviluppo dei messaggi. Quello ero riuscito a farlo anch’io,
                come ho scritto in un post precedente
                Solo che ho delle \subsection* che non vanno modificate
                (cioè col consueto allineamento a sinistra e senza filetto)
                e altre, ma solo altre, che devono prendere il codice
                in questione. Ecco perché pensavo di creare
                un comando nuovo, come \ssubsection, con le nuove
                caratteristiche. Alla fine dovrei avere \section, che si
                comporta normalmente, e \ssection, che invece
                presenta l’allineamento a destra e il filetti.
                La cosa che non mi viene è la definizione
                di questo \newcommand….

                Grazie
                M.

              • #50209
                Up
                0
                Down
                ::

                No, non ci siamo capiti o forse sono stato poco chiaro
                nello sviluppo dei messaggi. Quello ero riuscito a farlo anch’io,
                come ho scritto in un post precedente
                Solo che ho delle \subsection* che non vanno modificate
                (cioè col consueto allineamento a sinistra e senza filetto)
                e altre, ma solo altre, che devono prendere il codice
                in questione. Ecco perché pensavo di creare
                un comando nuovo, come \ssubsection, con le nuove
                caratteristiche. Alla fine dovrei avere \section, che si
                comporta normalmente, e \ssection, che invece
                presenta l’allineamento a destra e il filetti.
                La cosa che non mi viene è la definizione
                di questo \newcommand….

                Grazie
                M.

                Esempio minimo.

                Ciao
                Enrico

              • #50210
                Up
                0
                Down
                ::


                una cosa cosi’?

                `\documentclass{article}

                \makeatletter
                \newcommand\ssubsection{\@startsection{subsection}{2}{\z@}%
                {-3.25ex\@plus -1ex \@minus -.2ex}%
                {1.5ex \@plus .2ex}%
                {\normalfont\large\bfseries}}
                \makeatother

                \usepackage{titlesec}

                \titleformat{\subsection}
                {\normalfont\large\bfseries\raggedleft}{\thesubsection}{1em}{}
                [\vspace{1ex}%
                \titlerule]

                \titleformat{\ssubsection}
                {\normalfont\large\bfseries}{\thesubsection}{1em}{}

                \usepackage{lipsum}

                \begin{document}
                \subsection{A}
                \lipsum[1]

                \ssubsection{B}
                \lipsum[1]
                \end{document}`

                inverti a piacere.

              • #50211
                Up
                0
                Down
                ::

                una cosa cosi’?

                `\documentclass{article}

                \makeatletter
                \newcommand\ssubsection{\@startsection{subsection}{2}{\z@}%
                {-3.25ex\@plus -1ex \@minus -.2ex}%
                {1.5ex \@plus .2ex}%
                {\normalfont\large\bfseries}}
                \makeatother

                \usepackage{titlesec}

                \titleformat{\subsection}
                {\normalfont\large\bfseries\raggedleft}{\thesubsection}{1em}{}
                [\vspace{1ex}%
                \titlerule]

                \titleformat{\ssubsection}
                {\normalfont\large\bfseries}{\thesubsection}{1em}{}

                \usepackage{lipsum}

                \begin{document}
                \subsection{A}
                \lipsum[1]

                \ssubsection{B}
                \lipsum[1]
                \end{document}`

                inverti a piacere.

                Non ha senso. Modifica con titlesec un comando come \paragraph che non usi come comando di sezione nel tuo documento e usa quello per le “subsection modificate”.

                Ciao
                Enrico

              • #50212
                samiel
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Con questo codice:
                  `\documentclass[a4paper,notitlepage]{article}
                  \usepackage[T1]{fontenc}
                  \usepackage{textcomp}
                  \usepackage{ucs}
                  \usepackage[utf8x]{inputenc}
                  \usepackage[italian]{babel}
                  \usepackage{lmodern}
                  \usepackage{microtype}

                  \usepackage{titlesec}
                  \titleformat{\subsection}
                  {\normalfont\large\bfseries\raggedleft}{\thesubsection}{1em}{}
                  [\vspace{1ex}%
                  \titlerule]

                  \begin{document}
                  \section*{titolo sezione}
                  \subsection*{titolo sottosezione}
                  Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam lectus.
                  Donec id dolor. Pellentesque semper feugiat lacus.
                  \subsection*{titolo sottosezione}
                  Sed dapibus. Nunc pulvinar felis a nulla. Integer tempus feugiat libero.
                  Aliquam scelerisque. Cras commodo venenatis leo.
                  \end{document}`
                  tutti i titoli delle sottosezioni vengono modificati,
                  allineati a destra e presentano un filetto sotto.
                  Io però non devo modificarli tutti: mentre in alcune parti
                  le sottosezioni vanno benissimo formattate come sono,
                  in certe situazioni particolari, per particolari sottosezioni
                  di una parte del documento e per quella solo,
                  desidero avere i titoli di queste sottosezioni appunto
                  con la formattazione del codice sopra riportato.
                  Di conseguenza avevo pensato di lasciare
                  immodificato lo stile di \subsection e di creare un nuovo comando,
                  chiamato diciamo \ssubsection, con la nuova formattazione.
                  Il che credo non dovrebbe intaccare il funzionamento di \subsection.
                  Avevo provato un codice del genere:
                  `%\newcommand{\ssubsection}{
                  %\titleformat{\subsection*}
                  %{\normalfont\large\bfseries\raggedleft}{\thesubsection}{1em}{}
                  %[\vspace{1ex}%
                  %\titlerule]}`
                  per cui nel mio esempio dovrebbe aversi
                  `\begin{document}
                  \section*{titolo sezione}
                  \subsection*{titolo sottosezione 1}
                  Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam lectus.
                  Donec id dolor. Pellentesque semper feugiat lacus.
                  \ssubsection*{titolo sottosezione 2}
                  Sed dapibus. Nunc pulvinar felis a nulla. Integer tempus feugiat libero.
                  Aliquam scelerisque. Cras commodo venenatis leo.

                  \end{document}`
                  dove la parte in rosso, essendo non \subsection ma \ssubsection
                  dovrebbe riportare, e quella sola, la nuova formattazione.
                  Stavolta spero di essermi spiegato meglio.
                  Non capisco perché non dovrebbe essere possibile,
                  e perché allora ricorrere ad es a \paragraph,
                  che dal punto di vista logico è un’altra cosa…

                  M.

                • #50213
                  Up
                  0
                  Down
                  ::

                  […]Non capisco perché non dovrebbe essere possibile,
                  e perché allora ricorrere ad es a \paragraph,
                  che dal punto di vista logico è un’altra cosa…

                  Appunto. Le tue “subsection” sono logicamente due cose diverse.

                  Ciao
                  Enrico

                • #50214
                  samiel
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Sì certo, ma invece di modificare paragraph
                    non posso creare un comando ad hoc
                    del tutto nuovo? Il solito, immarcescibile \pippo?

                    M.

                  • #50215
                    Up
                    0
                    Down
                    ::

                    Sì certo, ma invece di modificare paragraph
                    non posso creare un comando ad hoc
                    del tutto nuovo? Il solito, immarcescibile \pippo?

                    Certo che puoi. Ma con i comandi di sezione hai già l’infrastruttura per evitare cambi di pagina inopportuni.

                    Ciao
                    Enrico

                  • #50216
                    samiel
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Beh certi, con
                      `\titleformat{\paragraph}
                      {\normalfont\large\bfseries\raggedleft}{\theparagraph}{1em}{}
                      [\vspace{1ex}%
                      \titlerule]`
                      ho risolto tutto.
                      Però continuo a non capire perché non sarebbe possibile
                      modificare \subsection e basarsi su di essa attribuendole
                      un nome di comando differente….

                      M.

                    • #50217
                      OldClaudio
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        Certo che potresti definirti \mysection, ma sarebbe molto più complicato che non ricorrere alla riformattazione di un comando di sezionamento che abitualmente non si usa. Dovresti copiarti al definizione di \section da latex.ltx, cambiare nome alla macro, passare i parametri giusti alle macro subalterne, eccetera.

                        prova ad aprire latex.ltx e andare a leggere la definizione di \section; siccome ricorre ad macro subalterne, vai a leggerti le definizioni di quelle macro. Dopo capisci perché è molto più semplice ricorrere a titleformat come hai fatto.

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

                    Go to top