yatex

view docs/qanda @ 566:2ef9f21dd13b

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