standalone
Das Handbuch erläutert drei Möglichkeiten zur Verwendung des Pakets.
standalone.sty
:\usepackage{standalone}
: zur Verwendung mit einer nicht eigenständigen Klasse, Einstellung\standalonefalse
;standalone.cls
:\documentclass{standalone}
: für den eigenständigen Gebrauch, Einstellung\standalonetrue
;standalone.tex
:\input{standalone}
: zur Verwendung mit einer anderen eigenständigen Klasse, Einstellung\standalonetrue
.
TeX Live enthält jedoch nicht standalone.tex
. Da ich dachte, dass es sich um ein Verpackungsproblem handelte, erstellte ich eine Kopie des Quellverzeichnisses, das standalone.dtx
und enthielt standalone.ins
, und extrahierte die Dateien erneut.
cp -pr source/latex/standalone ~/
pushd ~/standalone
pdflatex standalone.ins
Dadurch werden standalone.tex
, sowie standalone.cls
, standalone.cfg
, standalone.sty
. Im Gegensatz zu den anderen Dateien standalone.tex
ist jedoch leer.
total 272K
drwxr-xr-x 2 <username> <username> 4.0K Gor 3 16:26 ./
drwx------ 103 <username> <username> 12K Gor 3 16:32 ../
-rw-r--r-- 1 <username> <username> 902 Gor 3 16:34 standalone.cfg
-rw-r--r-- 1 <username> <username> 27K Gor 3 16:34 standalone.cls
-rw-r--r-- 1 <username> <username> 178K Tach 25 2016 standalone.dtx
-rw-r--r-- 1 <username> <username> 442 Tach 25 2016 standalone.ins
-rw-r--r-- 1 <username> <username> 2.7K Gor 3 16:34 standalone.log
-rw-r--r-- 1 <username> <username> 34K Gor 3 16:34 standalone.sty
-rw-r--r-- 1 <username> <username> 0 Gor 3 16:34 standalone.tex
Dies ist vermutlich der Grund, warum TeX Live die Datei überhaupt nicht einbindet.
Nun, docstrip
das ist für mich eher Neuland. Es .dtx
sieht jedoch so aus, als ob es Code für Folgendes enthält standalone.tex
:
% \iffalse
%<*standalone.tex>
% \fi
%
%\iffalse
%<*tex>
% \fi
% \subsection{Simple TeX File}
%
% \begin{macrocode}
%%\ProvidesFile{standalone.tex}[2010/02/28 v0.4 Provides if-switch to show if file is compiled standalone]%
% \end{macrocode}
%
% \begin{macro}{\ifstandalone}
% Provides \cs{ifstandalone} switch which is |\iftrue| if the normal |\documentclass|
% was not yet executed (and subsequently redefined to be |\@twoclasseserror|).
% \begin{macrocode}
\expandafter\ifx\csname ifstandalone\endcsname\relax
\expandafter\newif\csname ifstandalone\endcsname
\expandafter\ifx\csname @twoclasseserror\endcsname\documentclass
\else
\standalonetrue
\fi
\fi
% \end{macrocode}
% \end{macro}
%
% \iffalse
%</tex>
% \fi
%
% \iffalse
%</standalone.tex>
% \fi
%
Wie genau muss ich die Datei erzeugen, standalone.tex
um das Folgende abc
(auf unnötig umständliche Weise) zum Satz zusammenstellen zu können? (Siehe Seite 18 des Handbuchs.)
\input{standalone}
\documentclass{article}
\begin{document}
\ifstandalone
abc
\fi
\end{document}
Antwort1
Es ist eine Standarddatei .ins
und hat
\file{standalone.tex}{\from{standalone.dtx}{standalone.tex}}%
von dem ich vermute, dass es so beabsichtigt war
\file{standalone.tex}{\from{standalone.dtx}{standalone.tex,tex}}%
Mit dieser Änderung
tex standalone.ins
generiert alle Dateien einschließlich standalone.tex
derer die dann wie folgt aussehen
%%\ProvidesFile{standalone.tex}[2010/02/28 v0.4 Provides if-switch to show if file is compiled standalone]%
\expandafter\ifx\csname ifstandalone\endcsname\relax
\expandafter\newif\csname ifstandalone\endcsname
\expandafter\ifx\csname @twoclasseserror\endcsname\documentclass
\else
\standalonetrue
\fi
\fi