Inserire titolo nell’indice senza scriverlo nel documento

  • Creatore
    Topic
  • #122150
    benedetto batta
    Partecipante
      Up
      0
      Down
      ::


      Salve.
      Torno al forum dopo parecchio tempo perchè ho ripreso Latex senza averci lavorato per 2 anni, e sono un po’ “arrugginito”.
      Ho un problema, probabilmente di non difficile soluzione.

      Allora, ho creato un ambiente per l’inserimento ripetitivo di immagini e dati (con 5 argomenti), che funziona correttamente.
      Il problema sorge quando cerco di introdurre un sezionamento (il cui titolo non voglio appaia sui fogli) e creare una voce relativa nell’indice (legata ad primo argomento dell’ambiente).
      Questo il codice:

      `
      \newenvironment{datiBase}[5]
      {
      \subsection*{}
      \ifthenelse{\boolean{sectionOperas}}
      {\addcontentsline{toc}{subsection}{{IMMAGINE INIZIALE: #1}}
      {\addcontentsline{toc}{subsection}{{#1}}

      \begin{minipage}{\dimexpr\textwidth-1cm}
      % Formatta titolo immagine (#1: titolo)
      \LARGE{\textbf{Titolo dell'immagine}: #1}%
      \end{minipage}
      % centra immagine nella pagina (#2: file immagine)
      \vspace*{\fill}
      \begin{center}
      \fbox{\includegraphics [scale=1.5] {#2}}% fbox mette il contorno all'immagine
      \end{center}
      \vspace*{\fill}
      \begin{large}
      % inserisce in fondo alla pagina l'anno (#3) e la tecnica usata (#4)
      \vfill
      \textsc{\textbf{Anno}: #3}%
      \par\vspace{8pt}\noindent
      \textsc{\textbf{tecnica utilizzata}:}%
      \hspace{3pt}\noindent\textit{#4}
      \clearpage
      % inserisce commento dell'artista (#5)
      \textsc{\textbf{COMMENTO DELL'ARTISTA ALLA GRAFICA}}
      \par
      \vspace{3em}
      \noindent\textit{#5}%
      \vspace{10pt}
      \separatore
      \clearpage% alla fine va ad una nuova pagina
      \end{large}%
      }
      `

      Il problema è generato da queste istruzioni (non dal controllo IF, l’ho verificato: i boolen sono gestiti correttamente):
      `
      \subsection*{}
      \ifthenelse{\boolean{sectionOperas}}
      {\addcontentsline{toc}{subsection}{{IMMAGINE INIZIALE: #1}}
      {\addcontentsline{toc}{subsection}{{#1}}
      `
      Mi pare evidente che Latex non accetti una titolazione vuota, e questo dovrebbe causare l’errore.
      Che posso fare in alternativa?
      Oppure, come posso correggere l’istruzione?

      Grazie in anticipo a chi mi vorrà rispondere.

    Visualizzazione 2 filoni di risposte
    • Autore
      Risposte
      • #122151
        MatteoF
        Partecipante
          Up
          0
          Down
          ::


          Potresti postare un esempio minimo compilabile?

        • #122152
          benedetto batta
          Partecipante
            Up
            0
            Down
            ::


            Sì, se vi serve, certo.

            `
            \documentclass[12pt,a4paper]{book}
            \usepackage[T1]{fontenc} % codifica dei font
            \usepackage[utf8]{inputenc} % lettere accentate da tastiera
            \usepackage[italian]{babel} % imposta Italiano come lingua del progetto

            \usepackage{graphicx}% immagini
            \graphicspath{{./Immagini/}{./Opere/}}
            \usepackage{ifthen}

            %————— numerazione e indice generale —————–
            \usepackage{tocloft}
            \setcounter{secnumdepth}{2} % toglie la numerazione delle sezioni
            \setcounter{tocdepth}{3} %numera fino alle sottosezioni
            \cftpagenumbersoff{part}
            \renewcommand{\cftpartfont}{\normalfont\small\bfseries}

            \renewcommand{\thesubsection}{\arabic{subsection}} % numerazione delle sottosezioni come 1,2,3
            \setlength{\cftsubsecnumwidth}{0.5cm} % spazio tra num e titolo nella sottosezione
            \setlength{\cftsubsecindent}{0.9cm}
            \setlength{\cftsubsubsecindent}{1.5cm}
            \renewcommand\cftchapafterpnum{\par\addvspace{4pt}}% spazio sotto il capitolo
            \renewcommand\cftsecafterpnum{\par\addvspace{2pt}}%spazio sotto la sezione
            \renewcommand\cftsubsecafterpnum{\par\addvspace{1pt}}%spazio sotto la sottosezione
            \renewcommand{\cftsubsecfont}{\itshape}
            \renewcommand{\cftsubsubsecfont}{\footnotesize\rmfamily}

            % ————— ambiente per dati immagine ————-
            \newenvironment{datiBase}[5]
            {
            %\subsection*{}
            %\ifthenelse{\boolean{sectionOperas}}
            %{\addcontentsline{toc}{subsection}{IMMAGINE INIZIALE: #1}
            %{\addcontentsline{toc}{subsection}{#1}

            \begin{minipage}{\dimexpr\textwidth-1cm}
            % Formatta titolo immagine (#1: titolo)
            \LARGE{\textbf{Titolo dell'immagine}: #1}%
            \end{minipage}
            % centra immagine nella pagina (#2: file immagine)
            \vspace*{\fill}
            \begin{center}
            \fbox{\includegraphics [scale=1.5] {#2}}% fbox mette il contorno all'immagine
            \end{center}
            \vspace*{\fill}
            \begin{large}
            % inserisce in fondo alla pagina l'anno (#3) e la tecnica usata (#4)
            \vfill
            \textsc{\textbf{Anno}: #3}%
            \par\vspace{8pt}\noindent
            \textsc{\textbf{tecnica utilizzata}:}%
            \hspace{3pt}\noindent\textit{#4}
            \clearpage
            % inserisce commento dell'artista (#5)
            \textsc{\textbf{COMMENTO DELL'ARTISTA ALLA GRAFICA}}
            \par
            \vspace{3em}
            \noindent\textit{#5}%
            \vspace{10pt}
            \clearpage% alla fine va ad una nuova pagina
            \end{large}%
            }
            % ——————————————————
            \begin{document}

            \chapter*{Esito del progetto\markboth{esito del progetto}{}}
            \addcontentsline{toc}{chapter}{Esito del progetto}
            \clearpage

            \newboolean{sectionOperas}
            \setboolean{sectionOperas}{true}

            \begin{datiBase}{Il sapiente}{03-OK.png}{1966}{tecnica mista — Dalla serie <>, taccuino di schizzi}{Aaaaaaaaaaaaaaaa}
            \end{datiBase}

            \newpage

            \begin{datiBase}{Ragnatela}{43-OK.png}{1987}{Disegno a matita, quaderno di studi – dalla serie <>.}{Bbbbbbbbbbbbbbbb}
            \end{datiBase}

            \newpage

            %—- Indice generale —————————-
            \tableofcontents

            \end{document}`
            Naturalmente, le immagini non ci sono e il percorso è da creare.
            Manca la gestione dell’intestazione del piè di pagina.

            Nell’ambiente “datiBase”, se decommentate le prime 4 istruzioni, la compilazione si interrompe con un errore.
            Non capisco il perché.

          • #122153
            benedetto batta
            Partecipante
              Up
              0
              Down
              ::


              Bene, ho risolto.
              In definitiva, basta non introdurre alcun titolo di sezionamento, e aggiungere la voce all’indice, utilizzando il comando \addcontentsline{toc}{subsection} nella pagina cui ci si riferisce, e questo avviene impostandolo nell’ambiente da me customizzato. Inoltre, c’erano degli errori nell’IF/THEN/ELSE (mancavano delle parentesi graffe).
              Riporto per completzza l’esempio compilabile corretto.

              `\documentclass[12pt,a4paper]{book}
              \usepackage[T1]{fontenc} % codifica dei font
              \usepackage[utf8]{inputenc} % lettere accentate da tastiera
              \usepackage[italian]{babel} % imposta Italiano come lingua del progetto
              \usepackage{graphicx}% immagini
              \graphicspath{{./Immagini/}{./Opere/}}
              \usepackage{ifthen}

              %————— numerazione e indice generale —————–
              \usepackage{tocloft}
              \setcounter{secnumdepth}{2} % toglie la numerazione delle sezioni
              \setcounter{tocdepth}{3} %numera fino alle sottosezioni
              \cftpagenumbersoff{part}
              \renewcommand{\cftpartfont}{\normalfont\small\bfseries}

              \renewcommand{\thesubsection}{\arabic{subsection}} % numerazione delle sottosezioni come 1,2,3
              %https://tex.stackexchange.com/questions/64229/how-to-change-font-size-in-table-of-contents
              \setlength{\cftsubsecnumwidth}{0.5cm} % spazio tra num e titolo nella sottosezione
              \setlength{\cftsubsecindent}{0.9cm}
              \setlength{\cftsubsubsecindent}{1.5cm}
              \renewcommand\cftchapafterpnum{\par\addvspace{4pt}}% spazio sotto il capitolo
              \renewcommand\cftsecafterpnum{\par\addvspace{2pt}}%spazio sotto la sezione
              \renewcommand\cftsubsecafterpnum{\par\addvspace{1pt}}%spazio sotto la sottosezione
              \renewcommand{\cftsubsecfont}{\itshape}
              \renewcommand{\cftsubsubsecfont}{\footnotesize\rmfamily}

              % ambiente per dati immagine
              \newenvironment{datiBase}[5]
              {
              \ifthenelse{\boolean{sectionOperas}}
              {%
              \addcontentsline{toc}{subsection}{IMMAGINE INIZIALE: #1}%
              }%
              {%
              \addcontentsline{toc}{subsection}{#1}%
              }%

              \begin{minipage}{\dimexpr\textwidth-1cm}
              % Formatta titolo immagine (#1: titolo)
              \LARGE{\textbf{Titolo dell'immagine}: #1}%
              \end{minipage}
              % centra immagine nella pagina (#2: file immagine)
              \vspace*{\fill}
              \begin{center}
              \fbox{\includegraphics [scale=1.5] {#2}}% fbox mette il contorno all'immagine
              \end{center}
              \vspace*{\fill}
              \begin{large}
              % inserisce in fondo alla pagina l'anno (#3) e la tecnica usata (#4)
              \vfill
              \textsc{\textbf{Anno}: #3}%
              \par\vspace{8pt}\noindent
              \textsc{\textbf{tecnica utilizzata}:}%
              \hspace{3pt}\noindent\textit{#4}
              \clearpage
              % inserisce commento dell'artista (#5)
              \textsc{\textbf{COMMENTO DELL'ARTISTA ALLA GRAFICA}}
              \par
              \vspace{3em}
              \noindent\textit{#5}%
              \vspace{10pt}
              \clearpage% alla fine va ad una nuova pagina
              \end{large}%
              }

              \begin{document}

              %—- Indice generale —————————-
              \tableofcontents

              \chapter*{Esito del progetto\markboth{esito del progetto}{}}
              \addcontentsline{toc}{chapter}{Esito del progetto}
              \clearpage

              \newboolean{sectionOperas}
              \setboolean{sectionOperas}{true}

              \begin{datiBase}{Il sapiente}{03-OK.png}{1966}{tecnica mista — Dalla serie <>, taccuino di schizzi}{A}
              \end{datiBase}

              \newpage

              \begin{datiBase}{Ragnatela}{43-OK.png}{1987}{Disegno a matita, quaderno di studi – dalla serie <>.}{B}
              \end{datiBase}

              \newpage

              \end{document}
              `

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

          Go to top