我希望能够以某种dtx
格式向包的文档中添加一些内容,但使用\OnlyDescription
。
我不想要“实施”部分,但是我想在包代码的某个地方添加一条注释以写入文档。
无论以%<driver>
还是 开始该行都不会%
导致将此行附加到包文档中,我猜是因为文件driver
开头的部分dtx
以 结尾\end{document}
,所以此行之后的所有内容都会被忽略。
有没有解决方案,可以移动\end{document}
或者\StopEventually
移到其他地方吗?
目的是用包编写todo
关于代码中要做的事情的 TO-DO 注释,但如果所有这些注释都出现在更改历史记录之后的文档中,那就太好了。我没有在文档中包含代码部分(\OnlyDescription
)。MWE:
% \iffalse meta-comment
% ...
%<*internalbatchfile>
\begingroup
%</internalbatchfile>
%<*batchfile>
\input docstrip.tex
\nopreamble
\keepsilent
\askforoverwritefalse
\generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}}
%</batchfile>
%<batchfile>\endbatchfile
%<*internalbatchfile>
\endgroup
%</internalbatchfile>
%<*driver>
\ProvidesFile{test.dtx}
%</driver>
%<package>\NeedsTeXFormat{LaTeX2e}[1995/12/01]
%<package>\ProvidesPackage{test}[2015/03/28 v1.00 Test package]
%<*driver>
\documentclass{ltxdoc}
\OnlyDescription
\begin{document}
\DocInput{\jobname.dtx}
\end{document}
%</driver>
% \fi
% \CheckSum{0}
% \section{doc begins}
% \StopEventually{}
% \begin{macrocode}
%<*package>
\relax
% **Here** I would like to add something to the documentation here between 'package' tags.
%</package>
% \end{macrocode}
%\Finale
答案1
这就完成了你想要的。确保最后两行.dtx
是
% \Finale
% \starttodo
以下是代码
% \iffalse meta-comment
% Time-stamp: <29-03-2015 22:35:13 CEST>
% http://tex.stackexchange.com/q/235680/4686
%<*internalbatchfile>
\begingroup
%</internalbatchfile>
%<*batchfile>
\input docstrip.tex
\nopreamble
\keepsilent
\askforoverwritefalse
\generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}}
%</batchfile>
%<batchfile>\endbatchfile
%<*internalbatchfile>
\endgroup
%</internalbatchfile>
%<*driver>
\ProvidesFile{testspecial.dtx}
%</driver>
%<package>\NeedsTeXFormat{LaTeX2e}[1995/12/01]
%<package>\ProvidesPackage{testspecial}[2015/03/28 v1.00 Test package]
%<*driver>
\documentclass{ltxdoc}
%\OnlyDescription
\begin{document}
\DocInput{\jobname.dtx}
\end{document}
%</driver>
% \fi
% \long\def\stoptodo#1\starttodo {}%
% \long\def\starttodo#1\stoptodo {}%
% \makeatletter
% \def\endorgo #1{\ifx #1\endinput\expandafter\stoptodo
% \else #1\expandafter\@gobble\fi}%
% \makeatother
% \CheckSum{0}
% \section{doc begins}
% This is the documentation for this package.
%
% \StopEventually{\endorgo}
%
% \section{implementation begins}
% The code required years of efforts. Finally I found this:
% \starttodo
% IMPORTANT NOTE TO MYSELF! Try to enhance the package with some features.
% \stoptodo
% \begin{macrocode}
%<*package>
\relax
% \end{macrocode}
% And after a few more years I got that:
% \starttodo
% SECOND IMPORTANT NOTE TO MYSELF: at least try.
% \stoptodo
% \begin{macrocode}
\endinput
%</package>
% \end{macrocode}
% \Finale
% \starttodo
以下是没有的结果\OnlyDescription
:
结果是\OnlyDescription
: