`\urlstyle(same)` の URL は `lowtilde` を強制するようです

`\urlstyle(same)` の URL は `lowtilde` を強制するようです

を使用する場合\urlstyle{same}、オプションが指定されていなくurlても、パッケージは低い「偽の」チルダを置き換えます。lowtilde

\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

382ページより引用包括的な LaTeX シンボル リスト[強調追加]:

\textasciitildeとは、浮き彫りの分音記号チルダを生成することに注意してください\~{}。「テキスト」(つまり、垂直に中央揃えの) チルダは、数式モード\simコマンド ... で生成できます。このコマンドは、やや幅広の「∼」を生成します。または、textcompパッケージの で生成でき\texttildelowます。このコマンドは、ほとんどのフォントで垂直に中央揃えの「~」を生成しますが、Computer Modern、txfonts、pxfonts、および TEX の世界から生まれたその他のさまざまなフォントでは、ベースラインに沿った「~」を生成します。urlURLやUnixファイル名にチルダをタイプセットしたい場合は、パッケージを使用するのが最善です。...

つまり、「偽のチルダ」と呼ばれるものは、実際には垂直中央揃えの記号であり、テキスト モード設定で使用される場合、特に URL 文字列で使用される場合は完全に許容されるはずです。

関連情報