创建按时间顺序排列的时间线

创建按时间顺序排列的时间线

我正在尝试创建一个简单的时间轴,线下有年份,上面有解释文字。我知道这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}

在此处输入图片描述

相关内容