帶有 `\urlstyle(same)` 的 url 似乎強制使用 `lowtilde`

帶有 `\urlstyle(same)` 的 url 似乎強制使用 `lowtilde`

當使用 時,即使未指定該選項,\urlstyle{same}該套件也會替換一個低的「偽造」波形符號:urllowtilde

\documentclass{article}


\usepackage{url}
\urlstyle{same}


\begin{document}

Tilde: \textasciitilde

Not a tilde: \url{~}

\end{document}

為什麼會發生這種情況,有沒有辦法克服這種情況?

我正在使用該類IEEEtran,它會強制執行該\urlstyle{same}選項,並且我正在提交給期刊,因此我寧願不加載該hyperref包(建議將其作為本網站其他地方的解決方法),因為這可能不允許/被悄悄刪除在編輯中。

答案1

我猜問題出在 的定義中\Url@OTnonTT\UrlTildeSpecial用 代替\Url@force@Tilde

\relax除非lowtilde已指定,否則最後一個命令是。

\documentclass{article}
\usepackage{url}

\makeatletter
\def\Url@OTnonTT{\do\<{\langle}\do\>{\mathbin{\rangle}}\do
  \_{\_\penalty\@m}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do
  \\{\mathbin{\backslash}}\Url@force@Tilde}% <--- it had \UrlTildeSpecial
\makeatother

\urlstyle{same}


\begin{document}

Tilde: \textasciitilde

Not a tilde: \url{~}

\end{document}

在此輸入影像描述

答案2

引自 p.第382章綜合 LaTeX 符號列表[強調]:

請注意\textasciitilde\~{}會產生凸起的變音符號波形符。 “文本”(即垂直居中)波浪號可以使用 math-mode\sim命令 ... 生成,該命令生成稍寬的“∼”,或者textcomp使用包的 生成\texttildelow,該命令在大多數字體中生成垂直居中的“~ ”,但Computer Modern 中面向基線的“~”、txfonts、pxfonts 以及源自 TEX 世界的各種其他字體。如果您的目標是在 URL 或 Unix 檔案名稱中排版波浪號,那麼最好的選擇是使用該url套件

簡而言之,您所說的「假波形符號」實際上是一個垂直居中的符號,在文字模式設定中使用時應該完全可以接受,尤其是在 URL 字串中使用時。

相關內容