2
1

Ich bin gerade am Schreiben meiner Abschlussarbeit. Da ich für die Uni eine freigebbare Version haben muss, soll ich die sensiblen Daten in einen Anhang geben. In der vollständigen Version soll dieser vorhanden sein, in der freigebbaren Version soll dieser nicht sichtbar sein.

Da ich auf Abbildungen/Tabellen im Anhang verweise, kann ich das Problem nicht durch selektives Kompilieren lösen, weil ja ansonsten ?? anstelle der Querweise stehen würden. Gibt es eine Methode, dass ich zwar die Querverweise auf die Inhalte des Anhangs einbinde, aber den Inhalt selbst nicht ins PDF einfüge? Ein Workaround wäre natürlich, dass ich die PDF zuschneide, allerdings wäre eine Lösung über if/else oder Ähnliches eleganter. Ein möglicher Ansatz könnte über include und includeonly erfolgen, allerdings habe ich da keine Erfahrung und deshalb wollte ich euch fragen, ob jemand Erfahrungen mit ähnlichen Themen hatte.

So hätte ich mir das ungefähr vorgestellt:

Öffne in Overleaf
if(gesperrter Anhang)
-- Kompiliere mit allen Querverweisen
-- Ersetze Inhalt von Anhang durch Überschrift "Anhang" + Text "Dieser Teil der Arbeit ist in dieser
Verions nicht verfügbar"
else
-- Normales Erstellen des Dokuments
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gefragt 29 Aug '17, 11:21

Christian's gravatar image

Christian
2123
Akzeptiert-Rate: 0%

bearbeitet 17 Okt '17, 09:22

saputello's gravatar image

saputello
11.1k174365


Genau für so etwas ist \includeonly da. Du packst einfach den gesamten Anhang in eine eigene Datei, die per \include geladen wird. Verwendest Du dann bei einem finalen LaTeX-Lauf einen \includeonly-Befehl, der diese Datei nicht enthält, so wird sie zwar nicht geladen, die Links und Querverweise auf diesen Teil und die Verzeichniseinträge bleiben aber erhalten. Noch einfacher geht es ggf. mit excludeonly. Da gibt man dann statt der Dateien, die man haben will, einfach die eine Datei an, die man nicht haben will.

Mit excludeonly könnte das beispielsweise so aussehen. Angenommen, wir haben folgende Datei:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\begin{filecontents}{\jobname-anhang.tex}
\appendix
\chapter{Kapitel im Anhang}
\label{cha:app}
\begin{figure}
\centering
\rule{.5\textwidth}{.5\textwidth}
\caption{Ein Quadrat}
\label{fig:square}
\end{figure}
\end{filecontents}
\documentclass{book}
\usepackage{excludeonly}
%\excludeonly{\jobname-anhang}
\usepackage{mwe}
\begin{document}
\tableofcontents
\listoffigures
\chapter{Ein Kapitel}
Siehe auch das Quadrat in Abbildung~\ref{fig:square} in Anhang~\ref{cha:app}.
\include{\jobname-anhang}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Jetzt machen wir zwei LaTeX-Läufe und erhalten als Ergebnis ein achtseitiges Dokument mit Anhang.

Nun entfernen wir das % vor \excludeonly{\jobname-anhang} und machen einen weiteren LaTeX-Lauf. Wir erhalten dann ein fünfseitiges Dokument mit vollständigen Verzeichnissen und Verweisen in den Anhang aber eben ohne den Anhang selbst.

Wollte man stattdessen einen Ersatztext, so müsste man in der Tat etwas weiter gehen:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\begin{filecontents}{\jobname-anhang.tex}
\chapter{Kapitel im Anhang}
\label{cha:app}
\begin{figure}
\centering
\rule{.5\textwidth}{.5\textwidth}
\caption{Ein Quadrat}
\label{fig:square}
\end{figure}
\end{filecontents}
\documentclass{book}
\usepackage{mwe}
\newif\ifappendix
\newcommand*{\useappendix}[1]{%
\expandafter\let\expandafter\ifappendix\csname if#1\endcsname
\ifappendix
\newcommand*{\showappendix}{%
\appendix
\input{\jobname-anhang.tex}% Hier genügt \input
}%
\else
\nofiles% aux-Datei und Verzeichnisse nicht mehr verändern
\newcommand*{\showappendix}{%
\appendix
\chapter{Gesperrte Inhalte}
Diese Inhalte sind in der freien Version nicht verfügbar da sie
Firmengeheimnisse beinhalten.
}
\fi
}
\useappendix{true}
\begin{document}
\tableofcontents
\listoffigures
\chapter{Ein Kapitel}
Siehe auch das Quadrat in Abbildung~\ref{fig:square} in Anhang~\ref{cha:app}.
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Auch hier macht man zunächst so viele LaTeX-Läufe, bis das Dokument fertig ist. Ganz zum Schluss ändert man dann

Öffne in Overleaf
\useappendix{true}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

in

Öffne in Overleaf
\useappendix{false}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Und macht einen weiteren LaTeX-Lauf.

Es sei darauf hingewiesen, dass bei beiden Beispielen im Falle der Verwendung von hyperref die Links in den Anhang bei der freien Version ins Leere führen. Zwar würde der Kapitel-Link im zweiten Beispiel noch auf die richtige Seiten führen, der Link auf die Abbildung würde dagegen komplett ins Leere gehen (üblicherweise landet man dann wieder am Anfang des Dokuments).

Permanenter link

beantwortet 29 Aug '17, 15:39

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 17 Okt '17, 09:39

Perfekt! Danke für deine Antwort! Ich habe mir zwar die Doku von von includeonly angesehen, jedoch habe ich nicht verstanden, dass dies bereits die Lösung meiner Aufgabenstellung war. :P

(29 Aug '17, 15:57) Christian
Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×28
×20
×14
×13

gestellte Frage: 29 Aug '17, 11:21

Frage wurde gesehen: 6,571 Mal

zuletzt geändert: 17 Okt '17, 09:39

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×