尝试向文档添加基本时间线。年表软件包似乎是一个不错的选择,但我遇到了与 siunitx 的冲突。MWE 将按原样运行,但取消注释 \usepackage{siunitx} 会出现错误:LaTeX cmd 错误:命令‘\unit’已定义。}
\documentclass[11 pt]{article}
\usepackage{chronology}
%\usepackage{siunitx}
\begin{document}
\begin{chronology}[5]{1989}{2025}{\textwidth}[100ex]
\eventpoint{\decimaldate{25}{8}{1991}}{Event One}[red][1][0.5]
\eventpoint{\decimaldate{1}{5}{2011}}{Event Two}[red][1][0.5]
\eventpoint{\decimaldate{5}{9}{2017}}{Event Three}[red][1][0.5]
\end{chronology}
\end{document}
答案1
该包chronology
在使用用户空间名称定义内部参数时犯了一个很大的错误。
尤其是
\newlength{\unit}
用于内部宏,使得用户或其他包无法定义\unit
。长度是内部的,因为手册中甚至没有提到它。
解决方案:siunitx
先加载,\unit
然后更改为\siunit
。代码无法重复使用,但至少对您的文档有用。
\documentclass[11pt]{article}
\usepackage{siunitx}
\NewCommandCopy{\siunit}{\unit}
\let\unit\relax
\usepackage{chronology}
\begin{document}
\begin{chronology}[5]{1989}{2025}{\textwidth}[100ex]
\eventpoint{\decimaldate{25}{8}{1991}}{Event One}[red][1][0.5]
\eventpoint{\decimaldate{1}{5}{2011}}{Event Two}[red][1][0.5]
\eventpoint{\decimaldate{5}{9}{2017}}{Event Three}[red][1][0.5]
\end{chronology}
\siunit{\centi\meter}
\end{document}
幸运的是,siunitx
写得很好并且不在\unit
内部使用,它只是在外部层面上定义它。
顺便说一句,该选项11pt
没有空格;但它也可以用于空格这一事实不应被利用,因为它完全是偶然的。