Sammlung von Einzel-Berichten

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Sammlung von Einzel-Berichten

von Gast » Sa 6. Feb 2010, 21:22

Vielen Dank für die schnelle Antwort!
Ich werde die Vorschläge demnächst probieren und an dieser Stelle davon berichten!

noch 19

von KOMA » Fr 5. Feb 2010, 08:15

Zunächst wie man es mit minitoc machen könnte: Zum einen könnte man für die Berichte tatsächlich \part verwenden aber dafür sorgen, dass die Kapitelebene mit jedem \part zurückgesetzt wird. Das geht am einfachsten mit dem chngcntr-Paket:
\usepackage{chngcntr}
\counterwithin{chapter}{part}
Das führt zwar zu einem für \part untypischen Verhalten, aber \part war ja ohnehin nur ein eNotlösung. Zusätzlich würde ich dann noch »Bericht« statt »Teil« verwenden:
\usepackage{scrbase}% braucht man nicht, wenn man eine KOMA-Script-Klasse verwendet
\AtBeginDocument{\renewcaptionname{ngerman}\partname{Bericht}}
Jetzt sollte man für die einzelnen Berichte mit \parttoc (Befehl bitte in der minitoc-Anleitung nachschlagen, da ich das praktisch nie verwende, kann ich mich beim Namen irren!) die Verzeichnisse machen können.

Da die Berichte alle optisch gleich aussehen sollen, kann man sie auch mit derselben Klasse und denselben Paketen erzeugen. Also sollte es eigentlich auch recht problemlos möglich sein, combine zu verwenden.

Wenn man aber ohnehin die gleiche Präambel für alle Berichte verwendet, kann man auch gleich dieselbe Präambel verwenden. Genau so würde ich vorgehen. Dabei würde ich für die Dokument eine Wrapper-Klasse schreiben, die neben der Klasse auch alle benötigten Pakete lädt und Einstellungen vornimmt. Ein Anfänger kann stattdessen einfach alles, was vor \begin{document} steht in eine eigene Datei auslagern und diese per \input am Anfang der einzelnen Berichte laden. Jeder Bericht wird dann zunächst für sich gesetzt. Sind Querverweise zwischen Berichten notwendig, verwendet man das Paket xr. Man hat dann schon einmal alle Berichte in der gewünschten Form mit eigenen Verzeichnissen. Als nächstes baut man ein Hauptdokument. Darin hängt man die einzelnen Berichte schlicht per pdfpages hintereinander. Für die Gesamtverzeichnisse wiederum liest man eine toc-Datei nach der anderen, etwa so:
\newcommand*{\GesamtVerzeichnis}[2][toc]{%
  \chapter*{#2}%
  \begingroup\makeatletter
    \section*{Bericht 1}
    {\InputIfFileExists{bericht1.#1}{}{}}%
    \section*{Bericht 2}
    {\InputIfFileExists{bericht2.#1}{}{}}%
    % usw.
  \endgroup
}
% ...
\GesamtVerzeichnis{Inhalt}
\GesamtVerzeichnis[lof]{Abbildungen}
Man kann sogar einen Gesamtindex erzeugen, weil man bei makeindex nämlich mehr als eine idx-Datei angeben kann.

Bei dem letzten Vorgehen behalten alle Dokumente ihre Seitenzahl. Will man eine durchgehende Seitennummerierung, so kann man das ebenfalls über das Paket xr über ein Label am Ende jedes Einzeldokuments realisieren. Man kann aber auch etwas wie:
\usepackage{scrlfile}% wird von KOMA-Script-Klassen ohnehin geladen
\makeatletter
\BeforeClosingMainAux{% benötigt Paket scrlfile
  \if@filesw
    \immediate\write\@auxout{\protect\writestartpage}%
  \fi
}
\newcommand*{\writestartpage}{%
  \if@filesw
    % Jetzt kommt ein Trick, um vorübergehend eine Ausgabedatei zu belegen:
    \chardef\reserved@c15 %
    \ch@ck7\reserved@c\write%
    \immediate\openout\reserved@c startpage.tex\relax%
    \immediate\write\reserved@c{\string\setcounter{page}{\the\value{page}}}%
    \closeout\reserved@c
  \fi
}
\AtBeginDocument{\InputIfFileExists{startpage.tex}}{}{}
\makeatother
machen, um die Seitenzahl direkt am Ende jedes Berichts in eine Datei zu schreiben und am Anfang des nächsten Berichts automatisch auf diesen Wert setzten zu lassen. Eventuell braucht man dann zusätzlich noch ein \cleardoublepage am Ende jedes Berichts oder ein \stepcounter{page} am Anfang.

Eine (weniger schöne) Alternative wäre:
\renewcommand*{\thepage}{\thepart-\arabic{page}}
Es wird darauf hingewiesen, dass die Verwendung von hyperref bei all diesen Vorschlägen nicht viel bringt, aber Ärger bereiten kann. Ich würde deshalb zumindest vorerst darauf verzichten.

BTW: Man könnte auch den ersten und den letzte Weg miteinander mischen, wobei man dann minitoc nicht benötigt, sondern wieder auf die Einzel-Verzeichnisdateien aus einem getrennten Lauf der Einzelberichte zurückgreifen könnte.

DISCLAIMER: Da ich nichts zum Testen hatte, sind alle Codeschnippsel in diesem Beitrag nur als Skizze eines möglichen Lösungswegs zu betrachten und nicht als fertig ausgeführte und getestete Lösung!

Sammlung von Einzel-Berichten

von Gast » Do 4. Feb 2010, 21:36

Hallo zusammen,

ich bin gerade dabei ein Grundgerüst für eine Sammlung von Einzelberichten zu erstellen. Folgende Maßgaben möchte ich erfüllen:

- alle Berichte sind in sich abgeschlossen (und sollen später mit \input bzw. \include zusammengefügt werden)
- jeder Bericht soll in sich gegliedert sein, d.h. mit jedem neuen Bericht soll die Gliederung bei 1 wieder beginnen
- vor jedem einzelnen Bericht soll eine Inhaltsübersicht mit Seitenzahlen erscheinen
- am Beginn der Sammlung soll ein Inhaltsverzeichnis mit Seitenzahl (= Beginn des Berichtes) mit den Titeln der Berichte und den jeweiligen Autorennamen erscheinen
- die Seitennummerierung soll durchgängig sein


Mit \minitoc ist das zwar alles ganz prima, aber dann erfolgt die Gliederung von vorne bis hinten. Oder gibt es da Optionen, die ich noch nicht kenne?
Ist mit combine etwas zu machen?

Für eure Antworten schon mal vielen Dank!

Nach oben