\ Hyperref paketinde \ bugün kullanma
İlk kez bir soru yayınladığım için, bir şeyi kaçırırsam lütfen bana bildirin.
Bir LaTeX belgesinde çalışıyorum ve işte hyper ref paketini kullanarak elde etmek istediğim şey:
Web siteme bağlı olan ve yönlendirme takibi için bugünün tarihini içeren bir URL'ye sahip olmak. Örneğin, URL şöyle görünmelidir:
https://example.com?ref=text-2ndOct2020
Temel olarak, "ref = text-date" eklemek, web siteme ulaşmak için bağlantının nereden tıklandığını izlememe olanak tanır. Bunu içeriğin manuel A / B testi için kullanmak istiyorum, yönlendirmedeki tarih, daha iyi performans gösteren sürümü belirlememe yardımcı oluyor.
İşte bir MWE:
\documentclass[letter,oneside,10pt]{article}
\usepackage{hyperref}
\usepackage[ddmmyyyy]{datetime}
\begin{document}
\href{https://example.com?ref=text-date}{example.com}
\end{document}
Bu işe yarıyor, ancak ideal olarak yapmak istediğim şey:
\href{https://example.com?ref=text-\today}{example.com}
böylece o gün için derlediğimde tarih otomatik olarak güncellenebilir, anahtar \todaybugünün tarihini otomatik olarak bağlantıya eklemek için kullanılıyor .
Ben kullanımını yaptığınızda \todayiçinde \hrefbu özel çözümde, aşağıdaki hatayı alıyorum:
Undefined control sequence. }
line 107: Undefined control sequence. }
line 107: Undefined control sequence. }
.
.
.
line 107: Undefined control sequence. }
TeXStudio'yu 2019 TeX-Live dağıtımı ile kullanıyorum ve belgemi XeLaTeX kullanarak zorluyorum.
Herhangi bir çözüme açığım ama kullanmak \todayaklıma geldi, eminim bunu yapmanın daha iyi yolları vardır (eğer \hyperrefpaket destekliyorsa). Teşekkürler!
Yanıtlar
İşte denediğim şey:
\documentclass[letter,oneside,10pt]{article}
\usepackage{hyperref}
\usepackage[ddmmyyyy]{datetime}
\begin{document}
\href{https://example.com?ref=text-\today}{example.com}
\end{document}
Bunu çalıştırıyorum (daha yeni bir yüklemem var), aldığınız hataları almıyorum, ancak URL şu şekilde çıkıyor:
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
Açıkçası istediğimiz bu değil.
Buradaki sorun, datetimepaketin her türlü genelleştirilmiş şeyi yapması ve bir jeton dizisi değil, metin üretmeyi beklemesidir.
Bunun yerine, ne datetimeişe yaradığının özelleştirilmiş ama basitleştirilmiş bir versiyonuna gidelim . Bırak \usepackageve yerine şunu yap:
\renewcommand{\today}{\ifnum\day<10 0\fi\the\day \ifnum\month<10 0\fi\the\month\the\year}
istenen URL'yi veren.