yatex

view docs/qanda @ 183:1c41dc8a28eb

doc fix
author yuuji@gentei.org
date Thu, 13 Oct 2011 10:16:58 +0900
parents 39548ee6e881
children 04ee01ddb7ab
line source
1 %%
2 %% Q and A on YaTeX
3 %%
4 %% C-u C-x $ とすると質問項目だけ表示されます。C-x $ で元に戻ります。
5 %%
7 (新項目:・RefTeXは使えますか?
8 ・自分で定義したカウンタを\ref補完でのラベル候補対象として認識させたい
9 ・font-lock はどうやって使えばいいんでしょ?
10 ・XEmacsでも色は着きますか?
11 ・{\it }内部では斜体に {\bf }では太字になるという噂を聞いたんですが…)
13 ■インストール関連
14 ・マニュアルのインストール
16 Emacsのインストールされている場所の info ディレクトリにyatexj ファ
17 イルをコピーし、同じディレクトリにある dir というファイルに次の
18 行を足します。
20 * YaTeX: (yatexj). Yet Another tex-mode for Emacs. (Japanese).
22 (あとは M-x info として m yatex で野鳥のマニュアルを選択して読み
23 ます。?を押すと info の使い方が出て来ます。)
25 ・Meadowつこてるんすが make って叩いても何も起きないです〜
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 の設定を書く。
37 ・まだしたっぱなので Info ディレクトリに書き込む権利がないっすう…
39 rootにしてもらいましょう。それがだめなときは Mule2 をインストー
40 ルしてもらいましょう。してくれない時は、ホームディレクトリにイン
41 ストールして、ほーらディスクの無駄遣いだよ〜んといって脅せば入れ
42 てくれるはずです。Mule2 なら、~/.emacs に
44 (setq Info-default-directory-list
45 (cons "自分のInfoディレクトリ"
46 Info-default-directory-list))
48 と書くことで、info を起動した時に個人用のファイルもメニューに加
49 わります。それでもMule2をなかなか入れてくれない時は、新しいinfo
50 ファイルを拾って来るたびに管理者に「入れてくださーい。あ、すみま
51 せーん毎度。でもMule2なら自分のディレクトリを追加できるんですけ
52 どねぇ…」を繰り返しましょう。
54 ・LaTeXのヘルプファイルがないといわれる。
56 Nemacs, Mule1 では $EMACS/etc/, Mule2 では $EMACS/site-lisp/ に
57 置かれているとみなすようになっています。もし公共の場所に置く権限
58 がない時は、ホームディレクトリの下のどこかに置いて、変数
59 YaTeX-help-file にそのファイル名を設定して下さい。
61 ・Nemacsで info が読めない。
63 Muleでformatしているので、内部日本語処理の異なるNemacs(または
64 NemacsベースのDemacs)では(バイト数がずれるため)正しく読むことが
65 できません。Muleで御覧ください。なお、Texinfoファイルのフォーマッ
66 トには texinfo-3.1.tar.gz にある Emacs-Lisp ファイルを用いてくだ
67 さい。
69 また、九州大学の井上さんによると、Info の dir 画面で,M-x
70 Info-tagify とやると info ファイルのコンバートができるそうです。
72 ■操作関連
73 ・間違って変なLaTeXコマンドを学習させてしまった。
75 ホームディレクトリ、またはカレントディレクトリにできている
76 .yatexrc に間違って学習したコマンドを含む行があるはずですから、
77 その行を削除、あるいは正しいコマンドに書き直してから C-x C-s で
78 .yatexrc をセーブし、C-x k でクローズします。元のLaTeX編集バッファ
79 に戻ったことを確認してから M-x YaTeX-reload-dictionary とする
80 と、書き換えた .yatexrc が現在のバッファに反映されます。
82 ・リジョンを指定してコメントアウトしようとしたのにうまくいかない。
84 おそらくカーソルが \begin{}, \end{} の行に乗っているのだと思いま
85 す。一行上か下によけて C-c > してください。
87 ・タイプセットの時に親ファイルを聞かれて、その時に間違えてしまった。
89 C-x C-v RET でもう一度子ファイルを読み直すか、
90 C-u C-c ^ で親ファイルをもう一度入力してください。
92 ・Demacsでタイプセットエラーがでた時にtypesetバッファがうまく表示されない。
94 Demacs 1.2.0 で子プロセスが1以上の errorlevel を返した場合、この
95 ような症状が起きる事があります。jlatex をバッチファイルから呼ぶ
96 ようにし、その末尾で必ず errorlevel 0 を返すダミーのコマンドを呼
97 ぶようにします。
99 ・「\underline{\makebox[4em][l]{x y}{\tt z}}」 などを手軽に入力したい。
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
113 ・「\footnote{ほげほげ}」と書いたけど\footnote{}を取り払いたい。
115 \footnote の部分にカーソルを合わせて C-c k としてください。
116 \footnote{} の部分だけ選んで消去します。
117 全部いらない場合は C-u C-c k とします。
119 ・「ほにゃらら」の部分を\footnoteにしたい。
121 「ほにゃらら」の部分をマークして C-c S footnote RET などとします。
122 (Sは大文字)
124 ・いまある verbatim 環境を verbatim* 環境にしたい。
126 \begin{verbatim} か \end{verbatim} の行で、C-c c します。
128 ・指定領域を \verb で囲みたい。
130 残念ながら \verb は maketitle 型なので該当する機能はありません。
131 ただ C-c $ が領域を $ で括る事を利用して次のようにできます。
132 . .
133 ここからここまでを \verb にする
134 \verbここからここまでを \verb にする (\verbを入れる)
135 ↑(C-@) (「こ」の位置でマーク)
136 \verbここからここまでを \verb にする ($でくくる)
137 ↑C-c $
138 \verb$ここからここまで$を \verb にする (完成)
140 ・子ファイルを編集していて typeset-region をやる時に子ファイルの上の方で
141 定義してあるコマンドも読んで欲しい。
143 章毎に複数メンバーでファイルを編集する時に子ファイルだけで通用す
144 るマクロを子ファイルの上の方で定義している場合には、typeset
145 region をする時にそれらの行も必要になって来ます。こういう場合は、
146 子ファイルのマクロ定義の行の末尾に %#REQUIRE をつけることで臨時
147 タイプセットファイルの先頭にその行がコピーされます。
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 +-----------------+
162 このような場合 sub.tex の \include{macros} の行を以下のように変
163 えます。
164 \include{macros} %#REQUIRE
166 さらに subsub.tex のどこかに以下のような行を加えます。
168 %#REQUIRE \include{macros}
170 %#REQUIRE が行頭にある時はそれより後ろの部分が臨時ファイルにコピー
171 されます。これにより、全体をタイプセットする時、または sub.tex,
172 subsub.tex いずれかを typeset-region する時どちらにおいてもかな
173 らず一度だけ macros.tex がインクルードされることになります。
175 ・直前に入れた \foo{引数だよ} の「引数だよ」をもう一回使いたい。
177 gmhist というパッケージを導入しましょう。野鳥は gmhist に対応し
178 ています。ミニバッファで \foo{???}: と聞かれた時に M-p (ESC p)を
179 押すと今まで入力した文字の履歴を逆方向にたどって表示します。M-n
180 と押すと順方向にたどります。これらの入力履歴は begin 型補完、
181 section 型補完、プレヴューア起動、プリントアウトコマンド起動それ
182 ぞれに対し独立に設定されます。
184 gmhist は多くの Emacs-Lisp アーカイブサイトに置いてあります。
185 ftp.ae.keio.ac.jp:pub/emacs-lisp/util/gmhist.tar.gz
186 にもあります。
188 ただし、Mule2 以降を用いている場合は、gmhistを用いなくてもミニバッ
189 ファでのヒストリが使えます。
191 ・ref←→label間ジャンプで存在するはずのref/labelにジャンプしない。
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 にも使えます。
201 ・fill-paragraph や auto-fill で行末に%が付いちゃう。
203 TeX version 2 ベースのNTT-jTeXでは日本語のパラグラフの各行頭をイ
204 ンデントして書くとその分スペースが余計に入った印刷イメージになっ
205 てしまいます。それを回避するために行末に % を付ける必要がありま
206 す。野鳥ではインデントされたテキストをNTT版でも入力できるように
207 「行末%」の面倒をみています。でもバグってる可能性ありありなので、
208 行末以外に % が出るなどの現象を発見したらご連絡ください。
210 ・itemize環境の中のitemizeのインデントが深すぎやしませんか?
212 でしょ? 某K君があのほうがいいって言って、TABを打っては一人酔いし
213 れているのでので、そうしたんですが、私は気に入りません(←まだ根
214 に持ってる)。「深すぎる!」という方は、内側の\begin{itemize} の行
215 末でTABを打ってください。なぬ、今度は浅すぎる? さてトイレ行こ。
217 ・いつも雛型として使っている template.tex を簡単に入れたい
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 で入手できます。
224 ・bibtexとlatexとかを交互にかけるのが面倒なんですけど
226 latexmk というスグレもののツールがあります。これは、.tex,
227 .bib, .idx などのファイル間の依存関係をドキュメントを走査して調
228 べ、自動的に bibtex, makeindex, jlatex などを必要な順序で必要な
229 回数起動してくれます。これをインストールし、各ドキュメントの先頭
230
231 %#!latexmk
233 などと書いてタイプセッタとして latexmk を指定すれば複雑な依存関
234 係に悩んだ日々とはおさらばです。なお、latexmk は CTAN サイトの
235 support/latexmk/ ディレクトリに置いてあります。
236 (例えば ftp.kdd.lab.kdd.co.jp:/CTAN/)
238 ・タイプセットとプレヴューでキーが違うのが面倒ですね?
240 そういうことを感じるということは、もしかして、プレヴューアを起動
241 して確認したのちに、いちいちプレヴューアを終了させたりしてますか?
242 UNIXでもWindowsでもそんなことは普通しなくていいんです。一度起動
243 したプレヴューアは常駐させておけば、表でLaTeXソースをタイプセッ
244 トすれば、次回プレビューアの窓を選択したときに勝手にリロードして
245 くれます。プレビューアを毎回終了させるとフォントのロードなどオー
246 バーヘッドが大きいので、是非常駐させましょう。意外にそのことを教
247 えてもらってない人がいるようなので書いてみました。
249 結局のところほとんど [prefix] tj のタイプセットのみで用件は終わ
250 ります。また、もしbibtexなど、他の関連コマンドを繰り返し利用する
251 ような場合は、前項で紹介した latexmk コマンドを利用するというの
252 がスマートな解決策です。結局のところ、ほとんど [prefix] tj と打っ
253 て仕事を進めることになります。
255 ・fillがうまく行かないなあ
257 デフォルトのインデンテーション(TABを押すと移動するカラム)と違う
258 パラグラフをfillしようとするとうまく行きません。auto-fill をONに
259 して文章を入力していればこの問題は起きないはずです。もし、他のと
260 ころからコピーした段落で、デフォルトのインデンテーションと違う段
261 落ができてしまった場合は、
263 (1)行頭で C-x . (fill-prefixをキャンセルする)
264 (2)インデンテーションを揃えたい範囲をマークする
265 (3)M-C-\ する。
267 という操作でデフォルトのインデンテーションに揃えることができます。
268 もし、デフォルトとは違う深さでfillしたい場合は、行の最初の非空白
269 文字にカーソルを合わせて M-q してください。
271 ・Win95/WinNTでタイプセッタなど外部プロセスが呼べない
273 shellを変更していないならとりあえず、
274 (setq shell-command-option "\\/c")
275 を .emacs に入れてみましょう。
277 UNIX系のshell(sh, bash, tcsh, zsh等)を使っている場合は、
278 (setq shell-command-option "-c")
279 を .emacs に入れてみましょう。
282 ・RefTeXは使えますか?
284 使っている人はいるみたいですから使えるんじゃないでしょうか。でも
285 ですね、野鳥の \ref 補完があれば、RefTeXなんぞ要らないと思います
286 よ。これからは\label{}はいちいち自分では作らずにいきなり[prefix]
287 s で \ref を打ち込みましょう。勝手にラベルを打てそうなところを探
288 して勝手にラベルを打ってその名前を\refに入れてくれます。\ref補完
289 は \label{} と \ref{} 両方同時に補完入力します。
291 でですね、\ref補完の方がしょぼいと思うなら改良しますよ。「RefTeX
292 の方が色がついてかっちょええ」という問題以外ならすぐに頑張ります。
294 ・自分で定義したカウンタを\ref補完でのラベル候補対象として認識させたい
296 おお、これは高度な質問でござるよ。ちみすごいね。え、質問の意味が
297 分からん? じゃLaTeXのおべんきょーから。
299 たとえば、プログラムリストなんかには図表と同じように番号を付けた
300 い。そゆときあるっしょ。そういうときには定理型環境を newtheorem
301 で定義するですよ。たとえば、セクション番号に連動してつくようなプ
302 ログラムリスト環境を作りたいとしましょ−。そしたらこうします。
304 \newtheorem{Program}{リスト}[section]
306 こうすると \begin{Program} ... \end{Program} とするとタイプセッ
307 ト結果が
309 リスト 2.4.1 ...
311 なんてなるわけですな。かっちょえー。さて、このままだとこの2.4.1
312 という番号を\refで引っ張るためには\labelを作らないとあかんわけで
313 すよ。でもどうせ自分で環境を定義するならlabelも自動的に定義しちゃ
314 うようなマクロを定義しちゃった方が御便利なわけですよ。 もっとい
315 うと独自に定義したカウンタのどの位置に \label を打たせるかを野鳥
316 に判断させるためのパターンを書くのはものすごくむずかしいので、ラ
317 ベルを定義するためのマクロのパターンを教えた方がやりやすいわけで
318 す。ということで、暗黙でラベルも打たせるような環境を定義すると、
319 こんな感じ。
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 }
331 この小文字 program 環境は
333 \begin{program}{foo.c}
334 \begin{verbatim}
335 #include <stdio.h>
336 \end{verbatim}
337 \end{program}
339 みたいにするとタイプセット結果が
341 リスト 2.4.1 foo.c
342 ┌──────────────┐
343 │#include <stdio.h> │
344 └──────────────┘
346 てな具合になるわけですよ。おおかちょええ。さて、小文字program環
347 境のマクロ定義を良く見ると環境に渡した foo.c はそのまま自動的に
348 \label{#1} でラベルとして打たれることになります。あ、pLaTeX
349 のラベルは日本語もOKよ。で、その暗黙のうちに打たれたラベル名を野
350 鳥に教えるというのがスマートなやり方です。これを定義するのが変数
351 YaTeX::ref-labeling-regexp-alist-private なり。これには
353 (正規表現 . ラベル名のグループ番号)
355 という組(consセル)がたくさん集まったリストを定義する。たとえば、
356 上記のprogram環境の第1引数を拾わせるには
358 (setq YaTeX::ref-labeling-regexp-alist-private
359 '(("\\\\begin{program}{\\([^}]+\\)}" . 1)))
361 とします。program環境の第一引数の部分の正規表現が
363 {\\([^}]+\\)}
365 の部分で、\\( \\) のグループ化された正規表現 [^}]+ つまり、閉じ
366 中括弧以外の文字が続くところ、がラベル名として取り出せるわけです。
367 ということで、上記のようなLaTeXマクロの定義と
368 YaTeX::ref-labeling-regexp-alist-private の定義で無事、自分なり
369 のカウンタとそのラベル名を\ref補完に取り込めるわけです。最初は面
370 倒臭いけど、一度定義しちゃえば一生モノでっせ!
372 ■Mule2 関連
373 ・Mule2+hilit19を使っている時に数式が暗くて良く読めない。
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))
383 ・font-lock はどうやって使えばいいんでしょ?
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 も元に戻れるようにしておいた方がよいかもしれません。
395 ・XEmacsでも色は着きますか?
397 font-lock を利用して下さい。野鳥起動前にあらかじめ font-lock をロー
398 ドしておきます。
399 以前、野鳥が font-lock 未対応だった時代に入れた
401 (put 'yatex-mode 'font-lock-defaults 'tex-mode)
403 という記述は **削除** してください。野鳥独自の色づけ規則により、ユー
404 ザー辞書に登録してあるマクロや、section型マクロの引数を数えて光ら
405 せるなどの特長があります。
407 ・Meadowでも font-lock な色は着きますか?
409 つくことはつくんですが、2000年現在の公式版Meadow-1.10はでは
410 光りそうなLaTeXマクロを手で入力すると光る範囲の検出がおかしくなっ
411 てエラーが発生することがあります。新しい Meadow では本家Emacsと
412 同様普通に動くであろうことを期待して、この件に関しては対処しませ
413 ん。光らないだけで実害はないので、気にしないか、あるいは次の
414 Meadow が登場するまで hilit19 を利用して下さい。
416 ・メニューバーの YaTeX をクリックした時にハングしたかと思うほど遅い。
418 わかりません、Emacs のせいです。我慢してください。二回目からは遅
419 くありません。ふつ〜メニューなんか使わないでしょ? サルのようにメ
420 ニューバーを使う友達に野鳥を勧めてはいけません。言いすぎでした、
421 ごめんなさいごめんなさい。
423 ・\it をイタリック表示できませんか?(Mule2)
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 などに入れます。
445 以上で \it, \em, \sl の中身が斜体表示されるはずです。ただし、16
446 ドットフォントの場合、pixelサイズが16のものがない可能性が高いの
447 で、幅はあっていても周りの16ドットフォントよりずいぶん小さいもの
448 が表示される場合がほとんどです。14ドットフォントを用いている場合
449 はかなりましです。
451 ■カスタマイズ関連
452 ・C-c b i とかは滅多に使わないので C-c b だけで補完入力になって欲しい。
454 ~/.emacs などで (setq YaTeX-no-begend-shortcut t) として下さい。
456 ・開き括弧を入れると勝手に閉じられちゃうのが調子悪い。
458 しばらく使うとこちらの方が便利だと感じると思います。もしそれでも
459 肌に合わない時は、C-c w m で常に修正モードをONにして使って下さい。
460 変数 YaTeX-close-paren-always の値を nil にセットすると起動時か
461 ら括弧の自動クローズをOFFにします。
463 ・; を押すと変なのがでて来たりする。
465 カーソル位置が数式環境であると判定されて、数式環境用イメージ補完
466 が起動しています。もしTeXでエラーが出ない数式を組んでいるにもか
467 かわらず野鳥の ; が数式環境判定を誤るようなら、作者まで御連絡下
468 さい。なお、誤判定が起きた場合、; 自身を入力するには ; を二回押
469 し、; をイメージ補完prefixとして動作させるには C-u ; と押します。
471 ・newenvironmentした環境のオプション引数を入力させたい。
473 yatexadd.doc を参照してください。それでも今一つピンと来ない時は
474 yatexgen.doc を参照し、M-x YaTeX-generate などを利用してください。
476 ・\foo を最初3個の引数をとるマクロとして定義し、あとで4個に変えたのに、
477 section型補完は \foo の補完時に3個までしか引数を聞いてくれない。
479 C-u 4 C-c s と4個の引数であると言う情報を与えてください。引数の
480 個数情報はいつでも変更可能です。
482 ・アドイン関数(引数型)を作ったのに2個目以降の引数の補完関数が呼ばれない。
484 \foo{x}{y}{z}のような3個の引数をとるコマンドの引数型アドイン関数
485 を作ったとすると、一度 C-u 3 C-c s foo として \foo の引数が3個で
486 あることを辞書に学習させる必要があります。
488 ・自作のアドイン関数がyatexaddに上書きされてしまう。
490 以前は個人のアドイン関数を個人のyatexadd.elに入れることにしてい
491 ましたが、現在は個人のアドイン関数はyatexhks.elに入れることを前
492 提としています。yatexhks.elは野鳥初期化の最後に読み込まれるため、
493 標準のyatexadd.elの定義などを上書きすることができます。
495 ・newenvironmentしたmylist環境でおまかせ改行を使いたい。
497 infoマニュアルのおまかせ改行のところを見て下さい。基本的には
498 YaTeX-intelligent-newline-mylist という名前の関数を定義すればOK
499 です。ただ例えば、\item だけを挿入したい、つまりitemize環境のお
500 まかせ改行と全く同じで良いというのなら、
502 (fset 'YaTeX-intelligent-newline-mylist
503 'YaTeX-intelligent-newline-itemize)
505 と書くと効率的です。
507 ・数式モードでskkを自動offにするには?
509 canna や wnn では、$や数式環境を補完入力した時に日本語入力モード
510 がoffになります。skkでも同様の機能を生かしたい時には、
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)))
520 を .emacs などに入れておいて下さい。
522 ・{\it }内部では斜体に {\bf }では太字になるという噂を聞いたんですが…
524 GNU Emacs20 (on X)では簡単に設定できます。
525 (おそらくXEmacsでも有効)
527 Xのデフォルトだと16ドットを使っている人が多いのですが、何故か英
528 字フォントは16ドットが充実していず、ちゃんとした斜体字フォントが
529 ありません。ということでそのままでは快適なフォント生活が送れませ
530 ん。幸い Mule の総本山である電総研でこれらのフォントを用意してく
531 れているので、これを利用しましょう。一番楽なのは16ドットの外国語
532 フォントをインストールする手でしょうから、これについて説明します。
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
547 configureに渡すインストールPATHのprefixなどのオプションは環境に
548 合わせ適宜変更して下さい。続いて、Xのリソース定義ファイル
549 (.Xdefautsまたは.Xresources)に、
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
557 と書きましょう。これで、Emacs20で斜体、太字が使えるようになりま
558 す。もし、これらのフォントが利用できるようなら野鳥はこれを自動検
559 出し \it, \bf の内部のフォントとします。ただし、これは英字のみで
560 す。
562 ・では{\it }とか{\bf }で漢字の見栄えを変えるのは無理なんですか?
564 可能です(Emacs20 & Emacs21 on X)。
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 ソース定義ファイルを以下のように修正します。
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
587 これにより、やはり野鳥が自動的に和文 italic, bold フォントを検索
588 し、画面表示上の見映えを変えるようにしてくれます。
590 Windowsではもっとフォント環境が充実しているのでより簡単に設定で
591 きるのではないかと思いますが、私はそのやり方を知りません。ご存知
592 の方がいらしたら教えて頂ければ幸いです。
594 ■その他
595 ・AUCほげほげを使ってる友達を改宗させたいのですが…。
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 でごちゃごちゃやります。
650 こんな感じですかね。
651 あとは、イメージ補完、数式モード自動判定、先回りusepackageなんて
652 のもAUCにはありません。
654 ・なんで構成ファイルがいまさらSJISなの? だっせー。
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 と思います。
667 そういうわけで、野鳥ではダサくても嫌いでも、SJISを使います。
669 ・メイリングリストはないんですか?
671 っていう質問項目があるくらいだからあります。「野鳥」およびそのVz
672 への移植版「雷鳥」(by KATSURAGAWA, Naoki)、Wzへの移植版「白鳥」
673 (by TAKENAKA, Hiroshi)、Hidemaruへの移植板「飛鳥」(by YASUDA
674 Haruyuki)、xyzzyへの移植版「花鳥」(by MAEDA Manabu) に関する情報
675 交換のためのメイリングリスト「fj野鳥の会」がそれです。
677 To: yatex@yatex.org
678 Subject: subscribe
679 -----
680 たぐでーし。
681 明けましておめでとうございまーす。
683 のようにメイルを送れば加入できます。手続きは全て自動で行われ、登
684 録が完了すると確認とともに、参加/休止/脱会等の制御コマンドの利用
685 方法が返送されます。是非参加して一緒に野鳥/雷鳥/白鳥/飛鳥/花鳥を
686 育ててください。なお、自己紹介の文が無い場合一見加入したように見
687 えますが、自動的に登録解除しますので御注意下さい。
689 ・野鳥の最新情報は?
691 もしあなたが、WWWにアクセスできるなら、
692 http://www.yatex.org/
693 を覗いてみて下さい。このなかの、「yatex-current」というリンクを
694 たどると最新版の野鳥を入手することができます。ただし、正式リリー
695 ス版ではなく、作者がデバッグ中だったりして正常に動作しない可能性
696 があるので、current版の利用はとくに「デバッグに協力する」という
697 心構えでの利用をお願いします。
699 yatex-currentは全ファイルを毎回取得する必要があるので非効率です。
700 YaTeXのソースコードのMercurialリポジトリを利用し、効率的かつ安全
701 に更新を行なって下さい。Mercurialをインストール後、以下のように
702 して開発版に追随します。
704 hg clone http://www.yatex.org:/hgrepos/yatex
706 で、リポジトリ全体を取得します。開発ブランチは dev なので
708 cd yatex
709 hg up -C dev
711 して切り替えます(リリース用ブランチは default)。以後は、同ディレ
712 クトリで定期的に
714 hg pull -uv
716 すれば更新のみを取得します。このディレクトリをEmacsの load-path
717 に加えてしまってもよいでしょう。
719 ・とにかくわかりませーん!
721 まず質問の前に yatex-current(上述) を試してみて下さい。既に直面
722 した問題が解決されているかもしれません。それでもだめなら質問しま
723 しょう。
724 回答を得るまでの早い順に
726 ・近くにいる詳しい人に聞く
727 ・メイリングリストに質問を出す
729 でしょうか。お好きな方法でどうぞ。
731 ・このファイルを C-u C-x $ してQを眺めて項目選んで C-x $ しても変な所にいく。
733 ↑なっちゃいますよね? とりあえずQuestionのところで mark しておい
734 て C-x $ したあと C-x C-x してますが(mule2だとこんな苦労しなくて
735 済むようです)。
737 Local Variables:
738 mode: indented-text
739 fill-column: 72
740 fill-prefix: " "
741 buffer-file-coding-system: shift_jis-dos
742 End: