~ はunbreakable spaceを出すコマンドとしてactiveカテゴリに、@ はLatexの実装とユーザーのコマンドが重ならないようにするためのトリックとしてotherカテゴリにされているので、文字として扱われないので素直に出力できない。
URLやメールアドレス中なら、UrlStyle を使うのが素直。
スタイルファイルの指定があったりしてurlスタイルを使えないときは以下の手でのりきるしか。
-
verbatim環境を使う(タイプライタ体
\verb+hoge @100yen+ \verb+~~~~~+
-
この文字を出力しろ、と宣言する(そこだけ
\string~ \string@
-
文字のカテゴリコードを替える(文全体に影響を与える
\catcode`\~=12
-
At(@) はLatexの実装に深くかかわっているので、グローバルにカテゴリコードを変更してはいけない。 専用の命令 \makeatletter \makeatotherがあるのでそれを必要な箇所の直前、直後で使う。間にLatexのコマンドを挟んではいけない。
\makeatletter foo@f.csce.kyushu-u.ac.jp \makeatother
-
チルダ文字を出力する命令
\textasciitilde
