Ich habe eine große LaTeX-Datei und möchte den Großteil ihres Inhalts im PDF verbergen, aber die ursprüngliche Nummerierung der Theoreme usw. beibehalten. Etwas Ähnliches wie display:none
in CSS.
Die comment
Umgebung hilft dabei nicht, da sie den Inhalt überhaupt nicht verarbeitet. Sie kann nur dazu verwendet werden, Text außerhalb der Theoreme auszublenden.
\hphantom
oder \vphantom
umschließen Sie Umgebungen nicht wie \begin{theorem}
.
Um genauer zu sein, nehmen wir an, ich habe Folgendes:
% I want to hide from here ...
\section{Section 1}
\subsection{Subsection 1.1}
\begin{theorem}
First
\end{theorem}
% ... to here
\begin{theorem}
Second
\end{theorem}
Ich möchte nur den zweiten Satz mit der Originalnummerierung im PDF sehen: Theorem 1.1.2
.
Meine Frage ist sehr ähnlichDieses hier, aber der Autor dieser Frage arbeitet mit Sage und die akzeptierte Antwort ist, soweit ich weiß, Sage-spezifisch.
Wenn es keine allgemeine Möglichkeit gibt, diesen Effekt zu erzielen, würde ich mich freuen, wenn es Möglichkeiten gäbe, die folgenden Objekte auszublenden:
- Abschnitts-/Unterabschnittstitel
- Theoreme/Lemmas usw.
- Zahlen
Ich habe auch darüber nachgedacht, die Ausgabe in eine andere Datei (nicht das PDF) „umzuleiten“, aber ich konnte keine Lösung finden.
Die letzte Alternative wäre,Die Zahlen der Theoreme „fest kodieren“, aber das möchte ich vermeiden.
Antwort1
Nur ein Versuch, der funktionieren könnte, wenn alles, was Sie ausschließen möchten, im Argument eines Befehls enthalten ist oder in eine Umgebung eingebettet ist. Und wenn Sie genau wissen, was Sie ausschließen möchten.
Das linke Bild ist ohne Versteck, das rechte mit.
Die Idee besteht darin, alle Befehle und Umgebungen neu zu definieren, um den Inhalt der Argumente zu übernehmen, aber dennoch die Zählerarithmetik durchzuführen.
\documentclass{article}
\usepackage{environ}
\newtheorem{theorem}{Theorem}
\newenvironment{hide}%
{\renewcommand\section[1]{\refstepcounter{section}}%
\renewcommand\subsection[1]{\refstepcounter{subsection}}%
\RenewEnviron{theorem}{\refstepcounter{theorem}}%
}%
{}
\begin{document}
% i want to hide from here ...
\begin{hide}
\section{Section 1}
\subsection{Subsection 1.1}
\begin{theorem}
First
\end{theorem}
\end{hide}
% ... to here
\begin{theorem}
Second
\end{theorem}
\subsection{Subsection 1.2}
\section{Section 2}
\begin{theorem}
Third
\end{theorem}
\end{document}
Antwort2
Wenn Sie dieses Dokument ausführen, die Auskommentierung von „includeonly“ aufheben und es erneut ausführen, erhalten Sie ein einseitiges Dokument mit (nur) Theorem 2 auf Seite 2.
\begin{filecontents}{zzzz1.tex}
\section{Section 1}
\subsection{Subsection 1.1}
\begin{theorem}
First
\end{theorem}
\end{filecontents}
\begin{filecontents}{zzzz2.tex}
\begin{theorem}
Second
\end{theorem}
\end{filecontents}
\documentclass{article}
\newtheorem{theorem}{Theorem}
%\includeonly{zzzz2}
\begin{document}
% i want to hide from here ...
\include{zzzz1}
% ... to here
\include{zzzz2}
\end{document}
Antwort3
Mir gefällt Gernots Antwort, aber ich hatte bereits damit begonnen, bevor ich seine gesehen habe, also kann ich sie auch gleich posten:
\documentclass{article}
\newif\ifskipstuff
\skipstufffalse
%\skipstufftrue
\usepackage{amsmath}
\begin{document}
\ifskipstuff
\refstepcounter{section}
\refstepcounter{subsection}
\refstepcounter{equation}
\else
\section{Section 1}
\subsection{Subsection 1.1}
\begin{equation}
First
\end{equation}
\fi
\section{A Section}
\subsection{Subsection}
\begin{equation}
Second
\end{equation}
\end{document}
\else
Der Nachteil ist, dass Sie alle Zähler immer manuell erhöhen müssen. Nicht sehr schön (insbesondere, wenn die Klausel viele Dinge enthält) . Vielleicht könnte das noch weiter verfeinert werden ( \ifskipstuff
vielleicht indem die Prüfungen in neu definierte Umgebungen aufgenommen werden, sodass sie ihre eigenen Prüfungen durchführen). Der Vorteil ist, dass Sie global festlegen können, ob Sie Ihr Material einschließen möchten oder nicht, indem Sie zwischen \skipstufffalse
bzw. wechseln \skipstufftrue
. Nun, je nach Anwendungsfall könnte es ein Vorteil sein.
\skipstufftrue
:
\skipstufffalse
: