Texinfoは,カッコのようなTexinfoで特別な意味を持つ文字を挿入するためと, 入力可能な単純な文字に対応しない他の画像要素に対するコマンドもいくつかあ ります.
以下がそうです.
`@'と弓カッコはTexinfoで特別な文字です.これらの文字がテキストに現 れるように挿入するため,Texinfoが誤解することを避けるため,`@'をこ れらの文字の前に書く必要があります.
これらのコマンドの後にカッコを書かないでください.それらは不要です.
@@
は,印刷物やInfoで単一の`@'を意味します.
@@
コマンドの後にカッコを書かないでください.
@{
は印刷物やInfoで単一の`{'を意味します.
@}
は印刷物やInfoで単一の`{'を意味します.
@{
や@}
コマンドの後にカッコを書かないでください.
以下のセクションでは,文の中や後の様々な種類の空白を制御するコマンドを記 述します.
ピリオドや,感嘆符や疑問符が文の中か終りにあるかに依存して,植字されたピ リオドの後に,少しまたは多くの空白が挿入されます.ピリオドが文を終るとき と省略で使用されるときとを常に決定できるわけではないので,特別なコマンド が必要な状況もあります.通常,Texinfoはピリオドの扱い方を推測できるので, 特別なコマンドは必要ありません.タイプライターを使用するときのようにピリ オドを入力し,それは二つの空白をピリオド,疑問符,または感嘆符の後に文の 終りとして書くことを意味しています.
余分な空白を続けるべきではないピリオド,疑問符,感嘆符,またはコロンの後
に@:
コマンドを使用してください.例えば,文の終りではない省略の
終りのピリオドの後に@:
を使用してください.
例えば,以下のようにします.
The s.o.p.@: has three parts ... The s.o.p. has three parts ...
以下を生成します.この印刷物を注意深く見ると,二行目の`s.o.p.'の後の 空白がより小さいことが分かります.
The s.o.p. has three parts ...
The s.o.p. has three parts ...
(ついでながら,`s.o.p.'は"Standard Operating Procedure"の略を意味 します.)
@:
はInfo出力で効果はありません.@:
の後にカッコを置かない
でください.
単一の大文字で終る文の終りのピリオドの代わりに@.
,感嘆符の代わ
りに@!
,そして疑問符の代わりに@?
を使用してください.
そうしない場合,TeXは文字を省略だと考え,正しい文の終りの空白を挿入し
ません.例は以下のようになります.
Give it to M.I.B. and to M.E.W@. Also, give it to R.J.C@. Give it to M.I.B. and to M.E.W. Also, give it to R.J.C.
以下を生成します.注意深くこの印刷物を見ると,最初の行の`W'の後の空 白がわずかに大きいことが分かります.
Give it to M.I.B. and to M.E.W. Also, give it to R.J.C.
Give it to M.I.B. and to M.E.W. Also, give it to R.J.C.
Infoファイル出力では,@.
は単なる`.'と同じです.
@!
と@?
も同様です.
Texinfoの@:
と@.
のマージンは,Emacsの文の移動コマンド
(see section `Sentences' in The GNU Emacs Manual)でうまく動作します.
これらのコマンドの後にカッコを書かないでください.
通常TeXは,複数の空白文字(スペース,タブと,改行)を単一のスペースに縮 めます.一方Info出力では,改行をスペースにする以外,入力した通りの空白を 維持します.これは,Texinfoドキュメントの文の終りの二つのスペースを置く ことが重要だという理由のためです.
例を目的としたり(プログラムが入力として複数の空白を扱うこと),見出しやリ
ストの単純な見栄えのため,複数の連続した空白を実際に挿入したいこともあり
ます.Texinfoは三つのコマンドをサポートします.@SPACE
,
@TAB
,そして@NL
で,それらは全て出力に単一の
スペースを挿入します.(ここでは,@SPACE
は空白に続く
`@'文字,すなわち`@ 'を現し,TABとNLはタブ文字と
文の終り,すなわち,`@'が行の最後の文字のときを現します.)
例えば,以下のようにします.
Spacey@ @ @ @ example.
以下を生成します.
Spacey example.
可能性のあるもう一つの@SPACE
の利用法は,
@multitable
(see section 複数列の表)に包括されました.
これらのコマンドにカッコを続けないでください.
改行されないスペースを生成するために,section @w
{text}: 改行を妨げるを参照
してください.
@dmn
{dimension}: 寸法単位の書式化
寸法単位に対し,数字と省略の間に小さな空白または空白を全く置かないで,
`12pt'や`8.5in'を書きたいときもあります.こうする
ため,@dmn
コマンドを使用することが可能です.このコマンドの見ため
は,TeXは適切な植字のためちょうどぴったりの空白を挿入します.Infoファ
イルでは空白が要求されないので,Info書式化コマンドでは空白を全く挿入しま
せん.
@dmn
コマンドを使用するため,数字を書き,間に空白を置かずそれに
@dmn
続けてカッコ内に寸法単位を続けてください.例えば以下のように
します.
A4 paper is 8.27@dmn{in} wide.
以下を生成します.
A4 paper is 8.27in wide.
全ての人がこの形式を使用するわけではありません.Texinfoファイルでは
`8.27@dmn{in}'より`8.27 in.@:'や`8.27 inches'
を好む人もいます.しかしこれらの場合,フォーマッタは数字と寸法単位の間に
改行を挿入するかもしれないので,@w
(see section @w
{text}: 改行を妨げる)を使用してください.
また,文中の省略の後にピリオドを書く場合,TeXが余分の空白を挿入するの
を避けるため,ここで見たように,ピリオドの後に`@:'を書いてください.
See section 文を終了しない.
フローティングアクセントを挿入するためにTexinfoが提供しているコマンドの
表は以下のようになります.アルファベットでない名前のコマンドは引数の周り
にカッコをとりません(それは次の文字をとります).(例外:@,
は引数の
周りにカッコをとります.)これは,言語によってはアクセントがある文
字が普通のものもあるので,ソースを入力や査読で可能な限り便利にするためで
す.
省略(ellipsis)(ドットの行)はピリオドの列として植字されないので,特
別なコマンドがTexinfoの省略で使用されます.@bullet
コマンドも特別
です.それぞれのコマンドは,カッコの組`{}'が続き,コマンド名とカッ
コの間には空白を用いません.(続けて他のテキストを使用できるので,これら
のコマンドにはカッコを使用する必要があります.カッコが無い場合,フォーマッ
タは混乱するでしょう.詳細は,See section @-コマンドの構文.)
@dots
{} (...)と@enddots
{} (@enddots{})
連続した三つの点になり,適切な空白がある`...'のような省略を生成する
ため,@dots{}
コマンドを使用してください.入力ファイルに単純に
三つのピリオドを書かないでください.それはInfo出力では動作しますが,印刷
されたマニュアルではピリオドの間に間違った量の空白を生成します.
同様に,@enddots{}
コマンドは文の終りの省略(四つの点)を生成しま
す@enddots{}
これは省略です:... これは続いている三つのピリオドです:...
印刷物での続いた三つのピリオドは,省略の点よりお互い近付いています.
@bullet
{} (*)
大きな黒点やそれに近いものを生成するために@bullet{}
を使用して
ください.Infoではアスタリスクが使用されます.
これは黒点です:*
@itemize
で@bullet
を使用するときは,@itemize
が供
給するので,カッコを入力する必要はありません.(See section @itemize
: 項目分けされたリストの作成.)
ロゴ`TeX'は特別な形での植字で,@-コマンドが必要です.著作権シンボル `(C)'も特別です.それぞれのコマンドはカッコの組`{}'が続 き,コマンド名とカッコの間に空白は使用しません.
@TeX
{} (TeX)
`TeX'を生成するため@TeX{}
コマンドを使用してください.印刷さ
れたマニュアルでは,これは三つの通常の文字と異なる特別なロゴとなります.
Infoではそれは`TeX'のように見えます.@TeX{}
コマンドは
`T'と`X'が大文字となっている,Texinfoコマンドの中ではユニーク
なものです.
@copyright{}
((C))
`(C)'を生成するために@copyright{}
コマンドを使用してく
ださい.印刷されたマニュアルでは,これは丸の中の`c'になり,Infoでは
これは`(C)'になります.
@pounds
{} (@pounds{}): ポンド英貨
`@pounds{}'を生成するために@pounds{}
コマンドを使用してください.
印刷されたマニュアルでは,これは通貨ポンド銀貨のシンボルとなります.Info
では`#'になります.他の通貨シンボルは残念ながら利用不可能です.
@minus
{} (-): 負の記号の挿入
負記号を生成するために@minus{}
コマンドを使用してください.等幅
フォントで,これは単一のハイフンですが,プロポーショナルフォントではシン
ボルは負記号の慣習的な長さになります---ハイフンより少し長く,em-dashより
短くなります.
`-'は`@minus{}'で生成された負記号で, `-'は文字`-'で生成したハイフンで, `---'はテキストのem-dashです.
Infoで使用される等幅フォントでは,@minus{}
はハイフンと同じです.
幅の違いは,使用する等幅フォントで作成されないので,@code
や
@example
で@minus{}
を使用すべきではありません.
項目分けされたリストのそれぞれの項目をはじめる印を指定するために
@minus
を使用するとき,カッコを入力する必要はありません
(see section @itemize
: 項目分けされたリストの作成).
@math
: 数式の挿入
短い数式を@math
コマンドで書くことができます.カッコの間に以下の
ように数式を書いてください.
@math{(a + b)(a + b) = a^2 + 2ab + b^2}
これはTeXでは以下を生成します.
(a + b)(a + b) = a^2 + 2ab + b^2
Infoでは以下のようになります.
(a + b)(a + b) = a^2 + 2ab + b^2
このように,@math
コマンドはInfo出力で効果がありません.
@command{makeinfo}は入力をそのまま再生成し,数学的な解釈を全く行ないませ
ん.
@math
は@tex
を暗黙に指定します.これは(上記の例のように)
上付文字と下付文字を書くことを可能にするだけでなく,あらゆるプレーンの
TeXの数学的なコントロールシーケンスを使用することも可能にします.これ
らのコマンドに対し`@'の代わりに`\'を使用するのは従来通りです.
以下のようにします.
@math{\sin 2\pi \equiv \cos 3\pi}
TeXでは以下のようにします.
\sin 2\pi \equiv \cos 3\pi
and InfoとHTMLでは以下のような入力になります.
\sin 2\pi \equiv \cos 3\pi
`\'は@math
内部のエスケープ文字なので,文字通りのバックスラッ
シュを得るために@\
を使用することが可能です(\\
はTeXでは
動作しますが,Infoでは文字通り`\\'になるでしょう).`\'は通常,
文字通り`\'を生成するので,@\
は@math
の外部では定義
されていません.
等式を表示するために,現在はTeXを直接使用する必要があります (see section 生の書式化コマンド).
Texinfoでは,コードは@example
と@end example
や
@lisp
と@end lisp
で区切られた例として表示されることがよく
あります.そのような例では,`=>'や`==>'を使用
して,評価の結果や展開を示すことが可能です.同様に,印刷物,エラーメッセー
ジ,等式,そしてポイントの位置を示すglyphを挿入するコマンドがあります.
glyph挿入コマンドは,例の内部で使用する必要はありませんが,ほとんどのも のはそうなっています.全てのglyph挿入コマンドには左右のカッコの組が続き ます.
個別のglyphコマンドには以下のものがあります.
@result{}
は,式の結果を示します.
@expansion{}
はマクロ展開の結果を表示します.
@print{}
は出力の表示を示します.
@error{}
は次のテキストがエラーメッセージだということを示します.
@equiv{}
は,二つのフォームが正確に等しいことを示します.
@point{}
はポイントの場所を表示します.@result{}
(=>): 評価結果を示す
式の評価の結果を示すため@result{}
を使用してください.
@result{}
コマンドはInfoでは`=>'として,印刷物では
`=>'として表示されます.
このため,以下のようにします.
(cdr '(1 2 3)) => (2 3)
"(cdr '(1 2 3))
を評価すると(2 3)になる
"と読めるでしょう.
@expansion{}
(==>): 展開を示す
式がマクロ呼び出しのとき,新しい式に展開します.@expansion{}
コ
マンドで展開の結果を示すことができます.
@expansion{}
コマンドは,Infoでは`==>'として,印刷物では
`==>'として表示されます.
例えば,以下のようにします.
@lisp (third '(a b c)) @expansion{} (car (cdr (cdr '(a b c)))) @result{} c @end lisp
以下を生成します.
(third '(a b c)) ==> (car (cdr (cdr '(a b c)))) => c
以下のように読めるでしょう.
(third '(a b c))
は(car (cdr (cdr '(a b c))))
の展開で,式の 評価結果はc
です.
この状況では,@expansion{}
と@result{}
コマンドが五個
の空白で字下げされている場合,例の見ためが良くなることもよくあります.
@print{}
(-|): 出力を示す
式が実行中の出力を表示するときもあります.@print{}
コマンドで印
刷物ということを示すことができます.
@print{}
コマンドは,Infoでは`-|'として,印刷物では
`-|'として表示されます.
以下の例では,印刷されたテキストは`-|'で示され,式の値は最後 の行に続いています.
(progn (print 'foo) (print 'bar)) -| foo -| bar => bar
Texinfoソースファイルで,この例は以下のように書きます.
@lisp (progn (print 'foo) (print 'bar)) @print{} foo @print{} bar @result{} bar @end lisp
@error{}
(error-->): エラーメッセージを示す
コードの一部は,評価したときエラーとなる可能性があります.
@error{}
コマンドでエラーメッセージを示すことが可能です.
@error{}
コマンドは,Infoでは`error-->'として,印刷物では
`error-->'として表示されます.
このため以下のようにします.
@lisp (+ 23 'x) @error{} Wrong type argument: integer-or-marker-p, x @end lisp
以下を生成します.
(+ 23 'x) error--> Wrong type argument: integer-or-marker-p, x
これは,式を評価したとき,以下のエラーメッセージが出力されることを示しま す.
Wrong type argument: integer-or-marker-p, x
`error-->'自身はエラーメッセージの一部ではありません.
@equiv{}
(==): 等価を示す
二つの式が同一の結果を生成することもあります.@equiv{}
コマンド
で,二つのフォームが正確に同一だということを示すことが可能です.
@equiv{}
コマンドはInfoでは`=='として,印刷物では
`=='として表示されます.
このため以下のようにします.
@lisp (make-sparse-keymap) @equiv{} (list 'keymap) @end lisp
以下を生成します.
(make-sparse-keymap) == (list 'keymap)
これは,(make-sparse-keymap)
の評価が(list 'keymap)
の評価結
果と同一なものを生成することを示します.
@point{}
(-!-): バッファのポイントを示すEmacsバッファのテキストの例を見せる必要があることもあります.そのような 例では,バッファ名を含む二行のダッシュの間に問題のバッファ全体の内容を含 める慣習があります.
バッファのテキストでポイントの場所を表示するため,`@point{}'コマ ンドを使用することが可能です.(ポイントのシンボルは,もちろんバッファの テキストの一部ではありません.それは,ポイントがある二文字の間の 場所を示します.)
@point{}
コマンドは,Infoでは`-!-'として,印刷物では
`-!-'として表示されます.
以下の例は,単語changed
を挿入するためのLispコマンドを評価した,前
後の`foo'バッファの内容を表示しています.
---------- Buffer: foo ---------- This is the -!-contents of foo. ---------- Buffer: foo ----------
(insert "changed ") => nil ---------- Buffer: foo ---------- This is the changed -!-contents of foo. ---------- Buffer: foo ----------
Texinfoソースファイルでは,例は以下のように書かれています.
@example ---------- Buffer: foo ---------- This is the @point{}contents of foo. ---------- Buffer: foo ---------- (insert "changed ") @result{} nil ---------- Buffer: foo ---------- This is the changed @point{}contents of foo. ---------- Buffer: foo ---------- @end example
脚注(footnote)は,主要なテキストの紹介や説明を参照するためのもので す.(12)
Texinfoでは脚注は@footnote
で作成されます.このコマンドは直後に左
カッコが続き,その後に脚注のテキストが続き,そして終端の右カッコが続きま
す.脚注はどのような長さでも可能ですが(必要ならページに跨ります),通常は
短いです.以下はテンプレートです.
通常のテキスト@footnote{脚注のテキスト}
このように,@footnote
は脚注が付くテキストの直後に,余分な空白無
しにすべきです.そうしない場合,脚注の印は行を開始するでしょう.
例えば,この節は見本の脚注(13)が続きます. Texinfoソースファイルでは,以下のようになります.
...見本の脚注@footnote{これは見本の脚注です.}が続きます.Texinfo ソース...
御覧のように,ソースファイルには二つの句読点文字がお互いに隣り合っていま す.この状況では`.};'が連続しています.これは一般的なので(最初のも のは脚注の終りで,二番目のものは脚注がある文章に属しています),奇妙に見 えても気にしないでください.
印刷されたマニュアルや本では,脚注の参照マークは小さい上付き数字です.脚 注のテキストは,ページの底に水平方向の線の下に現れます.
Infoでは,脚注の参照マークは脚注番号が間にある一組のカッコで,`(1)' のようになります.参照マークは,脚注のテキストへの相互参照のリンクが続き ます.
HTML出力では,脚注参照は小さな上付き数字で,脚注テキストへのハイパーテキ ストリンクとなります.
ところで,@table
に対する@item
コマンドの引数の脚注は,(通
常)@item
コマンドと同じ行にする必要があります.See section 二列の表の作成.
Infoは二つの脚注スタイルがあり,脚注のテキストがある場所を決定します.
--------- Footnotes --------- (1) Here is a sample footnote.
File: texinfo.info Node: Overview-Footnotes, Up: Overview (1) "Texinfo"の最初の音節は,"hex"ではなく,``speck''のように発音されま す....
Texinfoファイルは,どちらかの脚注スタイルでInfoファイルに書式化されます.
@footnotestyle
コマンドを,Infoファイルの脚注スタイルを指定するた
めに使用してください.このコマンドは行の最初に書き,終りのノードスタイル
に対する`end',または,分割ノードスタイルに対する`separate'を
引数として続けてください.
例えば,以下のようにします.
@footnotestyle end
または,以下のようにします.
@footnotestyle separate
@footnotestyle
コマンドは,Texinfoファイルの最初に,end-of-header
行の前か直後に書いてください.(@footnotestyle
コマンドが
start-of-headerとend-of-header行の間に含まれる場合,領域の書式化コマンド
は脚注を指定したように書式化します.)
脚注スタイルを指定しない場合,書式化コマンドはデフォルトスタイルを使用し
ます.現在texinfo-format-buffer
とtexinfo-format-region
は
`separate'スタイルを使用し,makeinfo
は`end'スタイルを使用します.
@image
コマンドで,外部ファイルで与えられた画像を挿入できます.
@image{filename, [width], [height], [alttext], [extension]}
filename引数は必須で,処理によってサポートするフォーマットが異なる ので,拡張子付けてはいけません.
@example
のように)そのまま使用します.
@image{foo,,,,xpm}これで`makeinfo --html'のとき`foo.xpm'を試します. 追加の五番目の引数を提供していない場合,`makeinfo --html'は最初に `filename.png'を試みます.存在しない場合は, `filename.jpg'を試みます.どちらも存在しない場合は警告を出し ます.(ソフトウェア特許のためGIFフォーマットはサポートできません.)
追加のwidthとheight引数は,画像のサイズを指定します(Info出力 では無視されます).どちらも指定されない場合,画像はそのままの大きさで提 供されます(ファイルで与えられたもの).一方のみが指定された場合,もう一方 はそれに比例して大きさを調整します.両方指定された場合,両方が重視され, このため縦横比が変更され,元画像が歪む可能性があります.
widthはheightは有効なTeXの寸法単位を使用して指定できます. すなわち以下を使用します.
例えば,以下は`ridt.eps'ファイルを高さ1インチで幅をそれに比例した大 きさに変更します.
@image{ridt,,1in}
@image
がTeXで動作するように,ファイル`epsf.tex'をTeX
が見つけられるところに配置する必要があります.(標準の場所は
`texmf/tex/generic/dvips/epsf.tex'で,そこではtexmfが
TeXのディレクトリツリーのルートになります.)このファイルはTexinfo配布
物に含まれていて,ftp://tug.org/tex/epsf.texや他の場所でも利用可
能です.
@image
は図を表示する行で使用することが可能です.このため,表示し
ようとした場合,前のテキストに出力が入り込まないように,コマンドの前で残
りの空白行を確認してください.
HTMLを生成しているとき,@command{makeinfo}はオプションの四番目の引数が提
供されている場合,それをインライン画像に対しalt属性(alt attribute)
を@image
に設定します.提供されていない場合,@command{makeinfo}は
表示されている画像の完全な名前を使用します.
Go to the first, previous, next, last section, table of contents.