背景

背景

背景

我想创建一个基于年份的时间线,但我不想处理负数和正数的混合(例如公元前/公元,这给我们今年是 2016 年,而 4032 年前也是 2016 年)。

我的问题是,如果我将起始年份设置得足够远,以便始终向前计数,那么年数将变得非常大。例如,假设我想包括恐龙,那么当前年份将是数百万。因此,解决方案显然是始终从现在开始向后计数,但在实施时,这比我想象的要困难得多。

有一种公认的时间线叫做“现前”(BP),从公元 1950 年开始,因为他们通常谈论更早的事情。但是如果你用这种方式来计算,那么公元 1951 年就变成了 -1 BP,这又带来了负时间的问题。

LaTeX 已经包含了命令\today,它给出了当前时间。但如果我定义一种新的计时方式,那么\today减去 5 就是明年不同的年份。所以时间应该不断更新。

Datetime2 包

世界各地使用许多不同的纪元,不仅仅是公元前/公元。例如,泰国使用佛教纪元,因此当前年份是公元 2560 年,而不是公元 2017 年。如果能够处理这些类型的日期就太好了。

有一个名为的软件包datetime2可以处理创建新的日期和时间样式,并且它具有多语言支持,可能能够支持不同类型的时代,我猜?文档可在此处找到:http://ctan.megagod.net/tex-archive/macros/latex/contrib/datetime2/datetime2.pdf

我的问题是我不知道如何把这些代码放在一起来解决我的问题。他们提供了命令\DTMnewdatestyle,建议这样使用:

\DTMnewdatestyle{mydate}{%
   \renewcommand{\DTMdisplaydate}[4]{\number##3-\number##2-\number##1 }%
   \renewcommand{\DTMDisplaydate}{\DTMdisplaydate}%
}

据我所知,这会修改\today命令...但我想要的是能够获得\today编译文档时的输出,然后使用命令(例如)来\bptime{-1,BP}获得与完全相同的输出\bptime{1951,AD},这将产生与完全相同的输出。如果年份是 2017 年,\bptime{2494,BE}那么所有这些的输出应为减去 66 年。\today\today

那么我该怎么做呢?有没有关于如何让它工作的至少一个基本示例的指示?

相关内容