Dokumenten-Management-System

Dokumenten-Management-System

Ich schreibe technische Dokumente mit Mathematik/Diagrammen/Plots/Code usw. Ich möchte sie in einem einzigen Dokument zusammenfassen und sie auch unabhängig voneinander ausführen können. Diese technischen Dokumente zu den einzelnen Themen befinden sich in ihren Ordnern. Kann mir jemand erklären, wie ich sie besser verwalten und auch portierbar machen kann? Ich arbeite beispielsweise an denselben Dokumenten unter Mac OSX/MS Windows.

Antwort1

Wenn ich die Frage richtig verstehe, könnte eine Lösung darin bestehen, das Paket zu verwenden subfiles.

Angenommen, dies main.texist Ihre Hauptdatei und Sie möchten , file1.tex, file2.texund file3.texeinschließen. Dann würde Ihr Hauptdokument etwa so aussehen:

Hauptteil.txt:

\documentclass[a4paper]{article}
<your preamble>
\usepackage{subfiles}

\begin{document}

\subfile{file1}

\subfile{file2}

\subfile{file3}

\end{document}

wo Sie Text überall einfügen können, wo Sie möchten, so als ob Sie \includeoder \inputanstelle von verwenden würden \subfile. Der Inhalt von file1.texwürde dann ungefähr so ​​aussehen:

datei1.tex

\documentclass[main.tex]{subfiles}
\begin{document}

<your document goes here>

\end{document}

file2.texFür die Dateien und sollte die gleiche Struktur gelten file3.tex.

Wenn Sie nun kompilieren, main.texwird der Inhalt der Dateien, das heißt, was ich mit < angegeben habe,Ihr Dokument kommt hierher> wird in Ihr Dokument aufgenommen, und wenn Sie beispielsweise kompilieren file1.tex, wird der Inhalt von file2.texkompiliert, als hätte er die Dokumentklassenspezifikationen und die Präambel von main.tex.

Jetzt können alle Dateien im Projekt separat kompiliert werden. Um eine Datei zu kompilieren, müssen sich die Unterdateien jedoch main.texim selben Verzeichnis befinden.

Dokumentation und Installation des Pakets

Ich bin mir nicht sicher, ob es subfilesals Standardpaket enthalten ist. Bei mir war es nicht so, also je nachdem, wie erfahren Sie mit der Installation von Paketen sind, wollte ich sagen, dass die Pakete zu finden sind unter

http://www.ctan.org/tex-archive/macros/latex/contrib/subfiles/

Dort gibt es auch eine Dokumentation des Pakets, nämlich das PDF-Dokument subfiles.pdf. Wenn Sie nicht wissen, wie Sie .insmit .dtxDateien umgehen sollen, gibt es eine kleine Anleitung unter

http://en.wikibooks.org/wiki/LaTeX/Packages/Installing_Extra_Packages

und wenn Sie möchten, können Sie die Dateien subfiles.clsund subfiles.sty, die beim Erstellen des Pakets generiert werden, im selben Verzeichnis wie ablegen main.tex, sodass Sie nicht davon abhängig sind, dass das nächste System, auf dem die Dateien kompiliert werden müssen, das Paket subfielsinstalliert hat.

BEARBEITEN

Antworten

Ich habe drei Verzeichnisebenen: 1 – oberste Ebene mit rootfile.tex, 2 – Kapitelebene mit der Hauptdatei jedes Kapitels, 3 – Abschnittsebene mit dem eigentlichen Inhalt des jeweiligen Kapitels. Ich instanziiere 3 in 2 mit \include{./Sections/part1}. Wie kann man ein solches System mit Unterdateien verwalten? – avlsi

Angenommen, Sie haben die Dateien

./rootfile.tex
./chapter/chap1.tex
./chapter/chap1/section1.1.tex
./chapter/chap1/section1.2.tex
./chapter/chap2.tex
./chapter/chap2/section2.1.tex
./chapter/chap2/section2.2.tex
./chapter/chap3.tex
./chapter/chap3/section3.1.tex
./chapter/chap3/section3.2.tex

sectionX.1.texund Sie möchten die Dateien und sectionX.2.texin die Datei für X=1,2 einschließen chapX.texund trotzdem Ihre Abschnittsdateien, Ihre Kapiteldateien und Ihre Stammdatei kompilieren können. Dies können Sie erreichen, indem Sie Ihre Dateien etwa so aussehen lassen:

rootfile.tex:

\documentclass[a4paper]{article}
<your preamble>
\usepackage{subfiles}

\def\dirlevel{../}

\begin{document}
\def\dirlevel{}

\subfile{./chapter/chap1}
\subfile{./chapter/chap2}
\subfile{./chapter/chap3}

\end{document}

chapX.tex:

\documentclass[./../rootfile.tex]{subfiles}
\begin{document}

\subfile{./\dirlevel chap/chapX/sectionX.1}
\subfile{./\dirlevel chap/chapX/sectionX.2}

\end{document}

AbschnittX.Y.tex:

\documentclass[./../../rootfile.tex]{subfiles}
\begin{document}

<your section goes here>

\end{document}

Der Trick besteht darin, dass \def\dirlevel{}nur gelesen wird, wenn Sie kompilieren rootfile.tex, während \def\dirlevel{../}gelesen wird, unabhängig davon, welche der Dateien Sie kompilieren. Daher kann LaTeX Ihre Dateien weiterhin finden, egal welche Datei Sie kompilieren.

verwandte Informationen