Uso dei comandi include e input

  • Creatore
    Topic
  • #10500
    Up
    0
    Down
    ::


    Salve a tutti,
    sto scrivendo una documentazione per un’azienda in Latex. Il documento iniziando ad essere molto lungo ho pensato di spezzarlo in piu’ parti con l’uso dei comandi include o input.
    Per capire come funzionano questi comandi ho fatto una prova a parte con due semplici file: quello principale (ciao1) e quello da inserire (ciao2).

    IL CODICE DI CIAO1 E’:
    \documentclass[a4paper, 11pt]{report}
    \usepackage[latin1]{inputenc}
    \usepackage[italian]{babel}

    \begin{document}

    \include{ciao2}

    \end{document}

    IL CODICE DI CIAO2 E’:
    \documentclass[a4paper, 11pt]{report}
    \usepackage[latin1]{inputenc}
    \usepackage[italian]{babel}

    \begin{document}

    Testo da inserire

    \end{document}

    Il compilatore da questo errore:

    This is e-TeX, Version 3.141592-2.2 (MiKTeX 2.4)
    entering extended mode
    (ciao1.tex
    LaTeX2e <2003/12/01>
    Babel and hyphenation patterns for english, dumylang, nohyphenation, ge
    rman, ngerman, french, loaded.
    (C:\texmf\tex\latex\base\report.cls
    Document Class: report 2004/02/16 v1.4f Standard LaTeX document class
    (C:\texmf\tex\latex\base\size11.clo)) (C:\texmf\tex\latex\base\inputenc.sty
    (C:\texmf\tex\latex\base\latin1.def)) (C:\texmf\tex\generic\babel\babel.sty
    (C:\texmf\tex\generic\babel\italian.ldf (C:\texmf\tex\generic\babel\babel.def)

    Package babel Warning: No hyphenation patterns were loaded for
    (babel) the language `Italian’
    (babel) I will use the patterns loaded for \language=0 instead.

    )) (ciao1.aux (ciao2.aux)) (C:\texmf\tex\generic\babel\lgrcmr.fd) (ciao2.tex

    ! LaTeX Error: Can be used only in preamble.

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

    l.1 \documentclass
    [a4paper, 11pt]{report}
    ?

    Mi potete aiutare a risolvere questo errore del compilatore (WinEdt) ?

    Grazie

    Ps: nel forum ho trovato altre discussioni che trattavano di input e include ma non sono riuscito a risolvere ugualmente il problema.

Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #10501
      lorenzo.pantieri
      Partecipante
        Up
        0
        Down
        ::


        `! LaTeX Error: Can be used only in preamble. `
        Ciao, evidentemente il codice che inserisci contiene delle istruzioni (e.g. il caricamento di un pacchetto) che puoi dare solo nel preambolo del documento. La differenza tra input e include è spiegata in una guida di base come quella che vedi linkata in alto, e riassunta anche qui. Dal messaggio del compilatore (a proposito WinEdt è solo un front-end, e non il compilatore) vedo che non hai settato correttamente la sillabazione in italiano. Nel secondo dei documenti che ti ho segnalato -di cui ti raccomando una scrupolosa lettura- e in numerosi altri post sul forum è spiegato come si fa.

        L.

      • #10502
        Up
        0
        Down
        ::


        Temo che prima della differenza fra \input e \include, il nostro amico non abbia capito il loro principio di funzionamento. E’ scritto dettagliatamente in qualsiasi guida di base, ovviamente.

        Il succo del discorso è che entrambi i comandi servono a inserire un sottofile in un file principale e l’effetto di tale azione è paragonabile a un ‘copia e incolla’, parlando in termini un pochino grossolani: LaTeX copia il contenuto del file incluso e lo incolla al posto del comando di inclusione.

        Stando così le cose, è ragionevole pensare che il documento incluso che il nostro amico ha proposto non è valido; nel file incluso devono essere inclusi solamente i comandi che fanno parte del corpo del testo che si vuole separare, pertanto ciao1.tex sarebbe:`\documentclass[a4paper, 11pt]{report}
        \usepackage[latin1]{inputenc}
        \usepackage[italian]{babel}

        \begin{document}

        \include{ciao2}

        \end{document}`
        Mentre ciao2.tex sarebbe:`Testo da inserire`

        Ciao.

      • #10503
        Up
        0
        Down
        ::


        Manna dal cielo!!! Grazie per l’esaustivo chiarimento!

      • #10504
        Up
        0
        Down
        ::

        Temo che prima della differenza fra \input e \include, il nostro amico non abbia capito il loro principio di funzionamento. E’ scritto dettagliatamente in qualsiasi guida di base, ovviamente.

        Il succo del discorso è che entrambi i comandi servono a inserire un sottofile in un file principale e l’effetto di tale azione è paragonabile a un ‘copia e incolla’, parlando in termini un pochino grossolani: LaTeX copia il contenuto del file incluso e lo incolla al posto del comando di inclusione.

        Stando così le cose, è ragionevole pensare che il documento incluso che il nostro amico ha proposto non è valido; nel file incluso devono essere inclusi solamente i comandi che fanno parte del corpo del testo che si vuole separare, pertanto ciao1.tex sarebbe:`\documentclass[a4paper, 11pt]{report}
        \usepackage[latin1]{inputenc}
        \usepackage[italian]{babel}

        \begin{document}

        \include{ciao2}

        \end{document}`
        Mentre ciao2.tex sarebbe:`Testo da inserire`

        Ciao.

        😕 Vorresti dirmi quindi che quanto ho domandato io qui:
        http://www.guit.sssup.it/phpbb/viewtopic.php?t=7069&highlight=latex+error+file
        è legato ad un errore di sintassi nel file da inserire?… Sappi che io ho provato a togliere tutte le istruzioni del preambolo compreso

          \begin{document}

        lasciando solo l’inizio del testo, ma l’errore compare identico di nuovo… 🙄

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

    Go to top