• 検索結果がありません。

そのまま出力できない記号

第 3 章 文章の組版 21

3.11 そのまま出力できない記号

L

A

TEX

ではいくつかの半角の記号を直接出力することができません.これは予約文字と 呼ばれるもので,

‘\’

に似た命令の一種だと思ってください.出力できない記号は

\ { } $ & # ^ _ ~ % < > |

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

A

TEX

では出力できないのかを ここではっきりとさせておきましょう.

Windows

ユーザで

L

A

TEX

を使い始めた人がまず疑問に思うことの一つに円記号があり

ます.普段自分の使っているエディッタやワードプロセッサでは円記号は問題なく出力さ れているのに,

L

A

TEX

でタイプセットするとなぜか「バックスラッシュ」といわれる記号 に置き換わってしまいます.「これが円記号の本当の姿なんだよ」とやさしく教えてあげ ても,本人の慣れのほうが優先されるのか納得してくれません.けっこう昔の話なので

すが

ASCII

コードの特定の領域にはそれぞれの国が独自の記号を割り当てても良いとい

う流れがあったので,日本は

‘0x80’

以降のコードに半角カタカナなどを割り当てたり,

‘0x7E’

のバックスラッシュを円記号に割り当てました.キーボードに円記号があるけれ

ど実際に入力して

L

A

TEX

で出力するとバックスラッシュになるという問題が起きていま す.そうすると円記号が打てないという問題になるわけです.半角カタカナが割り当てら れている証拠を見るためには

Unix

OS

の方は

ascii

というプログラムを端末から

好き好き

L

A

TEX 2

ε初級編

3.11

そのまま出力できない記号

3 ascii

とすると

8

ビット中の領域に何の記号が割り当てられているのかが分かります.

L

A

TEX

で もこの問題に悩まされており,キーボードから円記号

‘Y =’

を入力しても思いっきりバック スラッシュ

‘\’

が出力されます.

「あらまぁ,大変よ!子供がぐれちゃって円からバックスラッシュになっちゃっ たわ!!」

といった具合で,子供の不良行為になれていない親のように取り乱してしまう人も続出し てしまいます.そのような子供は

「俺は

Unix

使いだから気にならねぇや,ほげほげ.」 と言うのですが,いざ

L

A

TEX

でタイプセットしていると

「なんだこのスラッシュのへんてこりんなやつは,こんなんじゃ書類は受け取ら ん!出直して来い!!」

と相手の都合でバックスラッシュではどうにもならないときが,しばしばあります.

そのため多くの方々が

L

A

TEX

で円記号を出力する方法を模索しておられました.いく つも方法があるのですが簡単な例として次のように定義します.

\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などでも良い

1

行を追加しておき原稿中で

‘\textyen’

と使うと良いでしょう.