Ich habe ein LaTeX-Dokument, das in mehrere Textdateien in verschiedenen Ordnern wie folgt aufgeteilt ist:
\section{Foo}
\subsection{Foo1}
\input{foo/1}
\subsection{Foo2}
\input{foo/2}
\section{Bar}
\subsection{Bar1}
\input{bar/1}
Und so weiter. Angenommen, Foo2
ich muss in den Unterabschnitt ein Bild einfügen. Wie kann ich festlegen, LaTeX
dass das Bild im Verzeichnis gesucht werden soll, in dem sich die aktuell geöffnete Datei befindet (also foo
), sodass 2
ich in die Datei einfach Folgendes schreiben kann:
\includegraphics{baz}
und ich kann alle Bilder für einen bestimmten Abschnitt in ihren Ordnern unter den Eingabetextdateien dieses Abschnitts platzieren?
Antwort1
Sie können
\graphicspath{{foo}}\input{foo/1}
..
\graphicspath{{bar}}\input{bar/1}
Antwort2
Es gibt eine Reihe von Möglichkeiten, dies zu lösen, je nachdem, wie Ihre Verzeichnisse angelegt sind. Wenn Ihr Verzeichnisbaum wie folgt aussieht
-foo
-foo1.tex
-foo2.tex
-baz.pdf
-baz.eps
-bar
-bar1.tex
-qux.pdf
wobei die Dateien in den Verzeichnissen foo
und bar
eindeutige Namen haben, können Sie die TEXINPUT
Umgebungsvariable so angeben, dass die Unterverzeichnisse eingeschlossen werden. Die Details der Einstellung TEXINPUTS
hängen von Ihrer Distribution (z. B. TeXLive oder MikTeX) und Ihrem Betriebssystem (z. B. Windows oder Linux) ab. Meiner Meinung nach ist dies die ideale Konfiguration, da Sie angeben, tex
wo nach Dateien gesucht werden soll. In diesem Fall würde Ihre „Haupt“-Datei wie folgt aussehen:
\section{Foo}
\subsection{Foo1}
\input{foo1}
\subsection{Foo2}
\input{foo2}
\section{Bar}
\subsection{Bar1}
\input{bar1}
Sie können \graphicspath
in dieser Situation auch verwenden, um die Verzeichnisse festzulegen, in denen nach Bildern gesucht werden soll. In diesem Fall würde die Hauptdatei wie folgt aussehen:
\graphicspath{{foo}{bar}}
\section{Foo}
\subsection{Foo1}
\input{foo/foo1}
\subsection{Foo2}
\input{foo/foo2}
\section{Bar}
\subsection{Bar1}
\input{bar/bar1}
Wenn Ihr Verzeichnisbaum wie folgt aussieht:
-foo
-1.tex
-2.tex
-baz.pdf
-baz.eps
-bar
-1.tex
-qux.pdf
-baz.pdf
-baz.eps
Wenn die Dateien in den Verzeichnissen foo
und bar
keine eindeutigen Namen haben, können Sie die TEXINPUT
Umgebungsvariable nicht angeben, da diese nicht weiß, welche Datei Sie meinen. Sie können immer noch verwenden \graphicspath
, müssen diese aber vor jedem\input
\graphicspath{{foo}}
\section{Foo}
\subsection{Foo1}
\input{foo/1}
\subsection{Foo2}
\input{foo/2}
\graphicspath{{bar}}
\section{Bar}
\subsection{Bar1}
\input{bar/1}
Sie können auch dieimport
Paket.
\section{Foo}
\subsection{Foo1}
\import{foo/}{1}
\subsection{Foo2}
\import{foo/}{2}
\graphicspath{{bar}}
\section{Bar}
\subsection{Bar1}
\import{bar/}{1}
import
Wenn Ihre Verzeichnisse verschachtelt sind, wird es mit dem Paket etwas knifflig .