我目前正在尝试编写一个包,l3build
这似乎是一个相当有用的工具。我已经阅读了如何编写.ins
和.dtx
文件以及的文档l3build
。据我所知,新包的最低设置将是一个包含以下三个文件的文件夹。
testpackage.dtx
% \iffalse meta-comment % % Some notes about the package. % See for example siunitx.dtx for an example. % %<*driver> \documentclass{l3doc} % The next line is needed so that \GetFileInfo will be able to pick up % version data \usepackage{testpackage} \begin{document} \DocInput{\jobname.dtx} \end{document} %</driver> % \fi % % \GetFileInfo{testpackage.sty} % % \title{^^A % \pkg{testpackage} -- Just for testing purposes!^^A % \thanks{This file describes \fileversion, % last revised \filedate.}^^A % } % % \author{^^A % Someone^^A % \thanks{^^A % E-mail: % \href{mailto:[email protected]} % {[email protected]}^^A % }^^A % } % % \date{Released \filedate} % % \maketitle % % \begin{documentation} % % \section{\cs{foo} is a function} % \begin{function}{\foo} % \begin{syntax} % |\foo| \marg{input} % \end{syntax} % Something about \cs{foo}. % |\foo{bar}| will produce `\foo{bar}'. % \end{function} % % \end{documentation} % % \begin{implementation} % % \section{Implementation} % % \begin{macrocode} %<*package> % \end{macrocode} % % \begin{macrocode} %<@@=testpackage> % \end{macrocode} % % \begin{macrocode} \RequirePackage{xparse} \ProvidesExplPackage {testpackage} {2019-06-23} {0.1.0} {Just for testing purposes!} % \end{macrocode} % % \begin{macro}{\foo} % \begin{arguments} % \item Some input % \end{arguments} % Some description of \cs{foo} % \begin{macrocode} \NewDocumentCommand \foo { m } { I~saw~#1! } % \end{macrocode} % \end{macro} % % \begin{macrocode} %</package> % \end{macrocode} % % \end{implementation} % % \PrintIndex
testpackage.ins
\iffalse meta-comment Info about the package. \fi \input l3docstrip.tex \askforoverwritefalse \keepsilent \preamble This is the preamble! \endpreamble \postamble This is the postamble! \endpostamble \generate {% \file{testpackage.sty} {% \from{testpackage.dtx}{package} }% } \endbatchfile
build.lua
-- Build script for the testpackage package. -- Identify the module. module = "testpackage"
运行l3build unpack
似乎工作正常,并创建了一些包含解压.sty
文件的文件夹。但是,尝试运行l3build doc
会导致错误消息
! LaTeX Error: File `testpackage.sty' not found.
- 我需要在设置中进行哪些更改才能使用来生成文档
l3build
? - 为了避免
l3build
以后使用其他(特别是check
和ctan
)时出现类似的问题,我是否应该在此设置中包含其他明显的步骤? - 假设我想要一个测试文档(不是的测试文件
l3build
),在其中我可以试用包的当前开发状态(无需将其安装在我的 texmf 树中;不相关的文档应该不是找到软件包的开发版本)。有没有方便的方法可以做到这一点?还是我必须手动将解压后的.sty
文件复制到某个单独的文件夹中才能以这种方式进行测试?
答案1
分为三个部分
您的设置应该是正确的
l3build
,至少对于您拥有的最小来源来说所有步骤都
l3build
使用相同的数据,因此一旦目标doc
完成,结果check
就会ctan
相同您有几个测试文档选项。您可以简单地将其放在工作文件夹中,然后将其添加到
typesetfiles
或typesetdemofiles
。您可以使用选项来使用自定义安装位置:如果您使用或设置其他输入--texmfhome
,则效果最佳。或者您可以像您所说的那样简单地解压然后手动复制。TEXINPUTS
auxtrees