Hallo, ich habe jetzt kein passendes Minimalbeispiel zur Hand, aber im Grunde gehts eigentlich nur um folgende Schleife: Open in writeLaTeX
\newwrite\outfile \newcounter{ct} \forloop{ct}{1}{\value{ct} < 27} {\IfFileExists{./anhang/\Alph{ct}.tex} {\anhang{./anhang/\Alph{ct}}} {\typeout{Die Datei \Alph{ct}.tex ist nicht Vorhanden}} } Durch diese Schleife füge ich einzelne Dateien in ein Dokument, ohne jedes Mal einen Vorher hatte ich die Dateien einzelnen includiert. Aber um mir die ganzen Befehle zu sparen, habe ich diese Schleife angewendet. So muss ich mir nur immer eine neue tex-Datei erstellen mit einem weiteren Buchstaben. Jemand eine Idee? |
Das mit
Open in writeLaTeX
\documentclass{article} \usepackage{xparse} \ExplSyntaxOn \cs_new_protected:Npn \giovario_inputfile:n #1 { \file_if_exist:nTF { #1 } { \msg_term:n { Inputting ~ #1 } \file_input:n { #1 } } { \msg_term:n { File ~ #1 ~ not ~ found! } } } \cs_new_protected:Npn \giovario_intloop:nww #1#2-#3\scan_stop: { \int_step_inline:nnnn { #2 } { 1 } { #3 } { \giovario_inputfile:n { #1 ##1 .tex } } } \cs_new_protected:Npn \giovario_fileloop:n #1 { \clist_map_inline:nn { #1 } { \giovario_inputfile:n { ##1 } } } \NewDocumentCommand \inputloop { m o } { \IfNoValueTF { #2 } { \giovario_fileloop:n { #1 } } { \giovario_intloop:nww { #1 } #2 \scan_stop: } } \ExplSyntaxOff \begin{document} \inputloop{test0}[1-10] \inputloop{test01.tex,test05.tex} \end{document} beantwortet 14 Dez '14, 22:51 Henri
(15 Dez '14, 00:12)
cgnieder
@Clemens Sehr richtig, vielen Dank. Leider gibt es keine Warnung wenn man die Signatur falsch hat.
(15 Dez '14, 10:25)
Henri
@Henri stimmt. Meinem Gefühl nach wäre übrigens das Quark
(16 Dez '14, 00:35)
cgnieder
@Clemens Ich hab das mal nachgeschlagen und
(16 Dez '14, 10:30)
Henri
|
Falls es für Dich ein gangbarer Weg ist, ein Makro zu definieren, das alle Dateinamen enthält, kannst Du mit den Listenmakros von Open in writeLaTeX
\documentclass{article} \usepackage{etoolbox} % Liste, die Dateinamen enthält: \newcommand*\dateiliste{} \forcsvlist{\listadd\dateiliste}{Mario,Lukas,Johann} % Makro, das Dateinamen als Argument erhält, und damit etwas macht: \newcommand*\verarbeitedatei[1]{Binde Datei `#1.tex' ein\ldots\par} \begin{document} \forlistloop{\verarbeitedatei}{\dateiliste} \end{document} beantwortet 13 Dez '14, 10:49 cgnieder |
Eine Möglichkeit wäre sicher
pythontex
zu verwenden, ähnlich wie hier: http://texwelt.de/wissen/fragen/9344/wie-kann-ich-sehr-viele-tex-dateien-einlesen