在数学中将 v 重新定义为 \upsilon,而不会影响 hyperref 中的 \url

在数学中将 v 重新定义为 \upsilon,而不会影响 hyperref 中的 \url

我想使用 Euler 作为我的数学字体,但我在数学中大量使用了 v 和 \nu。在我看来 \upsilon 非常像许多数学字体定义的圆角“v”,我曾尝试重新定义 v 以使用 \upsilon 中的字符槽。下面的 MWE 在数学上完美运行,但在 tt 中排版但在数学环境中的 URL 中会中断。

有什么方法可以实现这种替换,但又能保护 hyperref 的行为?我只想在欧拉中排版时影响“v”的输出,否则就不管它。

梅威瑟:

\documentclass{article}

\usepackage[pdftex]{hyperref}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[small, T1]{eulervm}
\DeclareMathSymbol{v}{\mathalpha}{letters}{"1D}

\begin{document}

Maths with correct ``v'', that doesn't look like $\nu$.

\begin{equation}
\nu(v) = \frac{1 + \nu}{v}
\end{equation}

But the problem arises in urls, e.g. \url{https://veryrealurl.org}

\end{document}

截屏: 将 v 替换为 upsilon 时 URL 出现问题

答案1

类似这样的事情可能会起作用(但恕我直言,最好不要将 v 映射到另一个字符):

\documentclass{article}
\usepackage{url}

\usepackage{hyperref}
\usepackage{etoolbox}
\usepackage[T1]{fontenc}
\usepackage[small, T1]{eulervm}

\DeclareMathSymbol{\REALV}{\mathalpha}{letters}{`v}
\DeclareMathSymbol{v}{\mathalpha}{letters}{"1D}
\makeatletter
\appto\UrlSpecials{\do\v{\REALV}}
\makeatother
\begin{document}

Maths with correct ``v'', that doesn't look like $\nu$.

\begin{equation}
\nu(v) = \frac{1 + \nu}{v}
\end{equation}

But the problem arises in urls, e.g. \url{https://veryrealurl.org}

\end{document}

相关内容