对于普通文本,我用一些不同的东西替换了 & 符号,具体来说是从不同字体中获取的缩放 & 符号(因为某些原因)。也许不那么偷懒的方法是为此目的创建虚拟字体,但简单地重新定义宏\&
就可以了 - 直到我开始使用该url
包。我怎样才能\url
使用我的自定义\&
& 符号?
\documentclass{minimal}
\usepackage{url}
\urlstyle{same}
% Redefine \&:
\usepackage{graphicx}
\let\ampersand\&
% for the sake of this MWE:
\def\&{\scalebox{0.7}{\fontfamily{ptm}\selectfont\ampersand}}
\begin{document}
\begin{tabular}{ll}
Text: & Foobar \& Cie.\\
Bad url: & \url{https://example.com/page?x=1&y=2}\\
Manual fix: & \url{https://example.com/page?x=1}\&y=2\\
\end{tabular}
\end{document}
答案1
您可以将转换添加到内部列表中url
:
\documentclass{article}
\usepackage{url}
\urlstyle{same}
\makeatletter
\g@addto@macro\Url@OTnonTT{\do\&{\&}}
\makeatother
% Redefine \&:
\usepackage{graphicx}
\let\ampersand\&
% for the sake of this MWE:
\def\&{\scalebox{0.7}{\fontfamily{ptm}\selectfont\ampersand}}
\begin{document}
\begin{tabular}{ll}
Text: & Foobar \& Cie.\\
Bad url: & \url{https://example.com/page?x=1&y=2}\\
Manual fix: & \url{https://example.com/page?x=1}\&y=2\\
\end{tabular}
\end{document}