¿Cómo puedo extraer standalone.tex de standalone.dtx?

¿Cómo puedo extraer standalone.tex de standalone.dtx?

standaloneEl manual explica tres formas de utilizar el paquete.

  1. standalone.sty:: \usepackage{standalone}para usar con una clase no independiente, configuración \standalonefalse;
  2. standalone.cls:: \documentclass{standalone}para uso independiente, configuración \standalonetrue;
  3. standalone.tex:: \input{standalone}para usar con otra clase independiente, configurando \standalonetrue.

Sin embargo, TeX Live no incluye standalone.tex. Pensando que se trataba de un problema de empaquetado, hice una copia del directorio fuente, que contenía standalone.dtxy standalone.ins, y volví a extraer los archivos.

cp -pr source/latex/standalone ~/
pushd ~/standalone
pdflatex standalone.ins

Esto produce standalone.tex, junto con standalone.cls,, standalone.cfg. standalone.stySin embargo, a diferencia de los otros archivos, standalone.texestá vacío.

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

Presumiblemente, esta es la razón por la que TeX Live no incluye el archivo en absoluto.

Ahora bien, docstripen lo que a mí respecta, es un territorio bastante extraño. Sin embargo, .dtxciertamente parece que incluye código para 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
%

¿Cómo exactamente debo producir el standalone.texarchivo para poder compilar lo siguiente y componerlo abc(de manera innecesariamente tortuosa)? (Consulte la página 18 del manual).

\input{standalone}
\documentclass{article}    
\begin{document}
\ifstandalone
  abc
\fi
\end{document}

Respuesta1

Es un .insarchivo estándar y tiene

  \file{standalone.tex}{\from{standalone.dtx}{standalone.tex}}%

que sospecho que estaba destinado a ser

  \file{standalone.tex}{\from{standalone.dtx}{standalone.tex,tex}}%

con ese cambio

 tex standalone.ins

genera todos los archivos, incluidos standalone.texlos que luego se ven así

%%\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

información relacionada