Dubbio su comandi di sectioning

  • Creatore
    Topic
  • #43270
    Up
    0
    Down
    ::


    Salve, ho provato a creare una nuova classe e ad aggiungere dei comandi tipo section, subsection ma con dei nomi personalizzati, ad esempio in italiano (sezione e sottosezione)

    `
    \NeedsTeXFormat{LaTeX2e}
    \ProvidesClass{myclass}

    \renewcommand\normalsize{\fontsize{10pt}{12pt}\selectfont}

    \setlength\paperheight{297mm}
    \setlength\paperwidth{210mm}

    \setlength{\textwidth}{150mm}
    \setlength{\textheight}{609pt}

    \newcommand\large{@setfontsize\large\@xiipt{14}}

    \pagenumbering{arabic}
    \pagestyle{empty}

    \setcounter{secnumdepth}{3}%
    \newcounter {sezione}%
    \newcounter {sottosezione}[sezione]%
    \newcounter {sottosottosezione}[sottosezione]%
    \newcounter {paragrafo}[sottosottosezione]%
    \newcounter {sottoparagrafo}[paragrafo]%
    \renewcommand\thesezione {\arabic{sezione}}%
    \renewcommand\thesottosezione {\thesezione.\arabic{sottosezione}}%
    \renewcommand\thesottosottosezione{\thesottosezione.\arabic{sottosottosezione}}%
    \renewcommand\theparagrafo {\thesottosottosezione.\arabic{paragrafo}}%
    \renewcommand\thesottoparagrafo {\theparagrafo.\arabic{sottoparagrafo}}%

    \newcommand\sezione{\@startsection {sezione}{1}{\z@}%
    {-3.5ex \@plus -1ex \@minus -.2ex}%
    {2.3ex \@plus.2ex}%
    {\normalfont\normalsize\bfseries}}%
    \newcommand\sottosezione{\@startsection{sottosezione}{2}{\z@}%
    {-3.25ex\@plus -1ex \@minus -.2ex}%
    {1.5ex \@plus .2ex}%
    {\normalfont\large\bfseries}}%
    \newcommand\sottosottosezione{\@startsection{sottosottosezione}{3}{\z@}%
    {-3.25ex\@plus -1ex \@minus -.2ex}%
    {1.5ex \@plus .2ex}%
    {\normalfont\normalsize\bfseries}} %
    \newcommand\paragrafo{\@startsection{paragrafo}{4}{\z@}%
    {3.25ex \@plus1ex \@minus.2ex}%
    {-1em}%
    {\normalfont\normalsize\bfseries}} %
    \newcommand\sottoparagrafo{\@startsection{sottoparagrafo}{5}{\parindent}%
    {3.25ex \@plus1ex \@minus .2ex}%
    {-1em}%
    {\normalfont\normalsize\bfseries}}%`

    ma l’output presenta dei problemi: cioè se scrivo
    `\documentclass{myclass}
    \begin{document}
    \sezione{Titolo sezione}
    testo sezione
    \end{document}`
    ottengo
    1 Titolo sezione
    Titolo sezione
    testo sezione

    Mi chiedevo se qualcuno sa dirmi dove sbaglio o conosce una soluzione

    grazie

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #43271
      Up
      0
      Down
      ::

      Salve, ho provato a creare una nuova classe e ad aggiungere dei comandi tipo section, subsection ma con dei nomi personalizzati, ad esempio in italiano (sezione e sottosezione)

      `
      \NeedsTeXFormat{LaTeX2e}
      \ProvidesClass{myclass}

      \renewcommand\normalsize{\fontsize{10pt}{12pt}\selectfont}

      \setlength\paperheight{297mm}
      \setlength\paperwidth{210mm}

      \setlength{\textwidth}{150mm}
      \setlength{\textheight}{609pt}

      \newcommand\large{@setfontsize\large\@xiipt{14}}

      \pagenumbering{arabic}
      \pagestyle{empty}

      \setcounter{secnumdepth}{3}%
      \newcounter {sezione}%
      \newcounter {sottosezione}[sezione]%
      \newcounter {sottosottosezione}[sottosezione]%
      \newcounter {paragrafo}[sottosottosezione]%
      \newcounter {sottoparagrafo}[paragrafo]%
      \renewcommand\thesezione {\arabic{sezione}}%
      \renewcommand\thesottosezione {\thesezione.\arabic{sottosezione}}%
      \renewcommand\thesottosottosezione{\thesottosezione.\arabic{sottosottosezione}}%
      \renewcommand\theparagrafo {\thesottosottosezione.\arabic{paragrafo}}%
      \renewcommand\thesottoparagrafo {\theparagrafo.\arabic{sottoparagrafo}}%

      \newcommand\sezione{\@startsection {sezione}{1}{\z@}%
      {-3.5ex \@plus -1ex \@minus -.2ex}%
      {2.3ex \@plus.2ex}%
      {\normalfont\normalsize\bfseries}}%
      \newcommand\sottosezione{\@startsection{sottosezione}{2}{\z@}%
      {-3.25ex\@plus -1ex \@minus -.2ex}%
      {1.5ex \@plus .2ex}%
      {\normalfont\large\bfseries}}%
      \newcommand\sottosottosezione{\@startsection{sottosottosezione}{3}{\z@}%
      {-3.25ex\@plus -1ex \@minus -.2ex}%
      {1.5ex \@plus .2ex}%
      {\normalfont\normalsize\bfseries}} %
      \newcommand\paragrafo{\@startsection{paragrafo}{4}{\z@}%
      {3.25ex \@plus1ex \@minus.2ex}%
      {-1em}%
      {\normalfont\normalsize\bfseries}} %
      \newcommand\sottoparagrafo{\@startsection{sottoparagrafo}{5}{\parindent}%
      {3.25ex \@plus1ex \@minus .2ex}%
      {-1em}%
      {\normalfont\normalsize\bfseries}}%`

      ma l’output presenta dei problemi: cioè se scrivo
      `\documentclass{myclass}
      \begin{document}
      \sezione{Titolo sezione}
      testo sezione
      \end{document}`
      ottengo
      1 Titolo sezione
      Titolo sezione
      testo sezione

      Mi chiedevo se qualcuno sa dirmi dove sbaglio o conosce una soluzione

      grazie

      Benvenuto!

      Per ogni comando di sezionamento è sufficiente:
      `\newcommand\sezione{\@startsection {section}{1}{\z@}%
      {-3.5ex \@plus -1ex \@minus -.2ex}%
      {2.3ex \@plus.2ex}%
      {\normalfont\normalsize\bfseries}}`
      senza dover definire nuovi contatori. Ma che differenza c’è nello scrivere \sezione al posto di \section?

      Inoltre per creare una nuova classe ti conviene partire da una delle classi standard (nel tuo caso article), che carichi con \LoadClass{classe}. Questo ti evita di definire tutti i comandi e di modificare solo quelli che ti interessano.

      Ciao
      Ivan

    • #43272
      Up
      0
      Down
      ::


      ti ringrazio.
      In effetti sezione al posto di section era solo un esempio per cercare di capire come funziona la definizione di questi tipi di comandi. E’ solo che non riesco a capire perché con i “contatori” standard funziona mentre con quelli che definisco io no.

Visualizzazione 1 filone di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top