Archiv verlassen und diese Seite im Standarddesign anzeigen : \title erst nach \maketitle definieren
Hallo,
ich möchte in eine große Texdatei wahlweise andere Dateien einzeln einbinden, die jeweils einen Titel haben. Da die Einbindung natürlich erst nach dem \maketitle erfolgt, weiß ich nicht, wie ich Titel und Autor geeignet übergebe.
\documentclass{scrartcl}
\begin{document}
\maketitle
\tableofcontents
\input{wert}%enthält den Titel
\end{document}
, wobei wert.tex so aussehen könnte
\title{Aufsatz}
das ist ein Aufsatz
Hat jemand eine Idee?
ich möchte in eine große Texdatei wahlweise andere Dateien einzeln einbinden, die jeweils einen Titel haben. Da die Einbindung natürlich erst nach dem \maketitle erfolgt, weiß ich nicht, wie ich Titel und Autor geeignet übergebe.
und wieso geht \input nicht vor \maketitle?
Herbert
und wieso geht \input nicht vor \maketitle?
weil die eingebundene Datei auch Text enthält, der nicht vor das Titelblatt geschoben werden soll
weil die eingebundene Datei auch Text enthält, der nicht vor das Titelblatt geschoben werden soll
dann machst du halt dein \maketitlke auch in diese Datei.
Herbert
Das wäre vielleicht auch eine Variante (die Idee hab ich von hier (http://matheraum.de/forum/Variablen_unter_Latex/t356949)):
Hier als filecontents das, was in deiner Input-Datei steht.
\begin{filecontents}{wert.tex}
\MyTitle{Titel dieses Aufsatzes}
\MyText{%
\Blinddocument%
}
\end{filecontents}
\documentclass{scrartcl}
\usepackage[english,ngerman]{babel}
\usepackage{blindtext}
\newcommand{\MyTitle}[1]{\newcommand{\MyTitleName}{#1}}
\newcommand{\MyText}[1]{\newcommand{\MyTextName}{#1}}
\begin{document}
\input{wert}% Die grad zu verwendende Input-Datei (die Datei und mit ihr die Variable für den Titel müssen _vor_ \title definiert werden, deshalb der Umweg über \MyTitle und \MyText.
\title{\MyTitleName} % Hier wird dein Titel übernommen.
\author{Autor}
\date{Datum}
\maketitle
\tableofcontents
\MyTextName % Hier wird dann der Fliesstext ausgegeben.
\end{document}
Das wäre vielleicht auch eine Variante (die Idee hab ich von hier (http://matheraum.de/forum/Variablen_unter_Latex/t356949)):
Vielen Dank, ich dachte zwar das geht etwas direkter und ohne weitere Befehlseinschachtelungen in meiner einzubindenden Datei, aber das ist schon mal eine Lösung.
Übrigens ist der Text in der input Datei schon vollständig in Befehlen gebunden, also etwa so:
\begin{filecontents}{wert.tex}
%%Rahmeninfo
\Titel{Aufsatz}
\Autor{Micky}
\Datum{dd}
%%Text
\Text{
\Stoff{Teilüberschrift1}{beamervariante1}{Textvari ante1}
\Stoff{Teilüberschrift2}{beamervariante2}{Textvari ante2}
}
\end{filecontents}
\documentclass{scrartcl}
\usepackage[english,ngerman]{babel}
\newcommand{\Stoff}[3]{\section{#1} #3}%Textvariante
\newcommand{\Titel}[1]{\newcommand{\MyTitleName}{#1}}
\newcommand{\Autor}[1]{\newcommand{\MyautorName}{#1}}
\newcommand{\Datum}[1]{\newcommand{\Mydatum}{#1}}
\newcommand{\Text}[1]{\newcommand{\MyTextName}{#1}}
\begin{document}
\input{wert}
\title{\MyTitleName} % Hier wird dein Titel übernommen.
\author{\Myautorname}
\date{\Mydatum}
\maketitle
\tableofcontents
\MyTextName % Hier wird dann der Fliesstext ausgegeben.
\end{document}
Kann man da nicht einen Weg finden, um die \Text{} Einschachtelung zu vermeiden?
Das Problem, über das ich gestolpert bin war das, dass der Input-Text erst _nach_ der Titelei (\title etc.) eingebunden wird, die Variable für den Titel _erst_ aufgerufen und _danach_ definiert wird, und das gab einen Fehler.
Die einzige Lösung war, das Input vor die Titelei zu setzen. Dann müssen aber natürlich Titel und Text getrennt werden, denn der Text soll ja erst nach maketitle gesetzt werden.
Gibt es einen Fehler mit dem zusätzlichen Befehl um den Text herum? Oder ist es einfach nur etwas "unelegant"? Ich hatte es mit dem Blinddocument getestet und keine Fehler festgestellt.
Theoretisch müsste es gehen, wenn man die Variable erst nach ihrem Aufruf definiert und dann eben LaTeX zweimal laufen lässt. Denn nach meinem Verständnis arbeiten BibTeX und die label/ref-Möglichkeiten nach diesem Prinzip.
Leider reichen meine LaTeX-Programmierkenntnisse nicht aus, um das sauber und ohne Fehler eingebaut zu bekommen.
Vielleicht bekommt das jemand anderes hin? Und hat noch den einen oder anderen Tipp, wo man etwas darüber nachlesen kann?
Gibt es einen Fehler mit dem zusätzlichen Befehl um den Text herum? Oder ist es einfach nur etwas "unelegant"? Ich hatte es mit dem Blinddocument getestet und keine Fehler festgestellt.
naja, ich möchte alle Dokumente über eine Hauptdatei kompilieren. Und diese fertigenDokumente sollten nicht zu sehr von Befehlen verschachtelt werden. A
Theoretisch müsste es gehen, wenn man die Variable erst nach ihrem Aufruf definiert und dann eben LaTeX zweimal laufen lässt. Denn nach meinem Verständnis arbeiten BibTeX und die label/ref-Möglichkeiten nach diesem Prinzip.
Genau das dachte ich auch. Ein tableofcontents wird ja auch ausgegeben, ohne das ich vorher alle sections angeben muss. Aber trotzdem vielen Dank für deine Hilfe Xenara
Leider reichen meine LaTeX-Programmierkenntnisse nicht aus, um das sauber und ohne Fehler eingebaut zu bekommen.
Vielleicht bekommt das jemand anderes hin? Und hat noch den einen oder anderen Tipp, wo man etwas darüber nachlesen kann?
Ich hoffe, es findet sich jemand
naja, ich möchte alle Dokumente über eine Hauptdatei kompilieren. Und diese fertigenDokumente sollten nicht zu sehr von Befehlen verschachtelt werden. A
Genau das dachte ich auch. Ein tableofcontents wird ja auch ausgegeben, ohne das ich vorher alle sections angeben muss.
es wird _nicht_ im ersten Durchlauf ausgegeben, da ist es leer!
Herbert
@ voss: Kannst du ein Stichwort nennen, nach dem man suchen muss, wenn man Werte so als Variablen deklarieren will, damit sie dann eben im zweiten Lauf eingebaut werden?
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.