[Risolto] Undefined control sequence \tableofcontents

  • Creatore
    Topic
  • #99248
    Up
    0
    Down
    ::


    Ciao a tutti

    Sto usando Debian 7 Wheezy e TexLive 2012 [1] e TeXStudio 2.3.

    Sto scrivendo la tesi utilizzando la classe book.

    Sono riuscita a risolvere -dopo non poche letture- i principali problemi, tuttavia me ne resta uno che non riesco proprio a chiarire.

    In sostanza, quando inserisco `\tableofcontents` nel mio codice, compilando, ottengo l’errore seguente:
    `Undefined control sequence \tableofcontents`
    e nei log
    `! Undefined control sequence.
    \@mkboth #1#2->\edef \bbl@tempb {\noexpand \protect \noexpand \foreignlangua…
    l.98 \tableofcontents
    % contenuti
    The control sequence at the end of the top line
    of your error message was never \def'ed. If you have
    misspelled it (e.g., `\hobx'), type `I' and the correct
    spelling (e.g., `I\hbox'). Otherwise just continue,
    and I'll forget about whatever was undefined.
    ! Undefined control sequence.
    \@mkboth …nguage {\languagename }}\def \bbl@arg {#1}\ifx \bbl@arg \@empty …
    l.98 \tableofcontents
    % contenuti
    The control sequence at the end of the top line
    of your error message was never \def'ed. If you have
    misspelled it (e.g., `\hobx'), type `I' and the correct
    spelling (e.g., `I\hbox'). Otherwise just continue,
    and I'll forget about whatever was undefined.
    ! Undefined control sequence.
    \@mkboth …after \toks@ \expandafter {\bbl@tempb {\protect \bbl@restore@act…
    l.98 \tableofcontents
    % contenuti
    The control sequence at the end of the top line
    of your error message was never \def'ed. If you have
    misspelled it (e.g., `\hobx'), type `I' and the correct
    spelling (e.g., `I\hbox'). Otherwise just continue,
    and I'll forget about whatever was undefined.
    ! Undefined control sequence.
    \@mkboth …restore@actives #1}}\fi \def \bbl@arg {#2}\ifx \bbl@arg \@empty …
    l.98 \tableofcontents
    % contenuti
    The control sequence at the end of the top line
    of your error message was never \def'ed. If you have
    misspelled it (e.g., `\hobx'), type `I' and the correct
    spelling (e.g., `I\hbox'). Otherwise just continue,
    and I'll forget about whatever was undefined.
    ! Undefined control sequence.
    \@mkboth …after \toks 8\expandafter {\bbl@tempb {\protect \bbl@restore@act…
    l.98 \tableofcontents
    % contenuti
    The control sequence at the end of the top line
    of your error message was never \def'ed. If you have
    misspelled it (e.g., `\hobx'), type `I' and the correct
    spelling (e.g., `I\hbox'). Otherwise just continue,
    and I'll forget about whatever was undefined.
    ! Missing control sequence inserted.
    \inaccessible l.98 \tableofcontents
    % contenuti
    Please don't say `\def cs{…}', say `\def\cs{…}'.
    I've inserted an inaccessible control sequence so that your
    definition will be completed without mixing me up too badly.
    You can recover graciously from this error, if you're
    careful; see exercise 27.2 in The TeXbook.`

    Se ho capito bene significa che potrebbe esserci un errore d’ortografia, ma se non c’è non devo preoccuparmi e dimenticare questo avviso, peccato che blocchi la visualizzazione del pdf…e il TeXbook non ce l’ho!

    La cosa strana è che facendo una prova con un codice consigliato in un altro post da Claudio
    `\documentclass[a4paper]{article}
    \usepackage{lipsum} % e' necessario per avere il testo nelle sezioni
    \begin{document}
    \tableofcontents % questo fa già tutto da solo

    % Qui comincio a scrivere il testo normale del mio documento…
    \section{Prima sezione}
    \lipsum[1]% Questi sostuiscono il testo all'interno delle sezioni

    \subsection{Prima sottosezione}
    \lipsum[2]

    \subsection{Seconda sottosezione}
    \lipsum[3]

    \section{Seconda sezione}
    \lipsum

    \section{Terza sezione}
    \lipsum

    \end{document}`
    funziona bene e non ci sono errori…

    Ecco invece il mio preambolo:
    `
    \documentclass[a4paper,
    11pt, % dimensione corpo carattere
    twoside, % oneside annulla il fronteretro
    openright, % le pagine iniziano a destra
    %italian, % da controllare
    titlepage]{book} %per il frontespizio

    \usepackage[T1]{fontenc}
    \usepackage{textcomp}
    \usepackage[utf8]{inputenc}

    \usepackage[english,french,italian]{babel}

    \usepackage[Bjarne]{fncychap} % Modifica dello stile di default per i capitoli in prima pagina % Altri stili di capitolo sono i seguenti:
    % Lenny, Rejne, Conny, PetersLenny, Bjornstrup, Glenn, Bjarne, Sonny,Nicola – su consiglio deMarco, Scrivere la tesi di laurea in LateX
    %\usepackage{beramono}
    \usepackage{pxfonts}

    \usepackage{csquotes}
    \hyphenation{ma-cro-istru-zio-ne nitro-idrossil-amminico}
    \usepackage{microtype}

    \usepackage[backend=bibtex,
    style=philosophy-verbose,
    backref,
    natbib,
    origfields=origed,
    isbn=false,
    doi=false,
    url=false,
    scauthors=true
    ]{biblatex}

    \usepackage{eurosym} % Per abilitare il simbolo dell'euro con il comando \euro
    \usepackage{numprint} % Per poter scrivere i numeri con la spaziatura ogni 3 cifre \np{1000} –> 1 000
    \usepackage{gensymb} % Per poter usare \numprint[\textcelsius]{20} –> 20°C
    \usepackage{graphicx}

    \graphicspath{immagini}
    \usepackage{enumerate}
    \usepackage{wrapfig}

    % margini manuali pagina
    \usepackage[a4paper,
    top=3.0cm,
    bottom=2.5cm,
    left=2.0cm,
    right=2.0cm,%
    bindingoffset=15mm,
    marginpar=1.5cm,
    reversemp]{geometry}

    \usepackage{indentfirst} % Per indentare anche il primo paragrafo sotto i titoli delle sezioni
    \usepackage{hyperref} % indici e link
    \usepackage{eso-pic} % pacchetto per massimizzare il logo sulla pagina frontespizio
    \usepackage{frontespizio} %per creare il frontespizio

    \newenvironment{citazione}
    {\begin{quotation}\small}
    {\end{quotation}}

    \bibliography{Bibliografia.bib}
    `

    e il documento:
    `\begin{document}

    \frontmatter

    % % % Frontespizio % % %

    %\include{0inizio/frontespizio}

    % % % Indici % % %

    \tableofcontents % contenuti
    %\listoffigures %immagini
    %\listoftables % tabelle

    \mainmatter

    \include{capitoli/intro}
    \include{capitoli/teoria}
    \include{capitoli/campo}
    \include{capitoli/analisi}

    % … il resto della tesi

    \backmatter

    \include{fine/bibliografia}

    \addcontentsline{toc}{chapter}{\bibname}
    \printbibliography

    % APPENDICI
    %\appendix
    %\include{appendice1/appendice1}
    %\include{appendice2/appendice2}

    \end{document}`

    Sperando di essere stata abbastanza chiara nelle spiegazioni, vi ringrazio anticipatamente per ogni suggerimento fornitomi (anche in termini di documentazione da spulciare).

    p.s. ho provato anche con TeXMaker, ma ottengo lo stesso risultato. Ho tentato cancellando i file ausiliari, ma mi da sempre lo stesso errore.

    [1] nella stable di Debian è l’ultima aggiornata, ho provato a fare pinning e installare quella dai repository di testing, ma si porta dietro troppe dipendenze problematiche…ma questo è un altro problema!

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #99249
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Senza un esempio minimo compilabile è difficile dire che cosa succeda; leggendo i messaggi d’errore prodotti non da
        tableofcontents ma dai comandi interni di tableofcontentes, non si vede bene quale sia la macro che produce l’errore, ma sembrerebbe che sia una macro collegata al pacchetto biblatex. (incidentalmente la Bibliografia.bib va inserita come argomento di \addbibreseource). Inoltre forse, leggendo la documentazione di boblatex puoi probabilmente impostare fra le sue opzioni quella per averne il titolo elencato nell’indice generale; così non hai bisogno di metterne il titolo nel file toc.
        Prova intanto con queste correzioni che riguardano biblatex.

      • #99250
        Up
        0
        Down
        ::


        Grazie innanzitutto per la risposta.

        OldClaudio” post=98742(incidentalmente la Bibliografia.bib va inserita come argomento di \addbibreseource)..

        bisogna tener conto che sto lavorando con TeXlive non aggiornata all’ultima versione.
        sul manuale si legge

        Adds a resource , such as a .bib file, to the default resource list. This command is
        only available in the preamble. It replaces the \bibliography legacy command.

        ma io sto usando la vecchia versione e, infatti, se provo a cambiare la stringa mi da errore.

        Ho provato a commentare ` \addcontentsline{toc}{chapter}{\bibname}`
        e non cambia nulla (negli errori).
        Ho provato commentando una per una le opzioni di biblatex e anche commentandolo, sempre lo stesso errore.

        Ho dato un’occhiata alle 265 pagine del manuale di biblatex, ma non mi è sembrato di trovare nulla che possa tornarmi utile per questo problema.

        Sulla rete ho trovato questo. E’ quasi il mio stesso problema, ma si è risolto cancellando i file ausiliari.

        Così dovrebbe andare come compilabile, no?
        `\documentclass[a4paper,
        11pt, % dimensione corpo carattere
        twoside, % oneside annulla il fronteretro
        openright, % le pagine iniziano a destra
        %italian, % da controllare
        titlepage]{book} %per il frontespizio

        \usepackage[T1]{fontenc}
        \usepackage{textcomp}
        \usepackage[utf8]{inputenc}
        \usepackage{lipsum}

        \usepackage[english,french,italian]{babel}

        \usepackage[Bjarne]{fncychap} % Modifica dello stile di default per i capitoli in prima pagina % Altri stili di capitolo sono i seguenti:
        % Lenny, Rejne, Conny, PetersLenny, Bjornstrup, Glenn, Bjarne, Sonny,Nicola – su consiglio deMarco, Scrivere la tesi di laurea in LateX
        %\usepackage{beramono}
        \usepackage{pxfonts}

        \usepackage{csquotes}
        \hyphenation{ma-cro-istru-zio-ne nitro-idrossil-amminico}
        \usepackage{microtype}

        \usepackage[backend=bibtex,
        style=philosophy-verbose,
        backref,
        natbib,
        origfields=origed,
        isbn=false,
        doi=false,
        url=false,
        scauthors=true
        ]{biblatex}

        \usepackage{eurosym} % Per abilitare il simbolo dell'euro con il comando \euro
        \usepackage{numprint} % Per poter scrivere i numeri con la spaziatura ogni 3 cifre \np{1000} –> 1 000
        \usepackage{gensymb} % Per poter usare \numprint[\textcelsius]{20} –> 20°C
        \usepackage{graphicx}

        \graphicspath{immagini}
        \usepackage{enumerate}
        \usepackage{wrapfig}

        % margini manuali pagina
        \usepackage[a4paper,
        top=3.0cm,
        bottom=2.5cm,
        left=2.0cm,
        right=2.0cm,%
        bindingoffset=15mm,
        marginpar=1.5cm,
        reversemp]{geometry}

        \usepackage{indentfirst} % Per indentare anche il primo paragrafo sotto i titoli delle sezioni
        \usepackage{hyperref} % indici e link
        \usepackage{eso-pic} % pacchetto per massimizzare il logo sulla pagina frontespizio
        \usepackage{frontespizio} %per creare il frontespizio

        \newenvironment{citazione}
        {\begin{quotation}\small}
        {\end{quotation}}

        \begin{document}
        \tableofcontents % questo fa già tutto da solo

        % Qui comincio a scrivere il testo normale del mio documento…
        \section{Prima sezione}
        \lipsum[1]% Questi sostuiscono il testo all'interno delle sezioni

        \subsection{Prima sottosezione}
        \lipsum[2]

        \subsection{Seconda sottosezione}
        \lipsum[3]

        \section{Seconda sezione}
        \lipsum

        \section{Terza sezione}
        \lipsum

        \end{document}
        `

        Sperando di capire più chiaramente da dove viene il problema,
        grazie mille per l’aiuto!

      • #99251
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          La colpa è del pacchetto fncychap (e/o) dell’opzione Bjarne); commentando la riga la compilazione va sempre a buon fine.

          Invece lo stile di capitolo Bjarne non mi sembra una scelta particolarmente felice, visto che il numero del capitolo viene scritto come parola, non come numero; Quindi vedere scritto “Capitolo ONE” fa un certo effetto.:roll:

          Uso Latex da quasi 30 anni; non ho mai avuto bisogno di usare gli stili di fncychap; ne ho letto la documentazione, ne ho visto i risultati, ma tutto sommato preferisco crearmi le mie intestazioni di capitolom magari con l’aiuto di altri pacchetti, come titelsec, epr esempio ed altri affini, oppure (ri)scrivendomi da le macro interne invocate da \chapter e da \chpater* non è così difficile, ma certo richiede più lavoro che non quello di invocare un pacchetto; almeno so quello che faccio e mi personalizzo le cose come voglio, non dico meglio, ma certamente in modo che soddisfino meglio il mio occhio.

          Ora non direi che sia vietato servirsi di pacchetti preconfezionato e che tutti si riscrivano le macro interne per soddisfare i loro desideri, ma talvolta è l’unica soluzione e non si è vincolati agli stili preconfezionati.

          Nel tuo caso ti suggerirei un pacchetto più di base, come titlesec, se prorpio i titolo=li normali non ti piacciono.

        • #99252
          Up
          0
          Down
          ::


          Grazie mille!
          Magnifico, in effetti, senza quel pacchetto funziona…

          una curiosità, per trovarlo sei andato per esclusione commentandone uno alla volta? o c’è un altro metodo (a parte leggere i log?)

          Non sono particolarmente legata al preconfezionato, tant’è che ho preferito iniziare con un documento vuoto e aggiungere quanto mi serviva (al posto di usare gli ottimi template già pronti -ma non sempre adatti alle nostre esigenze- TOPtesi, suftesi, saptesi, Tesi Moderna, Tesi Classica, Tesi Cls e ClassicThesis).

          Non essendo però una grande esperta, mi sono affidata alla documentazione, tra cui, Agostino DeMarco, Scrivere la tesi di laurea in LaTeX in ArsTeXnica n.16 ottobre 2013 che mi sembrava più aggiornato rispetto a Lapo F. Mori, Scrivere la tesi di laurea con LaTeX, gennaio 2006.
          Ed è il primo articolo a consigliare l’uso del pacchetto fncychap per i titoli dei capitoli (la scelta di Bjarne è stata quasi casuale; per il momento sono in fase “bozza” molto poco avanzata!).
          La prossima volta, magari, ci penserò due volte quando le cose mi sembrano troppo miracolose…
          In passato avevo usato titleformat, darò uno sguardo a questo e titlesec, come mi hai consigliato.

          In ogni caso, spero di poter un giorno ricambiare l’aiuto preziosissimo che ho ricevuto su questo forum! 🙂
          Per ora, non mi resta che mettere risolto e ringraziare ancora!

        • #99253
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Agostino De Marco ha scritto una guida tematica aggiornata rispetto all’articolo del 2013; la puoi scaricare dalla sezione Documentazione/GuideTematiche di questo sito.

            Ma tutto quello che si trova scritto, compresa l’ottima guida Tematica di Agostino, non dice che “bisogna fare così”, ma che “si può fare così”.

            Come vedi c’è una bella differenza.

            Comunque mi complimento con te che ti sei documentata a fondo; non sempre quando si comincia si affronta LaTeX con una buona preparazione teorica. Con un sistema di tipocomposizione che fa tante cose, come forse nessun altro, se non si sa bene che cosa si vuol fare non si può nemmeno sapere come farlo; documentarsi è quindi essenziale.

            Ciao
            Claudio

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

        Go to top