我正在尝试创建一个简单的时间轴,线下有年份,上面有解释文字。我知道这chronology
很有用。
我的问题是,当尝试相关问题中的例子时(例如这里或者这里),我总是收到错误“!缺少数字,视为零。”
MWE(来自上面链接的第一个相关问题):
\documentclass{article}
\usepackage{chronology}
\begin{document}
\begin{chronology}[3]{2011}{2016}{3ex}{\textwidth}
\end{chronology}
\end{document}
其结果是:
! Missing number, treated as zero.
to be read again>
}
l.4 ...chronology}[3]{2011}{2016}{3ex}{\textwidth}
?
我尝试过改变一些值或者将它们全部删除,但这似乎没有帮助。
有没有人遇到过这个问题或者有人知道解决办法?Chronology
这似乎正是我需要的。
答案1
删除将3ex
产生以下输出且不会出现错误:
\documentclass{article}
\usepackage{chronology}
\begin{document}
\begin{chronology}[3]{2011}{2016}{\textwidth}
\end{chronology}
\end{document}
答案2
包裹已更改'11 年 10 月 14 日(编辑:甚至2013 年 4 月 18 日),因为计数器和长度已移出环境定义。我不知道为什么加拿大运输安全局情况有所不同。也许这两者(Werner 的帖子和 Levi 的修复)几乎同时发生。
然而实际的代码并没有提供环境的固定定义chronology
,可以发现这里, 也。
使用 Werner 和 Gonzalo 的代码,你可以得到另一篇文章你已经链接到。
% arara: pdflatex
\documentclass{article}
\usepackage{chronology}
\renewenvironment{chronology}[5][6]{%
\setcounter{step}{#1}%
\setcounter{yearstart}{#2}\setcounter{yearstop}{#3}%
\setcounter{deltayears}{\theyearstop-\theyearstart}%
\setlength{\unit}{#4}%
\setlength{\timelinewidth}{#5}%
\pgfmathsetcounter{stepstart}%
{\theyearstart+\thestep-mod(\theyearstart,\thestep)}%
\pgfmathsetcounter{stepstop}{\theyearstop-mod(\theyearstop,\thestep)}%
\addtocounter{step}{\thestepstart}%
\begin{lrbox}{\timelinebox}%
\begin{tikzpicture}[baseline={(current bounding box.north)}]%
\draw [|->] (0,0) -- (\thedeltayears*\unit+\unit, 0);%
\foreach \x in {1,...,\thedeltayears}%
\draw[xshift=\x*\unit] (0,-.1\unit) -- (0,.1\unit);%
\addtocounter{deltayears}{1}%
\foreach \x in {\thestepstart,\thestep,...,\thestepstop}{%
\pgfmathsetlength\xstop{(\x-\theyearstart)*\unit}%
\draw[xshift=\xstop] (0,-.3\unit) -- (0,.3\unit);%
\node at (\xstop,0) [below=.2\unit] {\x};}%
}
{%
\end{tikzpicture}%
\end{lrbox}%
\raisebox{2ex}{\resizebox{\timelinewidth}{!}{\usebox{\timelinebox}}}}%
\begin{document}
\noindent
\begin{chronology}[3]{2011}{2016}{3ex}{\textwidth}
\end{chronology}
\end{document}