\ hyperref 패키지에서 \ today 사용

Oct 03 2020

처음으로 질문을 올렸으니 빠진 것이 있으면 알려주세요.

저는 LaTeX 문서에서 작업하고 있으며 여기에 하이퍼 참조 패키지를 사용하여 달성하고자하는 것이 있습니다.

내 웹 사이트에 링크되고 추천 추적을 위해 오늘 날짜가 삽입 된 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 DonHosek Oct 02 2020 at 22:35

내가 시도한 것은 다음과 같습니다.

\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을 제공합니다.