第一次发布问题,如果我遗漏了什么,请告诉我。
我正在处理 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。