使用 \hyperref 包中的 \today

使用 \hyperref 包中的 \today

第一次发布问题,如果我遗漏了什么,请告诉我。

我正在处理 LaTeX 文档,以下是我想要使用 hyper ref 包实现的目标:

有一个链接到我的网站的 URL,其中嵌入了今天的日期,用于引荐跟踪。例如,URL 应如下所示:

https://example.com?ref=text-2ndOct2020

基本上,添加“ref=text-date”可以让我追踪从哪里点击链接进入我的网站。我想用它对内容进行手动 A/B 测试,引荐中的日期可以帮助我确定表现更好的版本。

以下是 MWE:

\documentclass[letter,oneside,10pt]{article}
\usepackage{hyperref}
\usepackage[ddmmyyyy]{datetime}

\begin{document}

\href{https://example.com?ref=text-date}{example.com}

\end{document}

这可行,但我理想情况下想做的是:

\href{https://example.com?ref=text-\today}{example.com}

这样,当我为特定的一天编译它时,日期就可以自动更新,关键是将\today今天的日期自动添加到链接中。

当我在此特定解决方案中使用时\today\href出现以下错误:

Undefined control sequence. }
line 107: Undefined control sequence. }
line 107: Undefined control sequence. }
.
.
.
line 107: Undefined control sequence. }

我正在使用带有 2019 TeX-Live 发行版的 TeXStudio,并使用 XeLaTeX 强制制作我的文档。

我愿意接受任何解决方案,但\today我想到的是使用,我相信有更好的方法来做到这一点(如果软件包\hyperref支持的话)。谢谢!

答案1

以下是我尝试过的:

\documentclass[letter,oneside,10pt]{article}
\usepackage{hyperref}
\usepackage[ddmmyyyy]{datetime}

\begin{document}

\href{https://example.com?ref=text-\today}{example.com}

\end{document}

运行此程序(我有一个较新的安装),我没有收到您收到的错误,但 URL 显示如下:

https://example.com/?ref=text-%5Cprotect%20%5C@day%20=%5Cday%20%5Crelax%20%5C@month%20=%5Cmonth%20%5Crelax%20%5C@year%20=%5Cyear%20%5Crelax%2000/00/0

这显然不是我们想要的。

这里的问题是,该datetime包正在做各种通用的事情,并期望生成文本而不是标记序列。

因此,让我们来看一下具体做法,但要特别注意,datetime先删除\usepackage,然后改为:

\renewcommand{\today}{\ifnum\day<10 0\fi\the\day \ifnum\month<10 0\fi\the\month\the\year}

它给出了所需的 URL。

相关内容