第 3 章 文章の組版 21
3.11 そのまま出力できない記号
L
ATEX
ではいくつかの半角の記号を直接出力することができません.これは予約文字と 呼ばれるもので,‘\’
に似た命令の一種だと思ってください.出力できない記号は\ { } $ & # ^ _ ~ % < > |
の
13
個であり,それらの記号を出力するには2.1.3
節 を参照してください.3.11.1 特殊記号
北欧文字などを出力するための特殊文字も用意されており,それらを出力するには 表
3.4
の命令を用います.表中のアスタリスク‘*’
付きの記号はfontencパッケージを‘T1’
というオプション付きで読み込むと出力できます.具体的には次のようにします.\usepackage[T1]{fontenc}
表3.4 特殊記号
å \aa ø \o † \dag Ð \DJ
∗« \guillemotleft
∗Å \AA Ø \O ‡ \ddag
ŋ\ng
∗» \guillemotright
∗æ \ae ı \i £ \pounds
Ŋ\NG
∗‹ \guilsinglleft
∗Æ \AE
\j ¡ !‘ þ \th
∗› \guilsinglright
∗œ \oe ß \ss ¿ ?‘ Þ \TH
∗„ \quotedblbase
∗Œ \OE SS \SS ð \dh
∗‚ \quotesinglbase
∗ł \l § \S Ð \DH
∗" \textquotedbl
∗Ł \L ¶ \P d ¯ \dj
∗表3.5 アクセント記号
ü \"u ¯a \={a} à \‘{a} a. \d{a} ˇa \v{a} ˚o \r{o}
é \’{e} ˝a \H{a} a
¯ \b{a} ˛c \k{c} ñ \~{n}
˙a \.{a} ô \^{o} ¸o \c{o} ˘ı \u{ı} oo \t{oo}
アクセント類を出力するには表
3.5
の命令を使います.‘i’
や‘j’
は表3.4
中の‘\i’
と‘\j’
を使います.
J\"org {mu\ss} ein Gel\"ande f\"ur
seine Fabrik erwerben. Jörg muß ein Gelände für seine Fabrik erwerben.
3.11.2 日本の通貨記号
円記号
‘Y =’
を標準では出力することができません.何らかのパッケージを読み込みま す.okumacroやascmac,textcompなどの既存のマクロではたいてい\yen
か\textyen
などの命令で定義されています.そもそもなぜ円記号がL
ATEX
では出力できないのかを ここではっきりとさせておきましょう.Windows
ユーザでL
ATEX
を使い始めた人がまず疑問に思うことの一つに円記号があります.普段自分の使っているエディッタやワードプロセッサでは円記号は問題なく出力さ れているのに,
L
ATEX
でタイプセットするとなぜか「バックスラッシュ」といわれる記号 に置き換わってしまいます.「これが円記号の本当の姿なんだよ」とやさしく教えてあげ ても,本人の慣れのほうが優先されるのか納得してくれません.けっこう昔の話なのですが
ASCII
コードの特定の領域にはそれぞれの国が独自の記号を割り当てても良いという流れがあったので,日本は
‘0x80’
以降のコードに半角カタカナなどを割り当てたり,‘0x7E’
のバックスラッシュを円記号に割り当てました.キーボードに円記号があるけれど実際に入力して
L
ATEX
で出力するとバックスラッシュになるという問題が起きていま す.そうすると円記号が打てないという問題になるわけです.半角カタカナが割り当てら れている証拠を見るためにはUnix
系OS
の方はascii
というプログラムを端末から好き好き
L
ATEX 2
ε初級編3.11
そのまま出力できない記号3 ascii
とすると
8
ビット中の領域に何の記号が割り当てられているのかが分かります.L
ATEX
で もこの問題に悩まされており,キーボードから円記号‘Y =’
を入力しても思いっきりバック スラッシュ‘\’
が出力されます.「あらまぁ,大変よ!子供がぐれちゃって円からバックスラッシュになっちゃっ たわ!!」
といった具合で,子供の不良行為になれていない親のように取り乱してしまう人も続出し てしまいます.そのような子供は
「俺は
Unix
使いだから気にならねぇや,ほげほげ.」 と言うのですが,いざL
ATEX
でタイプセットしていると「なんだこのスラッシュのへんてこりんなやつは,こんなんじゃ書類は受け取ら ん!出直して来い!!」
と相手の都合でバックスラッシュではどうにもならないときが,しばしばあります.
そのため多くの方々が
L
ATEX
で円記号を出力する方法を模索しておられました.いく つも方法があるのですが簡単な例として次のように定義します.\newcommand{\yen}{Y\llap=}
この方法では
‘Y
=’
のような出力になります.ただし,この方法だとずれるときがあります ので\newcommand{\yen}{\ooalign{Y\crcr\hss=\hss}}
ということも考えられます.以上の二つの例からも分かる通り半角英字の
‘Y’
と数学のイ コール‘
=’
の二つを重ね合わせてなんとなく円記号を作っています.そのためちょっとイ コールのほうが下に行き過ぎているので,少しうえに移動します.\newcommand{\yen}{\ooalign{Y\crcr\raise.1ex\hbox{\hss=\hss}}}
以上のような苦労をしなくともtextcompとfontencを使う手もあります.
\usepackage[T1]{fontenc}
\usepackage{textcomp}
という設定ではビットマップフォントが埋め込まれるかもしれませんのでお好みで
\usepackage{txfonts}% mathpazo, pxfontsなどでも良い の