Add URL encoding to links containing non-ASCII characters

This commit is contained in:
Ingemar Berg 2023-03-16 11:14:41 +01:00 committed by Stephan Lachnit
commit fa3ebb6b48

View file

@ -120,6 +120,11 @@
pdfsubject = {R\'{e}sum\'{e} of \@firstname{}~\@lastname{}}, pdfsubject = {R\'{e}sum\'{e} of \@firstname{}~\@lastname{}},
pdfkeywords = {\@firstname{}~\@lastname{}, curriculum vit\ae{}, r\'{e}sum\'{e}}}} pdfkeywords = {\@firstname{}~\@lastname{}, curriculum vit\ae{}, r\'{e}sum\'{e}}}}
% pdftex not using pdfmanagement-testphase requires T1 font encoding in order to handle links containing special characters somewhat properly
\ifpdftex
\IfPDFManagementActiveTF{}{\RequirePackage[T1]{fontenc}}
\fi
% graphics % graphics
\RequirePackage{graphicx} \RequirePackage{graphicx}
@ -565,25 +570,39 @@
% makes a generic hyperlink % makes a generic hyperlink
% usage: \link[optional text]{link} % usage: \link[optional text]{link}
\newcommand*{\link}[2][]{% % uses pdfmanagement-testphase when available, which provides url encoding of special characters
\NewDocumentCommand{\link}{O{}m}{%
\IfPDFManagementActiveTF{%
\ifthenelse{\equal{#1}{}}%
{\hrefurl[urlencode]{#2}{#2}}%
{\hrefurl[urlencode]{#2}{#1}}}{%
\ifthenelse{\equal{#1}{}}% \ifthenelse{\equal{#1}{}}%
{\href{#2}{#2}}% {\href{#2}{#2}}%
{\href{#2}{#1}}} {\href{#2}{#1}}}}
% makes a http hyperlink % makes a http hyperlink
% usage: \httplink[optional text]{link} % usage: \httplink[optional text]{link}
\newcommand*{\httplink}[2][]{% % uses pdfmanagement-testphase when available, which provides url encoding of special characters
\NewDocumentCommand{\httplink}{O{}m}{%
\IfPDFManagementActiveTF{%
\ifthenelse{\equal{#1}{}}%
{\hrefurl[urlencode]{http://#2}{#2}}%
{\hrefurl[urlencode]{http://#2}{#1}}}{%
\ifthenelse{\equal{#1}{}}% \ifthenelse{\equal{#1}{}}%
{\href{http://#2}{#2}}% {\href{http://#2}{#2}}%
{\href{http://#2}{#1}}} {\href{http://#2}{#1}}}}
% makes an https hyperlink % makes an https hyperlink
% usage: \httpslink[optional text]{link} % usage: \httpslink[optional text]{link}
\newcommand*{\httpslink}[2][]{% % uses pdfmanagement-testphase when available, which provides url encoding of special characters
\NewDocumentCommand{\httpslink}{O{}m}{%
\IfPDFManagementActiveTF{%
\ifthenelse{\equal{#1}{}}%
{\hrefurl[urlencode]{https://#2}{#2}}%
{\hrefurl[urlencode]{https://#2}{#1}}}{%
\ifthenelse{\equal{#1}{}}% \ifthenelse{\equal{#1}{}}%
{\href{https://#2}{#2}}% {\href{https://#2}{#2}}%
{\href{https://#2}{#1}}} {\href{https://#2}{#1}}}}
% makes an email hyperlink % makes an email hyperlink
% usage: \emaillink[optional text]{link} % usage: \emaillink[optional text]{link}