PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem beim Dokumente vereinen



Passer
16-03-2005, 12:07
Tagchen zusammen,

ich bin grade dabei mehrere Ausarbeitungen (jeweils mit TOC, Abbildungsverzeichnis usw) in einem Dokument zu vereinen. Dabei stosse ich aber auf einige Hürden

1) Der TOC wird irrelang (Summe der einzelnen tocs)
a) => Kann man verschiedene Subinhaltsverzeichnisse erstellen???
b) => Wie kann man am Anfang des Gesamtdokuments ein Kurz und am Ende ein vollständiges Verzeichnis anzeigen lassen?

2) Wenn ich bspw die Subdokumente (ohne Header) include, dann sind leider alle inputs von jenen ungültig
a) => gibt es einen Trick, um inputs nicht relativ zum Ursprung, sondern relativ zum Teildokument gültig zu machen?

3) Derzeit halte ich es für Sinvoll, das Hauptdokument in "parts" aufzuteilen (part1-> das eigentliche Dokument, part2 -> Die jeweiligen Subdokumente, denen jeweils ein Chapter spendiert wird)
a) Wie kannman nun in part2 pro Chapter eine Abbildungsverzeichnis erstellen???

So, das wars ersteinmal ;)

MfG
Christoph

edico
16-03-2005, 13:59
[1] Ein TOC wird «irre», ;-) weil du zuviele Ebenen nimmst ?
[a] s. minitoc package
[b] Schlag es dir aus dem Kopf, wird zu kompliziert. Hier ist vor geraumer Zeit dazu ausgiebig gepostet worden. Es liegt am compiling-prozess, der ja mehrere Durchläufe macht und damit schlecht klarkommt. Wenn du dann chapter- oder section-Verzeichnisse hast, erübrigt sich das an sich ja auch- oder? Wenn du drauf besteht, schau ich in meinem sampler nochmal nach, wie eine mögliche Lösung aussiehen könnte ...
[2] Der masterfile darf nur als einziger eine Präamble haben; alle einzubindenden Parts beginnen ggf. mit der Überschrift resp. Fliesstext.
[a] ? versteh ich nicht
[3] ja
[a] weiss ich momentan nicht, ob oder wie das funktioniert
edico

P.S. Ergänzung ad [1b]
%
% Einfügen eines 2.Verzeichnis :: ManuellTOC (manutoc)
% compile: pdftex
%
\documentclass[12pt,a5paper]{scrartcl}
\usepackage{german}
\usepackage[latin1]{inputenc}
\usepackage{times}

%--- Manuelles Inhaltsverzeichnis :: Manutoc --------------------------------
\newcommand\manutoc{\bgroup
\def\l@subsection##1##2{\relax} % definieren, welche Ebenen
\def\l@subsubsection##1##2{\relax} % aufgenommen werden sollen
\section*{Manuelle Inhaltsbersicht}
\input{foo.toc} % erst für den letzten Lauf Auskommentierung aufheben
\egroup}
%----------------------------------------------------------------------------

\usepackage[colorlinks=true,linktocpage]{hyperref}

\begin{document}

\title{Verzeichnis}
\author{Goofy}
\maketitle

\manutoc

\newpage
\section{ABC}
Wichtig dabei ist, dass {\color{red} \verb+\manutoc+} nur vor dem tableofcontents-Befehl angewendet werden kann. Das hängt mit der Arbeitsweise von LaTeX bei der Erzeugung eines Inhaltsverzeichnisses zusammen.

\subsection{abc}
Vereinfacht ausgedrückt, legt LaTeX während der Übersetzung alle Inhalts\-ver\-zeich\-nis-relevanten Einträge in einer Extradatei ab, der {\color{red} TOC-Datei}. Diese Datei wird beim Auftreten des table\-of\-con\-tents-Befehls in das Dokument eingefügt und im Laufe der nun folgenden Übersetzung aktualisiert.

\subsection{def}
D.h., man sieht in einem Dokument eigentlich immer nur das Inhaltsverzeichnis, das bei der vorletzten Compilierung erzeugt wurde. Für die Aktualisierung wird die TOC-Datei durch den table\-of\-con\-tents-Befehl zum Schreiben geöffnet und erst wieder geschlossen nach {\color{red} \verb+\end{document}+}.

\section{DEF}
Daher kann nach dem Auftreten von {\color{red} \verb+\tableofcontents+} die TOC-Datei auch nicht mehr ausgelesen werden.

\newpage
\tableofcontents

\end{document}

blubb
16-03-2005, 16:11
a) => gibt es einen Trick, um inputs nicht relativ zum Ursprung, sondern relativ zum Teildokument gültig zu machen?
Als Idee:
statt \input \Input verwenden.

Das Input wird definiert mit:
\newcommand{\pfad}[1]{./}
\newcommand{\Input}[1]{\pfad\input{#1}}

und wenn du relativ zu etwas einlesen willst definierst zu \pfad um
\renewcommand{\pfad}[1]{unterverzeichnis/}

Ungetestet und ohne Gewähr. Bei mehrfacher verschachtelung wird es kompliziert ;-)

edico
16-03-2005, 16:46
... aber tex-Dokumente werden gar nicht mit \input, sondern mit \include «embedded» - oder ?
...
\include{einleitung}
\include{chap01}
...
Ich denke d e r markante Unterschied!
edico

blubb
16-03-2005, 17:30
Es geht beides.
Meine Ideenskizze sollte mit \include auch gehen.

Zum Unterschied \input/\include:
\input bindet einfach ein Dokument ein.
\include reagiert in Abhängigkeit von \includeonlyunterschiedlich.
Fehlt \includeonly, ist \include wie \input.
Wird in \includeonly eine Dateiliste definiert, werden nur diese eingebunden.

Vorteil: Man braucht in großen Dokumenten nicht immer alles übersetzen, nur relevante geänderte Teile (die in \includeonly gelistet werden müssen).

Nachteil:
Seitenrefernzen, Inhaltsverzeichnis ist nicht immer korrekt, zusätzliche Seitenumbrüche werden eingefügt, man muß \includeonly immer anpassen...

http://www.weinelt.de/latex/input.html
http://www.weinelt.de/latex/include.html
http://www.weinelt.de/latex/includeonly.html



Nachtrag:
Meine Lösung klappt mit Garfiken auch nur bedingt (\graphicspath müsste auch angepasst werden).

[3a] geht glaub auch mit minitoc.

Passer
16-03-2005, 18:55
1000 Dank an alle antwortenden.

Ich werde die neuen Erkenntnisse ersteinmal verarbeiten und dann sehen, was noch übrig bleibt.

MfG
Passer

Kleener Nachtrag:
input bindet ohne eine \newpage ein
include mit \newpage

desweiteren kann man keine doppelten includes machen, sprich im subdokument dürfen keine weiteren \include kommen (jedenfalls meckert dann mein Compiler rum)

edico
16-03-2005, 19:01
... ja, alles i.O.
Ich denke nur, dass es «einfacher» ist, klar zu machen:
[1] include -----> tex-file no preamble
[2] input -----> any file 'as is'
ansonst gibt es hier immer wieder dieselben Anfragen und Verwirrungen.
Ich selbst handle sowieso bei grösseren docs gem. einer Lösung, «full LaTeX files» einzubinden, so dass ich auch die einzelnen assistent files und nicht nur den master file compilieren kann.
edico

edico
17-03-2005, 09:47
... damit die Verwirrung noch ein wenig grösser wird, nicht zuletzt weil ich meinem letzten posting widerspreche, hier nochmal eine mögliche Lösung, um tex-files in ein master-file einzubinden - mit Verschachtelungen:
...
%
%---------------------------------------------------------%
% $Id: master.tex v1.0 2005/03/17 09:46:03 edico Exp $ %
%---------------------------------------------------------%
%
\documentclass[10pt,a5paper]{scrartcl}
\usepackage{graphicx}
\usepackage{color}
\usepackage{fancyhdr}
\pagestyle{fancy}
\lhead{\rule{5mm}{2mm}}
\rhead{master.tex}
\rfoot{}
\lfoot{}
\cfoot{}

\begin{document}
\section{master}
Der Testfile master.tex bindet unmittelbar alpha.tex, mittelbar beta.tex via alpha.tex ein. Die einzubindenen files liegen mit dem master-file im working-dir.
Deren Syntax ist:
\footnotesize
\begin{verbatim}
%START alpha.tex ========
\section{alpha}
Und hier kommt der kluge Text des embedded file alpha\par
\dots alpha bindet file {\em beta} ein:\par
\IfFileExists{beta.tex}
{\input beta}{\textsc{caution: file beta.tex not found!}}\par
%END alpha.tex ==========
%START beta.tex =========
\subsection{beta}
Und hier kommt der kluge Text des embedded file beta...\par
END beta.tex ============
\end{verbatim}
\normalsize
%---
\dots master bindet file {\em alpha} ein:\par
\IfFileExists{alpha.tex}
{\input alpha}{\textsc{caution: file alpha.tex not found!}}\\
%---
\dots master bindet file {\em gamma} ein:\par
\IfFileExists{gamma.tex}
{\input gamma}{{\color{red}{\textsc{caution: file gamma.tex not found!}}}}
\end{document}
%
... dementsprechend kann man seine Struktur anpassen.
edico

blubb
17-03-2005, 09:55
Und nach der Idee von edico gleich eine kleine Erweiterung:

\newcommand{\myinput}[1]{
\IfFileExists{#1}
{\input #1}{
\IfFileExists{subdir/#1}
{\input subdir/#1}{
\textsc{caution: file beta.tex not found!}}
}
Mit \myinput{xx} wird erst versucht xx im aktuellen Verzeichnis zu laden, klappt das nicht, wird das Unterverzeichnis subdir versucht. Ist dort auch kein xx wird ein Text gedruckt (da wäre evtl auch eine Nachricht oder Warnung denkbar).

Passer
12-04-2005, 22:00
danke, die tipps werde ich für zukünftige Dokumente dieser Grössenordnung im Hinterkopf behalten