
Ich habe ein Dokument, das über einhundert Tikz-Bilder enthält, die den unten gezeigten ähneln.
Ich möchte (wenn möglich einfach) zwei verschiedene Dokumente aus diesem Codesatz erstellen – (1) so wie er ist; und (2) alles außer den Tikz-Bildern.
Ich weiß, dass ich den Dokumentcode kopieren und dann alle über 100 Tikz-Bilder manuell löschen könnte – aber ich hoffe, dass es einen besseren Weg gibt, das zu erreichen, wonach ich suche.
Betrachten Sie den Code:
\documentclass[a5paper,12pt,openany]{book}
\usepackage[paperwidth=5.5in,paperheight=8.25in]{geometry}
\textwidth=4.25in \textheight=7.0in \voffset -7pt
\usepackage[tracking=true]{microtype}
\usepackage{tikz,lipsum}
\usepackage{mathptmx}
\definecolor{lightblue}{RGB}{197,213,255}
\begin{document}
\thispagestyle{empty}
\parskip 10pt
\lipsum[13]
\begin{center}
\begin{tikzpicture}[pencildraw/.style={ %
decorate,
decoration={random steps,segment length=4pt,amplitude=2.5pt}
} %
]
\node[preaction={fill=black,opacity=.7,transform canvas={xshift=1mm,yshift=-1mm}},
%pencildraw,
draw,fill=lightblue,text width=0.85\textwidth,inner sep=4mm]
{\begin{minipage}{3.42in} \footnotesize
\selectfont \textbf{\lipsum[13]} \hfill \textbf{\emph{---L. Iipsum}} \end{minipage}};
\end{tikzpicture}
\end{center}
\lipsum[13]
\begin{center}
\begin{tikzpicture}[pencildraw/.style={ %
decorate,
decoration={random steps,segment length=4pt,amplitude=2.5pt}
} %
]
\node[preaction={fill=black,opacity=.7,transform canvas={xshift=1mm,yshift=-1mm}},
%pencildraw,
draw,fill=lightblue,text width=0.85\textwidth,inner sep=4mm]
{\begin{minipage}{3.42in} \footnotesize
\selectfont \textbf{\lipsum[13]} \hfill \textbf{\emph{---L. Iipsum}} \end{minipage}};
\end{tikzpicture}
\end{center}
\lipsum[13]
\begin{center}
\begin{tikzpicture}[pencildraw/.style={ %
decorate,
decoration={random steps,segment length=4pt,amplitude=2.5pt}
} %
]
\node[preaction={fill=black,opacity=.7,transform canvas={xshift=1mm,yshift=-1mm}},
%pencildraw,
draw,fill=lightblue,text width=0.85\textwidth,inner sep=4mm]
{\begin{minipage}{3.42in} \footnotesize
\selectfont \textbf{\lipsum[13]} \hfill \textbf{\emph{---L. Iipsum}} \end{minipage}};
\end{tikzpicture}
\end{center}
\end{document}
was ergibt:
FRAGE: Gibt es eine (relativ einfache) Möglichkeit, den obigen Code so zu ändern, dass LaTeX die tikzpicture
Kodierungen nicht ausführt und in der Ausgabe nur der Text erscheint? (Ich kompiliere den Code mit pdflatex
.)
Danke schön.
Antwort1
Mit Paket environ
und Befehl \RenewEnviron
:
\documentclass[a5paper,12pt,openany]{book}
\usepackage[paperwidth=5.5in,paperheight=8.25in]{geometry}
\textwidth=4.25in \textheight=7.0in \voffset -7pt
\usepackage[tracking=true]{microtype}
\usepackage{tikz,lipsum}
\usepackage{mathptmx}
\definecolor{lightblue}{RGB}{197,213,255}
\usepackage{environ} %change
\RenewEnviron{tikzpicture}{}{}
\begin{document}
\thispagestyle{empty}
\parskip 10pt
\lipsum[13]
\begin{center}
\begin{tikzpicture}[pencildraw/.style={ %
decorate,
decoration={random steps,segment length=4pt,amplitude=2.5pt}
} %
]
\node[preaction={fill=black,opacity=.7,transform canvas={xshift=1mm,yshift=-1mm}},
%pencildraw,
draw,fill=lightblue,text width=0.85\textwidth,inner sep=4mm]
{\begin{minipage}{3.42in} \footnotesize
\selectfont \textbf{\lipsum[13]} \hfill \textbf{\emph{---L. Iipsum}} \end{minipage}};
\end{tikzpicture}
\end{center}
\lipsum[13]
\begin{center}
\begin{tikzpicture}[pencildraw/.style={ %
decorate,
decoration={random steps,segment length=4pt,amplitude=2.5pt}
} %
]
\node[preaction={fill=black,opacity=.7,transform canvas={xshift=1mm,yshift=-1mm}},
%pencildraw,
draw,fill=lightblue,text width=0.85\textwidth,inner sep=4mm]
{\begin{minipage}{3.42in} \footnotesize
\selectfont \textbf{\lipsum[13]} \hfill \textbf{\emph{---L. Iipsum}} \end{minipage}};
\end{tikzpicture}
\end{center}
\lipsum[13]
\begin{center}
\begin{tikzpicture}[pencildraw/.style={ %
decorate,
decoration={random steps,segment length=4pt,amplitude=2.5pt}
} %
]
\node[preaction={fill=black,opacity=.7,transform canvas={xshift=1mm,yshift=-1mm}},
%pencildraw,
draw,fill=lightblue,text width=0.85\textwidth,inner sep=4mm]
{\begin{minipage}{3.42in} \footnotesize
\selectfont \textbf{\lipsum[13]} \hfill \textbf{\emph{---L. Iipsum}} \end{minipage}};
\end{tikzpicture}
\end{center}
\end{document}
Antwort2
Ich bin nicht sicher, ob es Nebenwirkungen haben kann, ich kann es jetzt nicht ausführlich testen, aber es funktioniert im MWE: add
\RenewDocumentEnvironment{tikzpicture}{o +b}{}{}
kurz davor \begin{document}
. Es definiert die Umgebung grundsätzlich so neu, tikzpicture
dass nichts geschieht.
Sie können auch ganz einfach einen "Wegweiser" hinzufügen, wie
\RenewDocumentEnvironment{tikzpicture}{o +b}{\par***Removed tikzpicture***\par}{}
oder etwas ähnliches.
Durch das Ein-/Auskommentieren dieser Zeile können Sie die Kompilierung von Tikzpicures umschalten oder deaktivieren.