errore di compilazione »¿\documentclass[

  • Creatore
    Topic
  • #58300
    Up
    0
    Down
    ::


    Buonasera a tutti, ho uno strano problema nel compilare un file su MacOS che su Windows non si presenta (ho MacTeX+Aquamacs e TeXLive+ntEmacs rispettivamente). In particolare l’errore che mi si presenta è
    `)pdfTeX warning (ext4): destination with the same identifier (name{page.i}) has been already used, duplicate ignored

    \relax
    l.35 \listoffigures
    [1] (./mecca.lof) [2] (./mecca.lot) [3]
    Capitolo 1.
    [1] [2] [3] (./mecca.aux) )`
    (se tolgo il \listoffigures il problema si sposta al successivo \listoftables). Inoltre Aquamacs permette di visualizzare l’errore premendo CTRL-C+` e quello che mi viene detto è
    `ERROR: LaTeX Error: Missing \begin{document}.

    — TeX said —

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

    l.1 ï
    »¿\documentclass[a4paper,oneside,10pt]{book}
    — HELP —
    LaTeX produced printed output before encountering a \begin{document}
    command. Either you forgot the \begin{document} command or there is
    something wrong in the preamble. The problem may be a stray character
    or an error in a declaration—for example, omitting the braces around
    an argument or forgetting the \ in a command name.`
    Quegli strani caratteri prima di \documentclass mi hanno fatto pensare a caratteri strani nascosti, ma cancellando e riscrivendo tutto non cambia nulla. Il pdf viene prodotto ma ha una pagina bianca iniziale con il numero uno in alto a destra. La cosa strana è che se copio il preambolo su un altro file e compilo il problema scompare e per questo non posso fornire un esempio minimo compilabile. Ho provato a fare diversi copia-incolla senza esito alcuno. Ho provato anche a cancellare tutti i file tranne il .tex ma il problema si presenta ancora. Riporto il preambolo completo:
    `\documentclass[a4paper,oneside,10pt]{book}

    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[italian]{babel}
    \usepackage{textcomp}
    \usepackage{amsfonts,amsmath,amssymb,bm}
    \usepackage{graphicx}
    \usepackage{subfig}
    \usepackage{pgfplots}
    \usepackage{circuitikz}
    \usepackage{siunitx}
    \usepackage{microtype}
    \usepackage{hyperref}

    \sisetup{output-decimal-marker={,}}

    \newcommand{\pscalare}{\mathbin{\vcenter{\hbox{$\scriptscriptstyle\bullet$}}}}

    \graphicspath{{img/}}

    \begin{document}`
    MacTeX è aggiornato all’ora del messaggio. Qualcuno può aiutarmi?

    Grazie anticipatamente
    Fra

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #58301
      Up
      0
      Down
      ::

      Buonasera a tutti, ho uno strano problema nel compilare un file su MacOS che su Windows non si presenta (ho MacTeX+Aquamacs e TeXLive+ntEmacs rispettivamente). In particolare l’errore che mi si presenta è
      `)pdfTeX warning (ext4): destination with the same identifier (name{page.i}) has been already used, duplicate ignored

      \relax
      l.35 \listoffigures
      [1] (./mecca.lof) [2] (./mecca.lot) [3]
      Capitolo 1.
      [1] [2] [3] (./mecca.aux) )`
      (se tolgo il \listoffigures il problema si sposta al successivo \listoftables). Inoltre Aquamacs permette di visualizzare l’errore premendo CTRL-C+` e quello che mi viene detto è
      `ERROR: LaTeX Error: Missing \begin{document}.

      — TeX said —

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

      l.1 ï
      »¿\documentclass[a4paper,oneside,10pt]{book}
      — HELP —
      LaTeX produced printed output before encountering a \begin{document}
      command. Either you forgot the \begin{document} command or there is
      something wrong in the preamble. The problem may be a stray character
      or an error in a declaration—for example, omitting the braces around
      an argument or forgetting the \ in a command name.`
      Quegli strani caratteri prima di \documentclass mi hanno fatto pensare a caratteri strani nascosti, ma cancellando e riscrivendo tutto non cambia nulla. Il pdf viene prodotto ma ha una pagina bianca iniziale con il numero uno in alto a destra. La cosa strana è che se copio il preambolo su un altro file e compilo il problema scompare e per questo non posso fornire un esempio minimo compilabile. Ho provato a fare diversi copia-incolla senza esito alcuno. Ho provato anche a cancellare tutti i file tranne il .tex ma il problema si presenta ancora. Riporto il preambolo completo:
      `\documentclass[a4paper,oneside,10pt]{book}

      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[italian]{babel}
      \usepackage{textcomp}
      \usepackage{amsfonts,amsmath,amssymb,bm}
      \usepackage{graphicx}
      \usepackage{subfig}
      \usepackage{pgfplots}
      \usepackage{circuitikz}
      \usepackage{siunitx}
      \usepackage{microtype}
      \usepackage{hyperref}

      \sisetup{output-decimal-marker={,}}

      \newcommand{\pscalare}{\mathbin{\vcenter{\hbox{$\scriptscriptstyle\bullet$}}}}

      \graphicspath{{img/}}

      \begin{document}`
      MacTeX è aggiornato all’ora del messaggio. Qualcuno può aiutarmi?

      Grazie anticipatamente
      Fra

      Il tuo file possiede all’inizio un BOM (Byte Order Mark) che qualche editor aggiunge quando scrive un file Unicode. Il problema è che Emacs (Aquamacs, in questo caso), lo vede e non lo mostra perché è non è vietato che ci sia. Probabilmente il tuo Emacs su Windows è impostato per registrare con l’opzione “utf-8-with-signature”.

      Prova con la magia

      C-X RET f (cioè “control-x” “Ritorno a capo” “f”)

      a cui Aquamacs dovrebbe reagire facendoti la richiesta:
      `Coding system for saving file (default nil):`
      Rispondi “utf-8” (senza le virgolette) e da’ RET.

      Comunque l’errore che ti si presenta non è quello che riporti all’inizio: quello è un messaggio di hyperref dovuto probabilmente alla presenza di un ambiente titlepage.

      Ciao
      Enrico

    • #58302
      Up
      0
      Down
      ::


      Grazie mille, seguendo le tue istruzioni l’errore è scomparso. Non ricordo benissimo ma forse quel che è successo è che Emacs su Win salva automaticamente in latin1 ed io per avere il file in utf8 l’ho scritto prima con blocco note, salvato con codifica utf8, e poi aperto con emacs. Forse questi passaggi hanno determinato l’aggiunta del BOM.
      Hai ragione, ovviamente, anche per quanto riguarda l’ambiente titlepage, nel senso che è presente. Come mai viene mostrato questo messaggio da hyperref? E’ innocuo o bisogna eliminarlo il qualche modo? Riporto il codice relativo
      `\begin{titlepage}
      \centering
      \includegraphics[width=.5\textwidth]{marchio}\\\vspace{2cm}
      Ecco il\\vspace{.5cm}
      {\Huge \scshape Titolo}\\\vspace{.3cm}
      Spike
      \end{titlepage}`
      Grazie mille
      Fra

    • #58303
      Up
      0
      Down
      ::

      Grazie mille, seguendo le tue istruzioni l’errore è scomparso. Non ricordo benissimo ma forse quel che è successo è che Emacs su Win salva automaticamente in latin1 ed io per avere il file in utf8 l’ho scritto prima con blocco note, salvato con codifica utf8, e poi aperto con emacs. Forse questi passaggi hanno determinato l’aggiunta del BOM.

      Ecco, credo che quel programma su Windoze faccia proprio il malanno. Convertire un file da latin-1 a utf-8 direttamente con Emacs è facilissimo: lo apri, scrivi all’inizio
      `% -*- coding: utf-8 -*-`
      e modifichi la riga di inputenc. Poi registri ed è fatta. Qualsiasi Emacs apra lo stesso file lo interpreterà come utf-8.

      Hai ragione, ovviamente, anche per quanto riguarda l’ambiente titlepage, nel senso che è presente. Come mai viene mostrato questo messaggio da hyperref? E’ innocuo o bisogna eliminarlo il qualche modo? Riporto il codice relativo
      `\begin{titlepage}
      \centering
      \includegraphics[width=.5\textwidth]{marchio}\\\vspace{2cm}
      Ecco il\\vspace{.5cm}
      {\Huge \scshape Titolo}\\\vspace{.3cm}
      Spike
      \end{titlepage}`

      Occorrerebbe anche sapere il contesto; di solito un \pagenumbering{alph} risolve la faccenda. Metti titlepage prima o dopo \frontmatter?

      Ciao
      Enrico

    • #58304
      Up
      0
      Down
      ::

      Ecco, credo che quel programma su Windoze faccia proprio il malanno. Convertire un file da latin-1 a utf-8 direttamente con Emacs è facilissimo: lo apri, scrivi all’inizio
      `% -*- coding: utf-8 -*-`
      e modifichi la riga di inputenc. Poi registri ed è fatta. Qualsiasi Emacs apra lo stesso file lo interpreterà come utf-8.

      Molto interessante. Emacs lo uso da poco quindi non ne sono molto pratico!

      Occorrerebbe anche sapere il contesto; di solito un \pagenumbering{alph} risolve la faccenda. Metti titlepage prima o dopo \frontmatter?

      Ecco il contesto:
      `\begin{document}
      \frontmatter
      %
      \begin{titlepage}
      \centering
      \includegraphics[width=.5\textwidth]{marchio}\\\vspace{2cm}
      Ecco il\\vspace{.5cm}
      {\Huge \scshape Titolo}\\\vspace{1cm}
      {\Large Spike}
      \end{titlepage}
      %
      \tableofcontents
      \listoffigures
      \listoftables
      %
      \mainmatter
      \chapter{Capitolo 1}`
      Bisogna metterlo prima?

      Grazie
      Fra

    • #58305
      Up
      0
      Down
      ::

      Ecco, credo che quel programma su Windoze faccia proprio il malanno. Convertire un file da latin-1 a utf-8 direttamente con Emacs è facilissimo: lo apri, scrivi all’inizio
      `% -*- coding: utf-8 -*-`
      e modifichi la riga di inputenc. Poi registri ed è fatta. Qualsiasi Emacs apra lo stesso file lo interpreterà come utf-8.

      Molto interessante. Emacs lo uso da poco quindi non ne sono molto pratico!

      Occorrerebbe anche sapere il contesto; di solito un \pagenumbering{alph} risolve la faccenda. Metti titlepage prima o dopo \frontmatter?

      Ecco il contesto:
      `\begin{document}
      \frontmatter
      %
      \begin{titlepage}
      \centering
      \includegraphics[width=.5\textwidth]{marchio}\\\vspace{2cm}
      Ecco il\\vspace{.5cm}
      {\Huge \scshape Titolo}\\\vspace{1cm}
      {\Large Spike}
      \end{titlepage}
      %
      \tableofcontents
      \listoffigures
      \listoftables
      %
      \mainmatter
      \chapter{Capitolo 1}`
      Bisogna metterlo prima?

      Sì, così il trucco di \pagenumbering{alph} prima di \begin{titlepage} funzionerà.

      Ciao
      Enrico

    • #58306
      Up
      0
      Down
      ::

      Sì, così il trucco di \pagenumbering{alph} prima di \begin{titlepage} funzionerà.

      Ciao
      Enrico

      Così funziona tutto alla perfezione:
      `\begin{document}
      \pagenumbering{alph}
      \begin{titlepage}
      \centering
      \includegraphics[width=.5\textwidth]{marchio}\\\vspace{2cm}
      Ecco il\\\vspace{.5cm}
      {\Huge \scshape Titolo}\\\vspace{1cm}
      {\Large Spike}
      \end{titlepage}
      \frontmatter
      %
      \tableofcontents
      \listoffigures
      \listoftables
      %
      \mainmatter
      \chapter{Capitolo 1}`
      Ma come mai questo problema? Una sorta di incompatibilità tra l’ambiente titlepage ed hyperref?

      Grazie per la disponibilità
      Fra

    • #58307
      Up
      0
      Down
      ::

      Sì, così il trucco di \pagenumbering{alph} prima di \begin{titlepage} funzionerà.

      Ciao
      Enrico

      Così funziona tutto alla perfezione:
      `\begin{document}
      \pagenumbering{alph}
      \begin{titlepage}
      \centering
      \includegraphics[width=.5\textwidth]{marchio}\\\vspace{2cm}
      Ecco il\\\vspace{.5cm}
      {\Huge \scshape Titolo}\\\vspace{1cm}
      {\Large Spike}
      \end{titlepage}
      \frontmatter
      %
      \tableofcontents
      \listoffigures
      \listoftables
      %
      \mainmatter
      \chapter{Capitolo 1}`
      Ma come mai questo problema? Una sorta di incompatibilità tra l’ambiente titlepage ed hyperref?

      Sì, è un problema noto. L’ambiente titlepage, alla fine della sua azione, azzera il contatore delle pagine. Che succede con hyperref? Che imposta un aggancio (anchor) alla pagina iniziale e un altro al comando \tableofcontents e per entrambi usa come nome interno “page.i” (un ancoraggio usa sempre “page.`\thepage`”). Con il trucco di mettere titlepage prima di \frontmatter preceduto da \pagenumbering{alph}, otteniamo quello che si vuole: l’aggancio alla pagina iniziale riceve il nome “page.a”, \frontmatter emette \pagenumbering{roman} e l’aggancio a \tableofcontents è regolarmente “page.i”.

      Ciao
      Enrico

    • #58308
      Up
      0
      Down
      ::


      Estremamente chiaro!

      Grazie mille
      Fra

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

Go to top