yatex

annotate docs/qanda @ 74:b64bab6d132b

*** empty log message ***
author yuuji
date Wed, 22 May 2002 04:59:49 +0000
parents
children 1b172d26b55e
rev   line source
yuuji@74 1 %%
yuuji@74 2 %% Q and A on YaTeX
yuuji@74 3 %%
yuuji@74 4 %% C-u C-x $ とすると質問項目だけ表示されます。C-x $ で元に戻ります。
yuuji@74 5 %%
yuuji@74 6
yuuji@74 7 (新項目:・font-lock はどうやって使えばいいんでしょ?
yuuji@74 8 ・XEmacsでも色は着きますか?
yuuji@74 9 ・{\it }内部では斜体に {\bf }では太字になるという噂を聞いたんですが…)
yuuji@74 10
yuuji@74 11 ■インストール関連
yuuji@74 12 ・マニュアルのインストール
yuuji@74 13
yuuji@74 14 Emacsのインストールされている場所の info ディレクトリにyatexj ファ
yuuji@74 15 イルをコピーし、同じディレクトリにある dir というファイルに次の
yuuji@74 16 行を足します。
yuuji@74 17
yuuji@74 18 * YaTeX: (yatexj). Yet Another tex-mode for Emacs. (Japanese).
yuuji@74 19
yuuji@74 20 (あとは M-x info として m yatex で野鳥のマニュアルを選択して読み
yuuji@74 21 ます。?を押すと info の使い方が出て来ます。)
yuuji@74 22
yuuji@74 23 ・Meadowつこてるんすが make って叩いても何も起きないです〜
yuuji@74 24
yuuji@74 25 makeはバイトコンパイルのために利用しているだけなのでやらなくても
yuuji@74 26 構いません。makeのないMeadowユーザの最短インストールは以下の通り
yuuji@74 27 です。
yuuji@74 28 1 Meadowのsite-lispディレクトリに yatex*.tar.gz を展開す
yuuji@74 29 る。これを読んでる段階では別のディレクトリに展開している可能
yuuji@74 30 性が高いので、その場合はディレクトリごと移動してしまって下さ
yuuji@74 31 い。
yuuji@74 32 2 install ファイルに書いてあるように ~/.emacs にautoloadと
yuuji@74 33 load-path, auto-mode-alist の設定を書く。
yuuji@74 34
yuuji@74 35 ・まだしたっぱなので Info ディレクトリに書き込む権利がないっすう…
yuuji@74 36
yuuji@74 37 rootにしてもらいましょう。それがだめなときは Mule2 をインストー
yuuji@74 38 ルしてもらいましょう。してくれない時は、ホームディレクトリにイン
yuuji@74 39 ストールして、ほーらディスクの無駄遣いだよ〜んといって脅せば入れ
yuuji@74 40 てくれるはずです。Mule2 なら、~/.emacs に
yuuji@74 41
yuuji@74 42 (setq Info-default-directory-list
yuuji@74 43 (cons "自分のInfoディレクトリ"
yuuji@74 44 Info-default-directory-list))
yuuji@74 45
yuuji@74 46 と書くことで、info を起動した時に個人用のファイルもメニューに加
yuuji@74 47 わります。それでもMule2をなかなか入れてくれない時は、新しいinfo
yuuji@74 48 ファイルを拾って来るたびに管理者に「入れてくださーい。あ、すみま
yuuji@74 49 せーん毎度。でもMule2なら自分のディレクトリを追加できるんですけ
yuuji@74 50 どねぇ…」を繰り返しましょう。
yuuji@74 51
yuuji@74 52 ・LaTeXのヘルプファイルがないといわれる。
yuuji@74 53
yuuji@74 54 Nemacs, Mule1 では $EMACS/etc/, Mule2 では $EMACS/site-lisp/ に
yuuji@74 55 置かれているとみなすようになっています。もし公共の場所に置く権限
yuuji@74 56 がない時は、ホームディレクトリの下のどこかに置いて、変数
yuuji@74 57 YaTeX-help-file にそのファイル名を設定して下さい。
yuuji@74 58
yuuji@74 59 ・Nemacsで info が読めない。
yuuji@74 60
yuuji@74 61 Muleでformatしているので、内部日本語処理の異なるNemacs(または
yuuji@74 62 NemacsベースのDemacs)では(バイト数がずれるため)正しく読むことが
yuuji@74 63 できません。Muleで御覧ください。なお、Texinfoファイルのフォーマッ
yuuji@74 64 トには texinfo-3.1.tar.gz にある Emacs-Lisp ファイルを用いてくだ
yuuji@74 65 さい。
yuuji@74 66
yuuji@74 67 また、九州大学の井上さんによると、Info の dir 画面で,M-x
yuuji@74 68 Info-tagify とやると info ファイルのコンバートができるそうです。
yuuji@74 69
yuuji@74 70 ■操作関連
yuuji@74 71 ・間違って変なLaTeXコマンドを学習させてしまった。
yuuji@74 72
yuuji@74 73 ホームディレクトリ、またはカレントディレクトリにできている
yuuji@74 74 .yatexrc に間違って学習したコマンドを含む行があるはずですから、
yuuji@74 75 その行を削除、あるいは正しいコマンドに書き直してから C-x C-s で
yuuji@74 76 .yatexrc をセーブし、C-x k でクローズします。元のLaTeX編集バッファ
yuuji@74 77 に戻ったことを確認してから M-x YaTeX-reload-dictionary とする
yuuji@74 78 と、書き換えた .yatexrc が現在のバッファに反映されます。
yuuji@74 79
yuuji@74 80 ・リジョンを指定してコメントアウトしようとしたのにうまくいかない。
yuuji@74 81
yuuji@74 82 おそらくカーソルが \begin{}, \end{} の行に乗っているのだと思いま
yuuji@74 83 す。一行上か下によけて C-c > してください。
yuuji@74 84
yuuji@74 85 ・タイプセットの時に親ファイルを聞かれて、その時に間違えてしまった。
yuuji@74 86
yuuji@74 87 C-x C-v RET でもう一度子ファイルを読み直すか、
yuuji@74 88 C-u C-c ^ で親ファイルをもう一度入力してください。
yuuji@74 89
yuuji@74 90 ・Demacsでタイプセットエラーがでた時にtypesetバッファがうまく表示されない。
yuuji@74 91
yuuji@74 92 Demacs 1.2.0 で子プロセスが1以上の errorlevel を返した場合、この
yuuji@74 93 ような症状が起きる事があります。jlatex をバッチファイルから呼ぶ
yuuji@74 94 ようにし、その末尾で必ず errorlevel 0 を返すダミーのコマンドを呼
yuuji@74 95 ぶようにします。
yuuji@74 96
yuuji@74 97 ・「\underline{\makebox[4em][l]{x y}{\tt z}}」 などを手軽に入力したい。
yuuji@74 98
yuuji@74 99 section型補完の引数をミニバッファで入力する時にも再帰的に種々の
yuuji@74 100 補完機能が使えます。表題のコマンド列を補完入力したものが以下の例
yuuji@74 101 です。
yuuji@74 102 プロンプト キー入力
yuuji@74 103 C-c s und SPC RET
yuuji@74 104 \underline{???}: C-c s makeb SPC RET
yuuji@74 105 Width: 4em RET
yuuji@74 106 makebox position (`lr'): - l RET
yuuji@74 107 \makebox{???}: x y RET
yuuji@74 108 \underline{???}: \makebox[4em][l]{x y} C-c l tt RET
yuuji@74 109 \underline{???}: \makebox[4em][l]{x y}{\tt } z RET
yuuji@74 110
yuuji@74 111 ・「\footnote{ほげほげ}」と書いたけど\footnote{}を取り払いたい。
yuuji@74 112
yuuji@74 113 \footnote の部分にカーソルを合わせて C-c k としてください。
yuuji@74 114 \footnote{} の部分だけ選んで消去します。
yuuji@74 115 全部いらない場合は C-u C-c k とします。
yuuji@74 116
yuuji@74 117 ・「ほにゃらら」の部分を\footnoteにしたい。
yuuji@74 118
yuuji@74 119 「ほにゃらら」の部分をマークして C-c S footnote RET などとします。
yuuji@74 120 (Sは大文字)
yuuji@74 121
yuuji@74 122 ・いまある verbatim 環境を verbatim* 環境にしたい。
yuuji@74 123
yuuji@74 124 \begin{verbatim} か \end{verbatim} の行で、C-c c します。
yuuji@74 125
yuuji@74 126 ・指定領域を \verb で囲みたい。
yuuji@74 127
yuuji@74 128 残念ながら \verb は maketitle 型なので該当する機能はありません。
yuuji@74 129 ただ C-c $ が領域を $ で括る事を利用して次のようにできます。
yuuji@74 130 . .
yuuji@74 131 ここからここまでを \verb にする
yuuji@74 132 \verbここからここまでを \verb にする (\verbを入れる)
yuuji@74 133 ↑(C-@) (「こ」の位置でマーク)
yuuji@74 134 \verbここからここまでを \verb にする ($でくくる)
yuuji@74 135 ↑C-c $
yuuji@74 136 \verb$ここからここまで$を \verb にする (完成)
yuuji@74 137
yuuji@74 138 ・子ファイルを編集していて typeset-region をやる時に子ファイルの上の方で
yuuji@74 139 定義してあるコマンドも読んで欲しい。
yuuji@74 140
yuuji@74 141 章毎に複数メンバーでファイルを編集する時に子ファイルだけで通用す
yuuji@74 142 るマクロを子ファイルの上の方で定義している場合には、typeset
yuuji@74 143 region をする時にそれらの行も必要になって来ます。こういう場合は、
yuuji@74 144 子ファイルのマクロ定義の行の末尾に %#REQUIRE をつけることで臨時
yuuji@74 145 タイプセットファイルの先頭にその行がコピーされます。
yuuji@74 146
yuuji@74 147 さらに孫ファイルがあった場合を考えてみましょう。
yuuji@74 148 +-- main.tex --+ +---- sub.tex ----+ +-- subsub.tex --+
yuuji@74 149 | : | |%#jlatex main | |%#jlatex main |
yuuji@74 150 |\include{sub} | |\include{macros} | |..... |
yuuji@74 151 | : |←| : |←|%#BEGIN |
yuuji@74 152 | : | | : | |この辺を |
yuuji@74 153 | : | +-----------------+ |タイプセット |
yuuji@74 154 +--------------+ ↑ |したい |
yuuji@74 155 +-- macros.tex ---+ |%#END |
yuuji@74 156 |\def\foo{bar} | |: |
yuuji@74 157 |\def\hoge{hero} | +----------------+
yuuji@74 158 +-----------------+
yuuji@74 159
yuuji@74 160 このような場合 sub.tex の \include{macros} の行を以下のように変
yuuji@74 161 えます。
yuuji@74 162 \include{macros} %#REQUIRE
yuuji@74 163
yuuji@74 164 さらに subsub.tex のどこかに以下のような行を加えます。
yuuji@74 165
yuuji@74 166 %#REQUIRE \include{macros}
yuuji@74 167
yuuji@74 168 %#REQUIRE が行頭にある時はそれより後ろの部分が臨時ファイルにコピー
yuuji@74 169 されます。これにより、全体をタイプセットする時、または sub.tex,
yuuji@74 170 subsub.tex いずれかを typeset-region する時どちらにおいてもかな
yuuji@74 171 らず一度だけ macros.tex がインクルードされることになります。
yuuji@74 172
yuuji@74 173 ・直前に入れた \foo{引数だよ} の「引数だよ」をもう一回使いたい。
yuuji@74 174
yuuji@74 175 gmhist というパッケージを導入しましょう。野鳥は gmhist に対応し
yuuji@74 176 ています。ミニバッファで \foo{???}: と聞かれた時に M-p (ESC p)を
yuuji@74 177 押すと今まで入力した文字の履歴を逆方向にたどって表示します。M-n
yuuji@74 178 と押すと順方向にたどります。これらの入力履歴は begin 型補完、
yuuji@74 179 section 型補完、プレヴューア起動、プリントアウトコマンド起動それ
yuuji@74 180 ぞれに対し独立に設定されます。
yuuji@74 181
yuuji@74 182 gmhist は多くの Emacs-Lisp アーカイブサイトに置いてあります。
yuuji@74 183 ftp.ae.keio.ac.jp:pub/emacs-lisp/util/gmhist.tar.gz
yuuji@74 184 にもあります。
yuuji@74 185
yuuji@74 186 ただし、Mule2 以降を用いている場合は、gmhistを用いなくてもミニバッ
yuuji@74 187 ファでのヒストリが使えます。
yuuji@74 188
yuuji@74 189 ・ref←→label間ジャンプで存在するはずのref/labelにジャンプしない。
yuuji@74 190
yuuji@74 191 C-c g とだけ打つと対応するref/labelの前方検索から始めます。
yuuji@74 192 C-u C-c g と打つと後方検索から始めます。続けて \ref を検索するよ
yuuji@74 193 うな場合は C-s (C-r) を二回続けて押しインクリメンタルサーチの連
yuuji@74 194 続検索機能を利用します。もしジャンプ先が別ファイルにある時は、そ
yuuji@74 195 のファイルをあらかじめオープンしておく必要があります。C-c d の
yuuji@74 196 YaTeX-display-hierarchy は全てのファイルを一気にオープンするため
yuuji@74 197 にも使えます。
yuuji@74 198
yuuji@74 199 ・fill-paragraph や auto-fill で行末に%が付いちゃう。
yuuji@74 200
yuuji@74 201 TeX version 2 ベースのNTT-jTeXでは日本語のパラグラフの各行頭をイ
yuuji@74 202 ンデントして書くとその分スペースが余計に入った印刷イメージになっ
yuuji@74 203 てしまいます。それを回避するために行末に % を付ける必要がありま
yuuji@74 204 す。野鳥ではインデントされたテキストをNTT版でも入力できるように
yuuji@74 205 「行末%」の面倒をみています。でもバグってる可能性ありありなので、
yuuji@74 206 行末以外に % が出るなどの現象を発見したらご連絡ください。
yuuji@74 207
yuuji@74 208 ・itemize環境の中のitemizeのインデントが深すぎやしませんか?
yuuji@74 209
yuuji@74 210 でしょ? 某K君があのほうがいいって言って、TABを打っては一人酔いし
yuuji@74 211 れているのでので、そうしたんですが、私は気に入りません(←まだ根
yuuji@74 212 に持ってる)。「深すぎる!」という方は、内側の\begin{itemize} の行
yuuji@74 213 末でTABを打ってください。なぬ、今度は浅すぎる? さてトイレ行こ。
yuuji@74 214
yuuji@74 215 ・いつも雛型として使っている template.tex を簡単に入れたい
yuuji@74 216
yuuji@74 217 autoinsert.el (Emacs19/Mule2付属)を使いましょう。もしくは、それ
yuuji@74 218 の機能強化版 auto-insert-tkld を使いましょう。後者は、
yuuji@74 219 ftp://ftp.ae.keio.ac.jp/pub/emacs-lisp/util/auto-inset-tkld.tar.Z
yuuji@74 220 で入手できます。
yuuji@74 221
yuuji@74 222 ・bibtexとlatexとかを交互にかけるのが面倒なんですけど
yuuji@74 223
yuuji@74 224 latexmk というスグレもののツールがあります。これは、.tex,
yuuji@74 225 .bib, .idx などのファイル間の依存関係をドキュメントを走査して調
yuuji@74 226 べ、自動的に bibtex, makeindex, jlatex などを必要な順序で必要な
yuuji@74 227 回数起動してくれます。これをインストールし、各ドキュメントの先頭
yuuji@74 228
yuuji@74 229 %#!latexmk
yuuji@74 230
yuuji@74 231 などと書いてタイプセッタとして latexmk を指定すれば複雑な依存関
yuuji@74 232 係に悩んだ日々とはおさらばです。なお、latexmk は CTAN サイトの
yuuji@74 233 support/latexmk/ ディレクトリに置いてあります。
yuuji@74 234 (例えば ftp.kdd.lab.kdd.co.jp:/CTAN/)
yuuji@74 235
yuuji@74 236 ・タイプセットとプレヴューでキーが違うのが面倒ですね?
yuuji@74 237
yuuji@74 238 そういうことを感じるということは、もしかして、プレヴューアを起動
yuuji@74 239 して確認したのちに、いちいちプレヴューアを終了させたりしてますか?
yuuji@74 240 UNIXでもWindowsでもそんなことは普通しなくていいんです。一度起動
yuuji@74 241 したプレヴューアは常駐させておけば、表でLaTeXソースをタイプセッ
yuuji@74 242 トすれば、次回プレビューアの窓を選択したときに勝手にリロードして
yuuji@74 243 くれます。プレビューアを毎回終了させるとフォントのロードなどオー
yuuji@74 244 バーヘッドが大きいので、是非常駐させましょう。意外にそのことを教
yuuji@74 245 えてもらってない人がいるようなので書いてみました。
yuuji@74 246
yuuji@74 247 結局のところほとんど [prefix] tj のタイプセットのみで用件は終わ
yuuji@74 248 ります。また、もしbibtexなど、他の関連コマンドを繰り返し利用する
yuuji@74 249 ような場合は、前項で紹介した latexmk コマンドを利用するというの
yuuji@74 250 がスマートな解決策です。結局のところ、ほとんど [prefix] tj と打っ
yuuji@74 251 て仕事を進めることになります。
yuuji@74 252
yuuji@74 253 ・fillがうまく行かないなあ
yuuji@74 254
yuuji@74 255 デフォルトのインデンテーション(TABを押すと移動するカラム)と違う
yuuji@74 256 パラグラフをfillしようとするとうまく行きません。auto-fill をONに
yuuji@74 257 して文章を入力していればこの問題は起きないはずです。もし、他のと
yuuji@74 258 ころからコピーした段落で、デフォルトのインデンテーションと違う段
yuuji@74 259 落ができてしまった場合は、
yuuji@74 260
yuuji@74 261 (1)行頭で C-x . (fill-prefixをキャンセルする)
yuuji@74 262 (2)インデンテーションを揃えたい範囲をマークする
yuuji@74 263 (3)M-C-\ する。
yuuji@74 264
yuuji@74 265 という操作でデフォルトのインデンテーションに揃えることができます。
yuuji@74 266 もし、デフォルトとは違う深さでfillしたい場合は、行の最初の非空白
yuuji@74 267 文字にカーソルを合わせて M-q してください。
yuuji@74 268
yuuji@74 269 ・<a href="...">の途中で auto-fill されちゃうと悲しい
yuuji@74 270
yuuji@74 271 使っているのがMule2(Emacs-19)以降なら auto-fill-inhibit-regexp
yuuji@74 272 という変数でコントロールできます。 yatex-mode-hook を使って以下
yuuji@74 273 のように設定しましょう。
yuuji@74 274
yuuji@74 275 (add-hook 'yahtml-mode-hook
yuuji@74 276 '(lambda ()
yuuji@74 277 (setq auto-fill-inhibit-regexp
yuuji@74 278 "^[ ]*\\(<a href\\|<img src=\\)")))
yuuji@74 279
yuuji@74 280 ・Win95/WinNTでタイプセッタなど外部プロセスが呼べない
yuuji@74 281
yuuji@74 282 shellを変更していないならとりあえず、
yuuji@74 283 (setq shell-command-option "\\/c")
yuuji@74 284 を .emacs に入れてみましょう。
yuuji@74 285
yuuji@74 286 UNIX系のshell(sh, bash, tcsh, zsh等)を使っている場合は、
yuuji@74 287 (setq shell-command-option "-c")
yuuji@74 288 を .emacs に入れてみましょう。
yuuji@74 289
yuuji@74 290
yuuji@74 291 ■Mule2 関連
yuuji@74 292 ・Mule2+hilit19を使っている時に数式が暗くて良く読めない。
yuuji@74 293
yuuji@74 294 hilit19.el のデフォルトのカラーリングが暗すぎるせいです。
yuuji@74 295 以下のコードを ~/.emacs や yatexhks.el などに入れてください。
yuuji@74 296 (if (and (featurep 'hilit19) (eq hilit-background-mode 'dark))
yuuji@74 297 (hilit-translate
yuuji@74 298 string 'mediumspringgreen
yuuji@74 299 formula 'khaki
yuuji@74 300 label 'yellow-underlined))
yuuji@74 301
yuuji@74 302 ・font-lock はどうやって使えばいいんでしょ?
yuuji@74 303
yuuji@74 304 1.69以降では、XEmacs-21, Emacs-21, Emacs-20 において利用できます。
yuuji@74 305 野鳥起動前に (require 'font-lock) しておいてください。
yuuji@74 306 ただし、font-lock のドキュメントをみると「パターンは一行内で指定し
yuuji@74 307 てね」とあるので本来行とは無関係な論理的構造範囲で色付を行なうため
yuuji@74 308 には設計されていません。これを回避するため、野鳥では仕様外のパター
yuuji@74 309 ン指定を行ない論理構造範囲での色付をさせています。したがって、将来
yuuji@74 310 font-lock が仕様を変えたら簡単に色付がうまく行かなくなる可能性を大
yuuji@74 311 いに持っています。hilit19からの乗り換えを考えている場合は、いつで
yuuji@74 312 も元に戻れるようにしておいた方がよいかもしれません。
yuuji@74 313
yuuji@74 314 ・XEmacsでも色は着きますか?
yuuji@74 315
yuuji@74 316 font-lock を利用して下さい。野鳥起動前にあらかじめ font-lock をロー
yuuji@74 317 ドしておきます。
yuuji@74 318 以前、野鳥が font-lock 未対応だった時代に入れた
yuuji@74 319
yuuji@74 320 (put 'yatex-mode 'font-lock-defaults 'tex-mode)
yuuji@74 321
yuuji@74 322 という記述は **削除** してください。野鳥独自の色づけ規則により、ユー
yuuji@74 323 ザー辞書に登録してあるマクロや、section型マクロの引数を数えて光ら
yuuji@74 324 せるなどの特長があります。
yuuji@74 325
yuuji@74 326 ・Meadowでも font-lock な色は着きますか?
yuuji@74 327
yuuji@74 328 つくことはつくんですが、2000年現在の公式版Meadow-1.10はでは
yuuji@74 329 光りそうなLaTeXマクロを手で入力すると光る範囲の検出がおかしくなっ
yuuji@74 330 てエラーが発生することがあります。新しい Meadow では本家Emacsと
yuuji@74 331 同様普通に動くであろうことを期待して、この件に関しては対処しませ
yuuji@74 332 ん。光らないだけで実害はないので、気にしないか、あるいは次の
yuuji@74 333 Meadow が登場するまで hilit19 を利用して下さい。
yuuji@74 334
yuuji@74 335 ・メニューバーの YaTeX をクリックした時にハングしたかと思うほど遅い。
yuuji@74 336
yuuji@74 337 わかりません、Emacs のせいです。我慢してください。二回目からは遅
yuuji@74 338 くありません。ふつ〜メニューなんか使わないでしょ? サルのようにメ
yuuji@74 339 ニューバーを使う友達に野鳥を勧めてはいけません。言いすぎでした、
yuuji@74 340 ごめんなさいごめんなさい。
yuuji@74 341
yuuji@74 342 ・\it をイタリック表示できませんか?(Mule2)
yuuji@74 343
yuuji@74 344 まず、普段使用しているサイズの斜体フォントを探します。
yuuji@74 345 *scratch* バッファで、
yuuji@74 346 (set-face-font 'italic "-*-*-medium-i-*--*-*-*-*-*-*-*-*")
yuuji@74 347 と打ち C-j してみる(かなり時間がかかる!!)。No matches found なら
yuuji@74 348 (set-face-font 'italic "-*-*-medium-o-*--*-*-*-*-*-*-*-*")
yuuji@74 349 を試します。
yuuji@74 350 どちらでもマッチするものがなかったらあきらめましょう。(;_;)/~
yuuji@74 351 大抵何かフォント名が出て来るはずです。例えば、16dotフォントを
yuuji@74 352 使っている場合であれば、
yuuji@74 353 "-schumacher-clean-medium-i-normal--8-80-75-75-c-80-iso8859-1"
yuuji@74 354 が、14dotフォントを使っている場合なら、
yuuji@74 355 "-adobe-courier-medium-i-normal--12-120-75-75-m-0-iso8859-1"
yuuji@74 356 などが返って来るので、これを用いて
yuuji@74 357 (set-face-font 'italic
yuuji@74 358 "-schumacher-clean-medium-i-normal--8-80-75-75-c-80-iso8859-1")
yuuji@74 359 あるいは
yuuji@74 360 (set-face-font 'italic
yuuji@74 361 "-adobe-courier-medium-i-normal--12-120-75-75-m-0-iso8859-1")
yuuji@74 362 のような記述を yatexhks.el などに入れます。
yuuji@74 363
yuuji@74 364 以上で \it, \em, \sl の中身が斜体表示されるはずです。ただし、16
yuuji@74 365 ドットフォントの場合、pixelサイズが16のものがない可能性が高いの
yuuji@74 366 で、幅はあっていても周りの16ドットフォントよりずいぶん小さいもの
yuuji@74 367 が表示される場合がほとんどです。14ドットフォントを用いている場合
yuuji@74 368 はかなりましです。
yuuji@74 369
yuuji@74 370 ■カスタマイズ関連
yuuji@74 371 ・C-c b i とかは滅多に使わないので C-c b だけで補完入力になって欲しい。
yuuji@74 372
yuuji@74 373 ~/.emacs などで (setq YaTeX-no-begend-shortcut t) として下さい。
yuuji@74 374
yuuji@74 375 ・開き括弧を入れると勝手に閉じられちゃうのが調子悪い。
yuuji@74 376
yuuji@74 377 しばらく使うとこちらの方が便利だと感じると思います。もしそれでも
yuuji@74 378 肌に合わない時は、C-c w m で常に修正モードをONにして使って下さい。
yuuji@74 379 変数 YaTeX-close-paren-always の値を nil にセットすると起動時か
yuuji@74 380 ら括弧の自動クローズをOFFにします。
yuuji@74 381
yuuji@74 382 ・; を押すと変なのがでて来たりする。
yuuji@74 383
yuuji@74 384 カーソル位置が数式環境であると判定されて、数式環境用イメージ補完
yuuji@74 385 が起動しています。もしTeXでエラーが出ない数式を組んでいるにもか
yuuji@74 386 かわらず野鳥の ; が数式環境判定を誤るようなら、作者まで御連絡下
yuuji@74 387 さい。なお、誤判定が起きた場合、; 自身を入力するには ; を二回押
yuuji@74 388 し、; をイメージ補完prefixとして動作させるには C-u ; と押します。
yuuji@74 389
yuuji@74 390 ・newenvironmentした環境のオプション引数を入力させたい。
yuuji@74 391
yuuji@74 392 yatexadd.doc を参照してください。それでも今一つピンと来ない時は
yuuji@74 393 yatexgen.doc を参照し、M-x YaTeX-generate などを利用してください。
yuuji@74 394
yuuji@74 395 ・\foo を最初3個の引数をとるマクロとして定義し、あとで4個に変えたのに、
yuuji@74 396 section型補完は \foo の補完時に3個までしか引数を聞いてくれない。
yuuji@74 397
yuuji@74 398 C-u 4 C-c s と4個の引数であると言う情報を与えてください。引数の
yuuji@74 399 個数情報はいつでも変更可能です。
yuuji@74 400
yuuji@74 401 ・アドイン関数(引数型)を作ったのに2個目以降の引数の補完関数が呼ばれない。
yuuji@74 402
yuuji@74 403 \foo{x}{y}{z}のような3個の引数をとるコマンドの引数型アドイン関数
yuuji@74 404 を作ったとすると、一度 C-u 3 C-c s foo として \foo の引数が3個で
yuuji@74 405 あることを辞書に学習させる必要があります。
yuuji@74 406
yuuji@74 407 ・自作のアドイン関数がyatexaddに上書きされてしまう。
yuuji@74 408
yuuji@74 409 以前は個人のアドイン関数を個人のyatexadd.elに入れることにしてい
yuuji@74 410 ましたが、現在は個人のアドイン関数はyatexhks.elに入れることを前
yuuji@74 411 提としています。yatexhks.elは野鳥初期化の最後に読み込まれるため、
yuuji@74 412 標準のyatexadd.elの定義などを上書きすることができます。
yuuji@74 413
yuuji@74 414 ・newenvironmentしたmylist環境でおまかせ改行を使いたい。
yuuji@74 415
yuuji@74 416 infoマニュアルのおまかせ改行のところを見て下さい。基本的には
yuuji@74 417 YaTeX-intelligent-newline-mylist という名前の関数を定義すればOK
yuuji@74 418 です。ただ例えば、\item だけを挿入したい、つまりitemize環境のお
yuuji@74 419 まかせ改行と全く同じで良いというのなら、
yuuji@74 420
yuuji@74 421 (fset 'YaTeX-intelligent-newline-mylist
yuuji@74 422 'YaTeX-intelligent-newline-itemize)
yuuji@74 423
yuuji@74 424 と書くと効率的です。
yuuji@74 425
yuuji@74 426 ・数式モードでskkを自動offにするには?
yuuji@74 427
yuuji@74 428 canna や wnn では、$や数式環境を補完入力した時に日本語入力モード
yuuji@74 429 がoffになります。skkでも同様の機能を生かしたい時には、
yuuji@74 430
yuuji@74 431 (setq skk-mode-hook
yuuji@74 432 '(lambda ()
yuuji@74 433 (if (eq major-mode 'yatex-mode)
yuuji@74 434 (define-key skk-map "$" 'YaTeX-insert-dollar)
yuuji@74 435 (define-key skk-map "$" 'skk-self-insert))
yuuji@74 436 (define-key skk-map "\C-x$"
yuuji@74 437 'skk-display-code-for-char-at-point)))
yuuji@74 438
yuuji@74 439 を .emacs などに入れておいて下さい。
yuuji@74 440
yuuji@74 441 ・{\it }内部では斜体に {\bf }では太字になるという噂を聞いたんですが…
yuuji@74 442
yuuji@74 443 GNU Emacs20 (on X)では簡単に設定できます。
yuuji@74 444 (おそらくXEmacsでも有効)
yuuji@74 445
yuuji@74 446 Xのデフォルトだと16ドットを使っている人が多いのですが、何故か英
yuuji@74 447 字フォントは16ドットが充実していず、ちゃんとした斜体字フォントが
yuuji@74 448 ありません。ということでそのままでは快適なフォント生活が送れませ
yuuji@74 449 ん。幸い Mule の総本山である電総研でこれらのフォントを用意してく
yuuji@74 450 れているので、これを利用しましょう。一番楽なのは16ドットの外国語
yuuji@74 451 フォントをインストールする手でしょうから、これについて説明します。
yuuji@74 452
yuuji@74 453 まず、ftp.etl.go.jp の /pub/mule 以下にある intlfonts-<VERSION>
yuuji@74 454 というファイルを探します。これが各国語のフォントです。
yuuji@74 455 intlfonts-<VERSION>split/ というディレクトリがあり、ここにはフォ
yuuji@74 456 ントサイズによってファイルをまとめたアーカイブが置いてあるので、
yuuji@74 457 例えば 16dots.tar.gz をGETします。そして以下のようにインストール
yuuji@74 458 します。
yuuji@74 459 % tar zxpf 16dots.tar.gz
yuuji@74 460 % cd intlfonts-<VERSION>
yuuji@74 461 % ./configure --prefix=/usr/local/emacs \
yuuji@74 462 --enable-compress=gzip --with-bdf=no
yuuji@74 463 # make install
yuuji@74 464 % xset fp+ /usr/local/emacs/share/emacs/fonts
yuuji@74 465
yuuji@74 466 configureに渡すインストールPATHのprefixなどのオプションは環境に
yuuji@74 467 合わせ適宜変更して下さい。続いて、Xのリソース定義ファイル
yuuji@74 468 (.Xdefautsまたは.Xresources)に、
yuuji@74 469
yuuji@74 470 Emacs.Fontset-0: -*-fixed-medium-r-normal--16-*-*-*-*-*-fontset-normal
yuuji@74 471 Emacs.Fontset-1: -*-fixed-bold-r-normal--16-*-*-*-*-*-fontset-normal
yuuji@74 472 Emacs.Fontset-2: -*-fixed-medium-i-normal--16-*-*-*-*-*-fontset-normal
yuuji@74 473 Emacs.Fontset-3: -*-fixed-bold-i-normal--16-*-*-*-*-*-fontset-normal
yuuji@74 474 Emacs.Font: fontset-normal
yuuji@74 475
yuuji@74 476 と書きましょう。これで、Emacs20で斜体、太字が使えるようになりま
yuuji@74 477 す。もし、これらのフォントが利用できるようなら野鳥はこれを自動検
yuuji@74 478 出し \it, \bf の内部のフォントとします。ただし、これは英字のみで
yuuji@74 479 す。
yuuji@74 480
yuuji@74 481 ・では{\it }とか{\bf }で漢字の見栄えを変えるのは無理なんですか?
yuuji@74 482
yuuji@74 483 可能です(Emacs20 & Emacs21 on X)。
yuuji@74 484
yuuji@74 485 日本語の場合は intlfonts だけでなく、X-TTなどのTrueTypeフォント
yuuji@74 486 ドライバが必要になります。XFree86 4.0 以降の場合はおそらくそのま
yuuji@74 487 ま利用できていることでしょう。XF86 3 の場合は
yuuji@74 488 http://X-TT.dsl.gr.jp/index-ja.html などを参照して X-TT をインス
yuuji@74 489 トールしましょう。フリーの日本語フォント、渡辺フォント(明朝)、和
yuuji@74 490 田研フォント(ゴシック)をTrueType形式に変換したものがあるので、こ
yuuji@74 491 れらもインストールします。リコーやDynaLabなどの商用フォントを購
yuuji@74 492 入しても利用できます。ここではその手順は省略し、既にX上で
yuuji@74 493 TrueType フォントが利用できる環境が整っていると仮定します。Xのリ
yuuji@74 494 ソース定義ファイルを以下のように修正します。
yuuji@74 495
yuuji@74 496 Emacs.Fontset-0: -*-fixed-medium-r-normal--16-*-*-*-*-*-fontset-tt,\
yuuji@74 497 japanese-jisx0208:-*-fixed-medium-r-normal-*-16-*-jisx0208*
yuuji@74 498 Emacs.Fontset-1: -*-fixed-bold-r-normal--16-*-*-*-*-*-fontset-tt,\
yuuji@74 499 japanese-jisx0208:-wadalab-*-bold-r-normal-*-0-*-jisx0208*
yuuji@74 500 Emacs.Fontset-2: -*-fixed-medium-i-normal--16-*-*-*-*-*-fontset-tt,\
yuuji@74 501 japanese-jisx0208:-watanabe-*-medium-o-normal-*-0-*-jisx0208*
yuuji@74 502 Emacs.Fontset-3: -*-fixed-bold-i-normal--16-*-*-*-*-*-fontset-tt,\
yuuji@74 503 japanese-jisx0208:-wadalab-*-bold-i-normal-*-0-*-jisx0208*
yuuji@74 504 Emacs.Font: fontset-tt
yuuji@74 505
yuuji@74 506 これにより、やはり野鳥が自動的に和文 italic, bold フォントを検索
yuuji@74 507 し、
yuuji@74 508
yuuji@74 509 Windowsではもっとフォント環境が充実しているのでより簡単に設定で
yuuji@74 510 きるのではないかと思いますが、私はそのやり方を知りません。ご存知
yuuji@74 511 の方がいらしたら教えて頂ければ幸いです。
yuuji@74 512
yuuji@74 513 ■その他
yuuji@74 514 ・AUCほげほげを使ってる友達を改宗させたいのですが…。
yuuji@74 515
yuuji@74 516 まあええやん、ちょっとぐらい不便でも人間なんとか我慢できます。
yuuji@74 517 なにそれでも改宗させたいとな。嬉しいことをおっしゃる。
yuuji@74 518 じゃあ、次のようなデモを見せましょう。
yuuji@74 519 (あらかじめ ~/.emacs で (setq YaTeX-create-file-prefix-g t)
yuuji@74 520 しておいて下さい)
yuuji@74 521 * \begin{itemize}
yuuji@74 522 \item ほげほげ
yuuji@74 523 \end{itemize}
yuuji@74 524 という環境を作っておいて、
yuuji@74 525 「う〜ん、やっぱenumerateがいいな、うりゃ」といって
yuuji@74 526 カーソルを\beginか\endに合わせて [prefix] c で enumerate に変
yuuji@74 527 更します。続いて、
yuuji@74 528 「やっぱりここはセンタリングでしょ、おりゃ」といって
yuuji@74 529 環境全体をマーク(ESC C-@)して [prefix] B(大文字) してcenter環
yuuji@74 530 境に括り入れます。
yuuji@74 531 「じゃあpreviewしてみよっか、でもこの部分だけでいいやね」と
yuuji@74 532 いってもっぺんcenter環境全体をマーク(ESC C-@)して
yuuji@74 533 [prefix] % b してcenter環境を %#BEGIN〜%#ENDで括ってから
yuuji@74 534 領域タイプセットします。[prefix] t r。
yuuji@74 535 「さてpreviewじゃ」
yuuji@74 536 といいつつ [prefix] t p します。
yuuji@74 537 「ほほう、よし、表を書こう」と言って、
yuuji@74 538 enumerate環境の後ろにtabular環境を作ります。
yuuji@74 539 「まあ3列くらいかな」といいつつデフォルトの質問には全てリター
yuuji@74 540 ンだけで答えます。すると & & \\ が勝手に挿入されるので適当に埋
yuuji@74 541 めます。
yuuji@74 542 「はい、次の行」
yuuji@74 543 と言いながら ESC RET します。また適当に埋めて
yuuji@74 544 領域タイプセットして xdvi をraiseします。muleに戻りcenter環境
yuuji@74 545 の外に『この表は重要ネ〜』と書きます。
yuuji@74 546 「うむ、『重要』にはアンダーラインを引こう」
yuuji@74 547 といって『重要』をリジョン指定して [prefix] S(大文字) で
yuuji@74 548 underline を補完入力し、またpreviewします。
yuuji@74 549 「やっぱアンダーラインはやめ」と言いながら
yuuji@74 550 \underline または { か } にカーソルを合わせて [prefix] k して
yuuji@74 551 \underline{} を消します。またpreviewして、
yuuji@74 552 「やっぱセンタリングは要らんかもしれんなあ…」と言いつつ
yuuji@74 553 \end{center} にカーソルを合わせて [prefix] . を押します。
yuuji@74 554 すると \begin{center}, \end{center} に % がつくのでまた
yuuji@74 555 previewします。
yuuji@74 556 「うむ、やっぱりセンタリングはぽいっ」と言って
yuuji@74 557 \end{center}の行で [prefix] k をおして begin/end 対を消します。
yuuji@74 558 「さて、ファイルがでかくなって来たので分割するか」と言って
yuuji@74 559 \include{foo} などを補完入力します。
yuuji@74 560 「じゃあ foo.tex を作らなきゃ…」と言って [prefix] g します。
yuuji@74 561 foo.tex が勝手に作られるので適当にごちゃごちゃ書いて
yuuji@74 562 [prefix] t j でタイプセットします。
yuuji@74 563 「ほ〜ら、foo.tex の親ファイルがさっきのファイルだって分かって
yuuji@74 564 るでしょ?」と説明します。[prefix] ^ で親ファイルに戻ります。
yuuji@74 565 「あ〜れ、おれこのソースをいくつに分割してたんだっけ?」
yuuji@74 566 とすっとぼけながら [prefix] d でincludeツリーを表示させて
yuuji@74 567 n や p でごちゃごちゃやります。
yuuji@74 568
yuuji@74 569 こんな感じですかね。
yuuji@74 570 あとは、イメージ補完、数式モード自動判定なんてのもAUCにはありま
yuuji@74 571 せん。
yuuji@74 572
yuuji@74 573 ・なんで構成ファイルがいまさらSJISなの? だっせー。
yuuji@74 574
yuuji@74 575 このファイルがSJISで書かれているということが分かるあなたは、野鳥
yuuji@74 576 の構成ファイルがJISだろうがEUCだろうが対処できるはずです。しかし
yuuji@74 577 SJISで生活している人には分かりません。Meadowや Mule for win32 な
yuuji@74 578 らEUCでも読めるんじゃないの? と感じるかもしれませんが、Meadow な
yuuji@74 579 どを使いはじめた人の中からは、「pLaTeX+野鳥が便利そうだ」という
yuuji@74 580 ことがきっかけになっているという嬉しい報告も聞きます。そういう人
yuuji@74 581 にとってEUCやJISは得体の知れない手間のかかる面倒なファイルでしか
yuuji@74 582 ありません。彼らがTeXやEmacsなどの素晴らしい世界に触れる目前で遠
yuuji@74 583 慮してしまう可能性を考えると、やはり野鳥はSJISであり続けるべきだ
yuuji@74 584 と思います。
yuuji@74 585
yuuji@74 586 Emacs20の一部のバージョンで、文字列に漢字を含むEmacs-Lispファイ
yuuji@74 587 ルをバイトコンパイルすると化けてしまうものがあるのは知っています
yuuji@74 588 が、それはEmacs20の非です。しかしそれはいずれ直されるであろうバ
yuuji@74 589 グであり、Emacs20を使いこなしているヴェテランのちょっとした手間
yuuji@74 590 を軽減するためにJISコードなどに変更して、Emacs初心者に対する益を
yuuji@74 591 失いたくありません。
yuuji@74 592
yuuji@74 593 そういうわけで、野鳥ではダサくても嫌いでも、SJISを使います。
yuuji@74 594
yuuji@74 595 ・メイリングリストはないんですか?
yuuji@74 596
yuuji@74 597 っていう質問項目があるくらいだからあります。「野鳥」およびそのVz
yuuji@74 598 への移植版「雷鳥」(by KATSURAGAWA, Naoki)、Wzへの移植版「白鳥」
yuuji@74 599 (by TAKENAKA, Hiroshi)、Hidemaruへの移植板「飛鳥」(by YASUDA
yuuji@74 600 Haruyuki)、xyzzyへの移植版「花鳥」(by MAEDA Manabu) に関する情報
yuuji@74 601 交換のためのメイリングリスト「fj野鳥の会」がそれです。
yuuji@74 602
yuuji@74 603 To: yatex@yatex.org
yuuji@74 604 Subject: subscribe
yuuji@74 605 -----
yuuji@74 606 たぐでーし。
yuuji@74 607 明けましておめでとうございまーす。
yuuji@74 608
yuuji@74 609 のようにメイルを送れば加入できます。手続きは全て自動で行われ、登
yuuji@74 610 録が完了すると確認とともに、参加/休止/脱会等の制御コマンドの利用
yuuji@74 611 方法が返送されます。是非参加して一緒に野鳥/雷鳥/白鳥/飛鳥を育て
yuuji@74 612 てください。
yuuji@74 613
yuuji@74 614 ・野鳥の最新情報は?
yuuji@74 615
yuuji@74 616 もしあなたが、WWWにアクセスできるなら、
yuuji@74 617 http://www.yatex.org/
yuuji@74 618 を覗いてみて下さい。このなかの、「yatex-current」というリンクを
yuuji@74 619 たどると最新版の野鳥を入手することができます。ただし、正式リリー
yuuji@74 620 ス版ではなく、作者がデバッグ中だったりして正常に動作しない可能性
yuuji@74 621 があるので、current版の利用はとくに「デバッグに協力する」という
yuuji@74 622 心構えでの利用をお願いします。
yuuji@74 623
yuuji@74 624 ・とにかくわかりませーん!
yuuji@74 625
yuuji@74 626 まず質問の前に yatex-current(上述) を試してみて下さい。既に直面
yuuji@74 627 した問題が解決されているかもしれません。それでもだめなら質問しま
yuuji@74 628 しょう。
yuuji@74 629 回答を得るまでの早い順に
yuuji@74 630
yuuji@74 631 ・近くにいる詳しい人に聞く
yuuji@74 632 ・メイリングリストに質問を出す
yuuji@74 633
yuuji@74 634 でしょうか。お好きな方法でどうぞ。
yuuji@74 635
yuuji@74 636 ・このファイルを C-u C-x $ してQを眺めて項目選んで C-x $ しても変な所にいく。
yuuji@74 637
yuuji@74 638 ↑なっちゃいますよね? とりあえずQuestionのところで mark しておい
yuuji@74 639 て C-x $ したあと C-x C-x してますが(mule2だとこんな苦労しなくて
yuuji@74 640 済むようです)。
yuuji@74 641
yuuji@74 642 Local Variables:
yuuji@74 643 mode: indented-text
yuuji@74 644 fill-column: 72
yuuji@74 645 fill-prefix: " "
yuuji@74 646 buffer-file-coding-system: shift_jis-dos
yuuji@74 647 End: