DTX文件的命令\changes
用于记录变化。
该\PrintChanges
命令打印更改列表,按数字排序...除非数字大于 10。
为了了解问题所在,我建议您阅读软件包文档中的更改eledmac
。您可以看到:
- v0.1
- v0.10
- v0.11
- ...
- v0.18
- v0.2
但是0.2版本应该在v0.1之后。
我尝试了一些技术@
(如索引中所示),但无法解决这个问题。
答案1
Makeindex 还支持排序键。 或 的条目按\changes
样式文件排序gglo.ist
。 有actual char
:=
\changes{v0.1=v0.001}...
\changes{v0.2=v0.001}...
...
\changes{v0.10=v0.010}...
\changes{v0.123=v0.123}...
\changes
如果在驱动程序文件中重新定义,这也可以实现自动化:
\makeatletter
\@ifdefinable{\org@changes@}{%
\let\org@changes@\changes@
\@ifdefinable{\my@changes}{%
\def\my@changes v#1.#2\@nil{%
\org@changes@{v#1.\six@digits{#2}=v#1.#2}%
}%
\newcommand*{\six@digits}[1]{%
\ifnum#1<100000 0\fi
\ifnum#1<10000 0\fi
\ifnum#1<1000 0\fi
\ifnum#1<100 0\fi
\two@digits{#1}%
}%
\renewcommand*{\changes@}[1]{%
\my@changes#1\@nil
}%
}%
}
\makeatother
然后你可以继续
\changes{v0.1}...
\changes{v0.2}...
\changes{v0.10}...
\changes{v0.123}...
\my@changes
需要采用其他编号方案。
答案2
迄今为止最简单的方法是将您的次要版本编号(如有必要,可以回顾)为 v0.01......这意味着只要在下一个主要版本之前没有 100 个次要版本就可以了。