Problema comando \input: aiuto e/o suggerimenti?

  • Creatore
    Topic
  • #93864
    Dex
      Up
      0
      Down
      ::


      Buongiorno a tutti 🙂

      Sono un laureando arrivato ormai agli sgoccioli, e la stesura della tesi ormai mi occupa gran parte della giornata; prima di iniziare la scrittura del mio progetto ho letto qualche guida di LaTex e poi mi sono buttato a capofitto in questo mondo.
      Negli ultimi giorni sto litigando con un comando apparentemente semplice e banale (da quanto ho letto un po’ ovunque nel Web), \include o \input …. Ed è per questo che chiedo disperatamente il vostro aiuto:

      I miei relatori vogliono un file principale all’interno del quale dovrò importare i capitoli, man mano che saranno pronti; ho creato un MainFile.tex inquesto modo:

      `
      \documentclass{book}
      \usepackage{amsmath, amssymb}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[italian]{babel}


      \input{02CapDue}

      \begin{document}

      \end{document}
      `

      In questo modo compila tutto alla perfezione.
      Il problema sorge nel momento in cui voglio importare il capitolo successivo.

      Esattamente sotto \input{02CapDue} inserisco \input{03CapTre} (entrami i capitoli sono nella medesima cartella), compilo due volte e il PDF creato da TexMaker mi mostra solo il primo file!
      Ho provato in tutte le salse, seguendo mille indicazioni, ogni volta errori diversi … Potete darmi una mano per favore? I tempi stringono, ormai mancano due settimane alla consegna, e ho questo peso sullo stomaco non indifferente!

      Come posso importare più file .tex all’interno di un .tex principale???

      Ringrazio tutti per la cortesia e disponibilità.

      DeX

    Visualizzazione 16 filoni di risposte
    • Autore
      Risposte
      • #93865
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::

          DeX” post=93456Buongiorno a tutti 🙂

          Sono un laureando arrivato ormai agli sgoccioli, e la stesura della tesi ormai mi occupa gran parte della giornata; prima di iniziare la scrittura del mio progetto ho letto qualche guida di LaTex e poi mi sono buttato a capofitto in questo mondo.
          Negli ultimi giorni sto litigando con un comando apparentemente semplice e banale (da quanto ho letto un po’ ovunque nel Web), \include o \input …. Ed è per questo che chiedo disperatamente il vostro aiuto:

          I miei relatori vogliono un file principale all’interno del quale dovrò importare i capitoli, man mano che saranno pronti; ho creato un MainFile.tex inquesto modo:

          `
          \documentclass{book}
          \usepackage{amsmath, amssymb}
          \usepackage[T1]{fontenc}
          \usepackage[utf8]{inputenc}
          \usepackage[italian]{babel}


          \input{02CapDue}

          \begin{document}

          \end{document}
          `

          In questo modo compila tutto alla perfezione.
          Il problema sorge nel momento in cui voglio importare il capitolo successivo.

          Esattamente sotto \input{02CapDue} inserisco \input{03CapTre} (entrami i capitoli sono nella medesima cartella), compilo due volte e il PDF creato da TexMaker mi mostra solo il primo file!
          Ho provato in tutte le salse, seguendo mille indicazioni, ogni volta errori diversi … Potete darmi una mano per favore? I tempi stringono, ormai mancano due settimane alla consegna, e ho questo peso sullo stomaco non indifferente!

          Come posso importare più file .tex all’interno di un .tex principale???

          Ringrazio tutti per la cortesia e disponibilità.

          DeX

          Ciao DeX e benvenuto (ps. come hai fatto a loggarti nel momento stesso in cui ti ho attivato? ho sospettato di aver attivato un utente malintezionato)!

          Forse è perché il comando \input{nomefile} non si trova all’interno dell’ambiente document?
          R.

        • #93866
          Up
          0
          Down
          ::

          DeX” post=93456Buongiorno a tutti 🙂

          Sono un laureando arrivato ormai agli sgoccioli, e la stesura della tesi ormai mi occupa gran parte della giornata; prima di iniziare la scrittura del mio progetto ho letto qualche guida di LaTex e poi mi sono buttato a capofitto in questo mondo.
          Negli ultimi giorni sto litigando con un comando apparentemente semplice e banale (da quanto ho letto un po’ ovunque nel Web), \include o \input …. Ed è per questo che chiedo disperatamente il vostro aiuto:

          I miei relatori vogliono un file principale all’interno del quale dovrò importare i capitoli, man mano che saranno pronti; ho creato un MainFile.tex inquesto modo:

          `
          \documentclass{book}
          \usepackage{amsmath, amssymb}
          \usepackage[T1]{fontenc}
          \usepackage[utf8]{inputenc}
          \usepackage[italian]{babel}


          \input{02CapDue}

          \begin{document}

          \end{document}
          `

          In questo modo compila tutto alla perfezione.
          Il problema sorge nel momento in cui voglio importare il capitolo successivo.

          Esattamente sotto \input{02CapDue} inserisco \input{03CapTre} (entrami i capitoli sono nella medesima cartella), compilo due volte e il PDF creato da TexMaker mi mostra solo il primo file!
          Ho provato in tutte le salse, seguendo mille indicazioni, ogni volta errori diversi … Potete darmi una mano per favore? I tempi stringono, ormai mancano due settimane alla consegna, e ho questo peso sullo stomaco non indifferente!

          Come posso importare più file .tex all’interno di un .tex principale???

          Ringrazio tutti per la cortesia e disponibilità.

          DeX

          Per prima cosa, benvenuto 🙂

          Direi che la cosa migliore da fare è spostare tutti gli [tt]\input[/tt] o [tt]\include[/tt] all’interno di `
          \begin{document}

          \end{document}
          `
          Ciao
          Claudio

        • #93867
          Dex
            Up
            0
            Down
            ::



            @Robitex
            Tranquillo nessuna cattiva intenzione, forse solo il caso!

            Ringrazio tutti per la disponibilità ma … Non va 🙁

            `

            \documentclass{book}
            \usepackage[T1]{fontenc}
            \usepackage[utf8]{inputenc}
            \usepackage[italian]{babel}
            ….

            \begin{document}
            \input{02-CapDue}
            \input{03-CapTre}
            \end{document}

            `

            L’errore che compare è: ! LaTeX Error: Can be used only in preamble.

            Cosa ne pensate? Dove potrebbe essere l’errore?

            Grazie mille ancora a tutti!
            DeX

          • #93868
            franen
            Partecipante
              Up
              0
              Down
              ::


              Cos’è che può essere usato solo nel preambolo? (cioè, che cosa c’è nel log prima di quella riga di testo?)
              Credo che nei file di cui fai l’input ci sia qualcosa che dovrebbe andare solo nel preambolo, e LaTeX si arrabbia! 🙂

              Fran

            • #93869
              Up
              0
              Down
              ::

              DeX” post=93459 @Robitex Tranquillo nessuna cattiva intenzione, forse solo il caso!

              Ringrazio tutti per la disponibilità ma … Non va 🙁

              `

              \documentclass{book}
              \usepackage[T1]{fontenc}
              \usepackage[utf8]{inputenc}
              \usepackage[italian]{babel}
              ….

              \begin{document}
              \input{02-CapDue}
              \input{03-CapTre}
              \end{document}

              `

              L’errore che compare è: ! LaTeX Error: Can be used only in preamble.

              Cosa ne pensate? Dove potrebbe essere l’errore?

              Grazie mille ancora a tutti!
              DeX

              Nel fatto che ci sarà qualche comando nei file di input che deve essere messo solo nel preambolo. Senza vedere i file è impossibile indovinare; il buon senso dice che qualsiasi [tt]\usepackage[/tt] tu abbia nei file dei capitoli deve essere tolto e messo solo nel preambolo.

              Ciao
              Claudio

            • #93870
              Dex
                Up
                0
                Down
                ::


                Ho come l’impressione di perdermi in un bicchiere d’acqua, portate pazienza -.-”

                Aprendo MainFile, ho quanto segue:

                `
                \documentclass{book}
                \usepackage{amsmath, amssymb}
                \usepackage[T1]{fontenc}
                \usepackage[utf8]{inputenc}
                \usepackage[italian]{babel}
                \usepackage{graphicx}
                \usepackage{setspace}
                \usepackage{color}
                \usepackage{graphicx}
                \usepackage{tikz}
                \usepackage{pgf, shapepar}
                \usepackage{epstopdf}
                \usepackage{cases}
                \usepackage{setspace}
                \onehalfspacing
                \newtheorem{thm}{Lemma}
                \graphicspath{{Tesi/}{Grafici/}}
                \usepackage{algpseudocode}
                \usepackage{algorithm}
                \makeatletter
                \newcommand{\newalgname}[1]{%
                \renewcommand{\ALG@name}{#1}%
                }
                \newalgname{Algoritmo}

                \begin{document}

                \end{document}

                `

                • Inserendo \input{02-CapDue} nel preambolo compila e tutto funziona;
                • Inserendo \input{02-CapDue} e sotto \input{03-CapTre}, complilando appare nel PDF solo il testo del 02-CapDue.tex e NON il successivo. Non segnala nessun errore.
                • Inserendo \input{02-CapDue} all’interno di \begin{document} \end{document} non compila e appare il messaggio d’errore “! LaTeX Error: Can be used only in preamble.” riferito alla Linea 1 del file 02-CapDue.tex.

                Il file 02-CapDue.tex inizia con \begin{document} BLA BLA BLA \end{document}, senza \documentclass{}, senza \usepackage, senza nulla.
                (In una prova precedentemente effettuata il preambolo del file 02-CapDue.tex era identico a quello postato poco sopra)

                Se posso fornire altre indicazioni utili, chiedete pure 🙂
                Rinnovo i ringraziamenti e l’appello alla pazienza!

                DeX

              • #93871
                Up
                0
                Down
                ::

                DeX” post=93463Ho come l’impressione di perdermi in un bicchiere d’acqua, portate pazienza -.-”

                Aprendo MainFile, ho quanto segue:

                `
                \documentclass{book}
                \usepackage{amsmath, amssymb}
                \usepackage[T1]{fontenc}
                \usepackage[utf8]{inputenc}
                \usepackage[italian]{babel}
                \usepackage{graphicx}
                \usepackage{setspace}
                \usepackage{color}
                \usepackage{graphicx}
                \usepackage{tikz}
                \usepackage{pgf, shapepar}
                \usepackage{epstopdf}
                \usepackage{cases}
                \usepackage{setspace}
                \onehalfspacing
                \newtheorem{thm}{Lemma}
                \graphicspath{{Tesi/}{Grafici/}}
                \usepackage{algpseudocode}
                \usepackage{algorithm}
                \makeatletter
                \newcommand{\newalgname}[1]{%
                \renewcommand{\ALG@name}{#1}%
                }
                \newalgname{Algoritmo}

                \begin{document}

                \end{document}

                `

                • Inserendo \input{02-CapDue} nel preambolo compila e tutto funziona;
                • Inserendo \input{02-CapDue} e sotto \input{03-CapTre}, complilando appare nel PDF solo il testo del 02-CapDue.tex e NON il successivo. Non segnala nessun errore.
                • Inserendo \input{02-CapDue} all’interno di \begin{document} \end{document} non compila e appare il messaggio d’errore “! LaTeX Error: Can be used only in preamble.” riferito alla Linea 1 del file 02-CapDue.tex.

                Il file 02-CapDue.tex inizia con \begin{document} BLA BLA BLA \end{document}, senza \documentclass{}, senza \usepackage, senza nulla.
                (In una prova precedentemente effettuata il preambolo del file 02-CapDue.tex era identico a quello postato poco sopra)

                Se posso fornire altre indicazioni utili, chiedete pure 🙂
                Rinnovo i ringraziamenti e l’appello alla pazienza!

                DeX

                Rimuovi tutti i [tt]\begin{document}[/tt] e [tt]\end{document}[/tt] nei file inseriti con input o include.

                Spiegazione: ovviamente, il documento è uno solo perciò devi avere un solo ambiente [tt]document[/tt]. Poiché i tuoi file di input contenevano [tt]\begin{document}[/tt] e [tt]\end{document}[/tt], la compilazione si arrestava dopo il primo [tt]\end{document}[/tt]: ecco spiegato perché riuscivi solo a compilare un file in input. Mettendo i file di input con [tt]\begin{document}[/tt] e [tt]\end{document}[/tt] all’interno di un ambiente [tt]document[/tt] genera l’errore che hai visto.

                Ciao
                Claudio

              • #93872
                Up
                0
                Down
                ::

                cfiandra” post=93464

                Ho come l’impressione di perdermi in un bicchiere d’acqua, portate pazienza -.-”

                Aprendo MainFile, ho quanto segue:

                `
                \documentclass{book}
                \usepackage{amsmath, amssymb}
                \usepackage[T1]{fontenc}
                \usepackage[utf8]{inputenc}
                \usepackage[italian]{babel}
                \usepackage{graphicx}
                \usepackage{setspace}
                \usepackage{color}
                \usepackage{graphicx}
                \usepackage{tikz}
                \usepackage{pgf, shapepar}
                \usepackage{epstopdf}
                \usepackage{cases}
                \usepackage{setspace}
                \onehalfspacing
                \newtheorem{thm}{Lemma}
                \graphicspath{{Tesi/}{Grafici/}}
                \usepackage{algpseudocode}
                \usepackage{algorithm}
                \makeatletter
                \newcommand{\newalgname}[1]{%
                \renewcommand{\ALG@name}{#1}%
                }
                \newalgname{Algoritmo}

                \begin{document}

                \end{document}

                `

                [ul]

                [li] Inserendo \input{02-CapDue} nel preambolo compila e tutto funziona; [/li]
                [li] Inserendo \input{02-CapDue} e sotto \input{03-CapTre}, complilando appare nel PDF solo il testo del 02-CapDue.tex e NON il successivo. Non segnala nessun errore.
                [li] Inserendo \input{02-CapDue} all’interno di \begin{document} \end{document} non compila e appare il messaggio d’errore “! LaTeX Error: Can be used only in preamble.” riferito alla Linea 1 del file 02-CapDue.tex. [/li]

                [/ul]

                Il file 02-CapDue.tex inizia con \begin{document} BLA BLA BLA \end{document}, senza \documentclass{}, senza \usepackage, senza nulla.
                (In una prova precedentemente effettuata il preambolo del file 02-CapDue.tex era identico a quello postato poco sopra)

                Se posso fornire altre indicazioni utili, chiedete pure 🙂
                Rinnovo i ringraziamenti e l’appello alla pazienza!

                DeX

                Rimuovi tutti i [tt]\begin{document}[/tt] e [tt]\end{document}[/tt] nei file inseriti con input o include.

                Spiegazione: ovviamente, il documento è uno solo perciò devi avere un solo ambiente [tt]document[/tt]. Poiché i tuoi file di input contenevano [tt]\begin{document}[/tt] e [tt]\end{document}[/tt], la compilazione si arrestava dopo il primo [tt]\end{document}[/tt]: ecco spiegato perché riuscivi solo a compilare un file in input. Mettendo i file di input con [tt]\begin{document}[/tt] e [tt]\end{document}[/tt] all’interno di un ambiente [tt]document[/tt] genera l’errore che hai visto.

                Ciao
                Claudio

                Tutte queste cose, però, sono scritte in ogni guida a LaTeX. Quali hai letto, per curiosità?

                Ciao
                Tommaso

              • #93873
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::



                  @DeX
                  , hai detto di avere letto alcune guide sul Web; non è per portare l’acqua al mulino del GuIT, ma le guide del GuIT sono molto più attendibili; le trovi proprio in questo sito nella sezione Documentazione; sono in italiano, e una, la guida L’Arte di scrivere con LaTeX, è particolarmente adatta ai neofiti.

                  Capisco che sei appena arrivato nel forum, ma proprio per questo esploralo; scoprirai un mucchio di cose interessanti nelle varie sezioni, e vi troverai anche molte guide, generali o tematiche. Quindi non perdere tempo col Web; vai in Documentazione e scarica tutto quello che ti sembra interessante, in primis la guida che ti ho indicato.

                  Anch’io avrei la curiosità di sapere quali guide hai consultato…:wink:

                • #93874
                  Up
                  0
                  Down
                  ::


                  scusate, anche io neofita con un problema simile con \input e \include. Finchè tenevo tutto nel file principale tutto ok, compilava e creava il pdf. Poi ho provato a dividerlo, creando le cartelle e i files, dando i percorsi relativi, inserendo nei file solo le indicazione di “sessione”, insomma, come c’è scritto nella guida “ArteLaTeX” però mi crea problemi con il \usepackage[utf8]{inputenc}. Nello specifico e come se non mi vedesse quel pacchetto e mi segnala errore ad ogni lettera accentata. Esiste una soluzione? grazie in anticipo!

                • #93875
                  Up
                  0
                  Down
                  ::

                  BlueWizard” post=93584scusate, anche io neofita con un problema simile con \input e \include. Finchè tenevo tutto nel file principale tutto ok, compilava e creava il pdf. Poi ho provato a dividerlo, creando le cartelle e i files, dando i percorsi relativi, inserendo nei file solo le indicazione di “sessione”, insomma, come c’è scritto nella guida “ArteLaTeX” però mi crea problemi con il \usepackage[utf8]{inputenc}. Nello specifico e come se non mi vedesse quel pacchetto e mi segnala errore ad ogni lettera accentata. Esiste una soluzione? grazie in anticipo!

                  Che cos ‘hai fatto, esattamente?

                  Ciao
                  Tommaso

                • #93876
                  Up
                  0
                  Down
                  ::

                  illinguista1972″ post=93585

                  scusate, anche io neofita con un problema simile con \input e \include. Finchè tenevo tutto nel file principale tutto ok, compilava e creava il pdf. Poi ho provato a dividerlo, creando le cartelle e i files, dando i percorsi relativi, inserendo nei file solo le indicazione di “sessione”, insomma, come c’è scritto nella guida “ArteLaTeX” però mi crea problemi con il \usepackage[utf8]{inputenc}. Nello specifico e come se non mi vedesse quel pacchetto e mi segnala errore ad ogni lettera accentata. Esiste una soluzione? grazie in anticipo!

                  Che cos ‘hai fatto, esattamente?

                  Ciao
                  Tommaso

                  Dunque, ho cominciato a scrivere la mia tesi, e mi son voluto buttare in questo mondo nuovo per me. Quindi ho scaricato la guida e ho cominciato a leggerla. Ho immesso i seguenti pacchetti nel preambolo:

                  \documentclass[a4paper,11pt]{report}

                  \usepackage[utf8]{inputenc}
                  \usepackage[T1]{fontenc}
                  \usepackage[english,italian]{babel}
                  \usepackage{graphicx}
                  \usepackage{makeidx}
                  \usepackage[autostyle,italian=guillemets]{csquotes}
                  \usepackage[bibstyle=authoryear,citestyle=authoryear-comp,backend=biber]{biblatex}

                  \makeindex

                  \addbibresource{bibliography.bib}

                  Poi ho cominciato a scrivere nel documento vero e proprio tra i comandi \begin{document} e \end{document}

                  Successivamente, ho scoperto la possibilità di poter dividere il documento in più files in modo da non appesantire troppo quello principale ed avere tutto ben ordinato, separato e di più facile consultazione. Quindi ho copiato le sezioni già scritte dentro a dei nuovi files “*.tex” che ho ordinato per bene all’interno di sottocartelle separate dentro a quella principale “tesi”. Dopodichè ho sostituito al capitolo scritto nel file principale thesis.tex il comando \include{capitoli/intro/intro} dove intro è un file che per ora contiene esattamente questo:

                  \chapter{\label{intro}Introduzione}

                  \input{capitoli/intro/inquadramento}
                  \input{capitoli/intro/specie}

                  ovviamente i files inquadramento.tex e specie.tex sono all’interno di quella cartella e cominciano entrambe con \section{specie} (per esempio). Il problema è che quando vado a compilare è come se il compilatore non tenesse più conto del pacchetto per le lettere accentate…

                  Forse non sono stato molto chiaro, non ho ancora dimistichezza con i termini di questo linguaggio di programmazione…

                • #93877
                  Up
                  0
                  Down
                  ::


                  Sospetto che i nuovi file che hai creato per i capitoli abbiano una codifica diversa da utf8. Ti consiglierei di leggere l’apposita guida sulle codifiche che trovi nella sezione Documentazione -> Guide GuIT Tematiche.

                  Ciao
                  Claudio

                • #93878
                  Up
                  0
                  Down
                  ::


                  grazie mille per le tempestive risposte! vado subito a leggere la guida!

                • #93879
                  Up
                  0
                  Down
                  ::


                  esatto, il problema era proprio delle codifiche, non so come mai nei files che inserisco con \include o \input non eredita il preambolo, forse sarà anche un problema di editor (uso texniccenter) ora lo sto rimuovendo ed installando tex live…vediamo se così facendo risolvo la cosa. grazie ancora per le dritte!

                • #93880
                  Up
                  0
                  Down
                  ::



                  @BlueWizard
                  stai facendo la classica confusione del pricipiante (non prenderla come un offesa, ci passiamo tutti agli inizi :D). Non confondere l’editor TeXniccenter (con cui scrivi e modifichi il sorgente, di solito si utilizzano editor LaTeX-friendly con tutte le comodità) con la distribuzione TeXlive che contiene il programma vero e proprio che andrà a interpretare il sorgente da te prodotto.

                  Presta anche attenzione che la codifica che specifichi a latex con l’apposito pacchetto può non corrispondere alla codifica reale dei tuoi file perché dipende dalla codifica con lui li hai salvati. Quindi presta attenzione alla codifica con cui il tuo editor salva i file, se non è UTF8, impostala così. Ora non conosco TeXcniccenter e quindi non ti so dire dove guardare ma sicuramente nella guida del programma ci sarà come impostare l’editor in modo che salvi i file con la codifica corretta.

                • #93881
                  Up
                  0
                  Down
                  ::


                  Grazie mille! alla fine bastava fare “save as” e scegliere la codifica nella apposita combo box 😳 non so come abbia fatto a non pensarci prima, ho passato la serata a farmi venire mal di testa e a cercare un modo per dirgli come doveva modificare la codifica. grazie a tutti dell’aiuto!

                  P.S.
                  Non la prendo assolutamente come un’offesa, se una cosa è vera non vedo perchè dovrebbe offendere!

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

              Go to top