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