带有 UNIX 命令和 latexmk 的包中的 Makefile?

带有 UNIX 命令和 latexmk 的包中的 Makefile?

编写 Makefile 作为 CTAN 包的一部分有哪些规则?

我想在我编写的包中包含一个 Makefile。该包的格式是嵌入了.dtx.ins文件的格式。

当我运行 时make,它会生成所有包文件,包括.tex示例。当然,它还会编译格式的文档PDF

当我运行时make all,它的行为与 make 相同,但所有.tex示例都经过编译。

make clean.cls删除除和文档之外的所有生成的文件。make distclean也删除这些文件。

1) 分发带有 Makefile 的软件包时出现此行为有问题?

这个 Makefile 包括 UNIX 语法和 UNIX 命令,特别是我有指向 /bin/sh 的 shell 变量,这是默认的:

SHELL = /bin/sh

我也确实使用for命令来编译所有内容并grep从文件sed中提取版本号。.dtx

2) 使用这样的 Makefile 分发软件包可以吗?MiKTeX 用户将无法编译任何东西。或者...Makefile对 Windows 用户来说,它总是没用的?

3) 使用它来编译所有内容有多安全latexmk?这个 Perl 脚本存在于 MiKTeX 基本安装中?我正在运行 Debian 并且已经安装了它,但我不知道它是否是 LaTeX 发行版上的通用软件包……

makeindex4) 放置行(用于更改历史记录和索引)的最佳位置是哪里?在Makefile两次pdflatex(或latexmk...)运行之间还是在.ins文件内部?

如果我让它latexmk运行makeindex,结果PDF将在索引上重叠条目,并且不会出现任何更改历史记录(不会.gls创建任何文件),因此我必须makeindex手动在上Makefile或里面放置线条.dtx(在里面嵌入.ins)。

相关内容