yatex

view docs/qanda @ 611:e87c3271b8fd

Add "meter" and "progress" completions
author HIROSE Yuuji <yuuji@gentei.org>
date Mon, 17 Jul 2023 17:05:45 +0900
parents 723f136edde5
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 の値を 'never にセットすると起動時
431 から括弧の自動クローズをOFFにします。nil にセットするとポイント
432 が行末にないときの自動クローズOFFにします。
434 ・; を押すと変なのがでて来たりする。
436 カーソル位置が数式環境であると判定されて、数式環境用イメージ補完
437 が起動しています。もしTeXでエラーが出ない数式を組んでいるにもか
438 かわらず野鳥の ; が数式環境判定を誤るようなら、作者まで御連絡下
439 さい。なお、誤判定が起きた場合、; 自身を入力するには ; を二回押
440 し、; をイメージ補完prefixとして動作させるには C-u ; と押します。
442 ・newenvironmentした環境のオプション引数を入力させたい。
444 yatexadd.doc を参照してください。それでも今一つピンと来ない時は
445 yatexgen.doc を参照し、M-x YaTeX-generate などを利用してください。
447 ・\foo を最初3個の引数をとるマクロとして定義し、あとで4個に変えたのに、
448 section型補完は \foo の補完時に3個までしか引数を聞いてくれない。
450 C-u 4 C-c s と4個の引数であると言う情報を与えてください。引数の
451 個数情報はいつでも変更可能です。
453 ・アドイン関数(引数型)を作ったのに2個目以降の引数の補完関数が呼ばれない。
455 \foo{x}{y}{z}のような3個の引数をとるコマンドの引数型アドイン関数
456 を作ったとすると、一度 C-u 3 C-c s foo として \foo の引数が3個で
457 あることを辞書に学習させる必要があります。
459 ・自作のアドイン関数がyatexaddに上書きされてしまう。
461 以前は個人のアドイン関数を個人のyatexadd.elに入れることにしてい
462 ましたが、現在は個人のアドイン関数はyatexhks.elに入れることを前
463 提としています。yatexhks.elは野鳥初期化の最後に読み込まれるため、
464 標準のyatexadd.elの定義などを上書きすることができます。
466 ・newenvironmentしたmylist環境でおまかせ改行を使いたい。
468 infoマニュアルのおまかせ改行のところを見て下さい。基本的には
469 YaTeX-intelligent-newline-mylist という名前の関数を定義すればOK
470 です。ただ例えば、\item だけを挿入したい、つまりitemize環境のお
471 まかせ改行と全く同じで良いというのなら、
473 (fset 'YaTeX-intelligent-newline-mylist
474 'YaTeX-intelligent-newline-itemize)
476 と書くと効率的です。
478 ・数式モードでskkを自動offにするには?
480 canna や wnn では、$や数式環境を補完入力した時に日本語入力モード
481 がoffになります。skkでも同様の機能を生かしたい時には、
483 (setq skk-mode-hook
484 '(lambda ()
485 (if (eq major-mode 'yatex-mode)
486 (define-key skk-map "$" 'YaTeX-insert-dollar)
487 (define-key skk-map "$" 'skk-self-insert))
488 (define-key skk-map "\C-x$"
489 'skk-display-code-for-char-at-point)))
491 を .emacs などに入れておいて下さい。
493 ・{\it }内部では斜体に {\bf }では太字になるという噂を聞いたんですが…
495 GNU Emacs20 (on X)では簡単に設定できます。
496 (おそらくXEmacsでも有効)
498 Xのデフォルトだと16ドットを使っている人が多いのですが、何故か英
499 字フォントは16ドットが充実していず、ちゃんとした斜体字フォントが
500 ありません。ということでそのままでは快適なフォント生活が送れませ
501 ん。幸い Mule の総本山である電総研でこれらのフォントを用意してく
502 れているので、これを利用しましょう。一番楽なのは16ドットの外国語
503 フォントをインストールする手でしょうから、これについて説明します。
505 まず、ftp.etl.go.jp の /pub/mule 以下にある intlfonts-<VERSION>
506 というファイルを探します。これが各国語のフォントです。
507 intlfonts-<VERSION>split/ というディレクトリがあり、ここにはフォ
508 ントサイズによってファイルをまとめたアーカイブが置いてあるので、
509 例えば 16dots.tar.gz をGETします。そして以下のようにインストール
510 します。
511 % tar zxpf 16dots.tar.gz
512 % cd intlfonts-<VERSION>
513 % ./configure --prefix=/usr/local/emacs \
514 --enable-compress=gzip --with-bdf=no
515 # make install
516 % xset fp+ /usr/local/emacs/share/emacs/fonts
518 configureに渡すインストールPATHのprefixなどのオプションは環境に
519 合わせ適宜変更して下さい。続いて、Xのリソース定義ファイル
520 (.Xdefautsまたは.Xresources)に、
522 Emacs.Fontset-0: -*-fixed-medium-r-normal--16-*-*-*-*-*-fontset-normal
523 Emacs.Fontset-1: -*-fixed-bold-r-normal--16-*-*-*-*-*-fontset-normal
524 Emacs.Fontset-2: -*-fixed-medium-i-normal--16-*-*-*-*-*-fontset-normal
525 Emacs.Fontset-3: -*-fixed-bold-i-normal--16-*-*-*-*-*-fontset-normal
526 Emacs.Font: fontset-normal
528 と書きましょう。これで、Emacs20で斜体、太字が使えるようになりま
529 す。もし、これらのフォントが利用できるようなら野鳥はこれを自動検
530 出し \it, \bf の内部のフォントとします。ただし、これは英字のみで
531 す。
533 ・では{\it }とか{\bf }で漢字の見栄えを変えるのは無理なんですか?
535 可能です(Emacs20 & Emacs21 on X)。
537 日本語の場合は intlfonts だけでなく、X-TTなどのTrueTypeフォント
538 ドライバが必要になります。XFree86 4.0 以降の場合はおそらくそのま
539 ま利用できていることでしょう。XF86 3 の場合は
540 http://X-TT.dsl.gr.jp/index-ja.html などを参照して X-TT をインス
541 トールしましょう。フリーの日本語フォント、渡辺フォント(明朝)、和
542 田研フォント(ゴシック)をTrueType形式に変換したものがあるので、こ
543 れらもインストールします。リコーやDynaLabなどの商用フォントを購
544 入しても利用できます。ここではその手順は省略し、既にX上で
545 TrueType フォントが利用できる環境が整っていると仮定します。Xのリ
546 ソース定義ファイルを以下のように修正します。
548 Emacs.Fontset-0: -*-fixed-medium-r-normal--16-*-*-*-*-*-fontset-tt,\
549 japanese-jisx0208:-*-fixed-medium-r-normal-*-16-*-jisx0208*
550 Emacs.Fontset-1: -*-fixed-bold-r-normal--16-*-*-*-*-*-fontset-tt,\
551 japanese-jisx0208:-wadalab-*-bold-r-normal-*-0-*-jisx0208*
552 Emacs.Fontset-2: -*-fixed-medium-i-normal--16-*-*-*-*-*-fontset-tt,\
553 japanese-jisx0208:-watanabe-*-medium-o-normal-*-0-*-jisx0208*
554 Emacs.Fontset-3: -*-fixed-bold-i-normal--16-*-*-*-*-*-fontset-tt,\
555 japanese-jisx0208:-wadalab-*-bold-i-normal-*-0-*-jisx0208*
556 Emacs.Font: fontset-tt
558 これにより、やはり野鳥が自動的に和文 italic, bold フォントを検索
559 し、画面表示上の見映えを変えるようにしてくれます。
561 Windowsではもっとフォント環境が充実しているのでより簡単に設定で
562 きるのではないかと思いますが、私はそのやり方を知りません。ご存知
563 の方がいらしたら教えて頂ければ幸いです。
565 ■その他
566 ・AUCほげほげを使ってる友達を改宗させたいのですが…。
568 まあええやん、ちょっとぐらい不便でも人間なんとか我慢できます。
569 なにそれでも改宗させたいとな。嬉しいことをおっしゃる。
570 じゃあ、次のようなデモを見せましょう。
571 (あらかじめ ~/.emacs で (setq YaTeX-create-file-prefix-g t)
572 しておいて下さい)
573 * \begin{itemize}
574 \item ほげほげ
575 \end{itemize}
576 という環境を作っておいて、
577 「う〜ん、やっぱenumerateがいいな、うりゃ」といって
578 カーソルを\beginか\endに合わせて [prefix] c で enumerate に変
579 更します。続いて、
580 「やっぱりここはセンタリングでしょ、おりゃ」といって
581 環境全体をマーク(ESC C-@)して [prefix] B(大文字) してcenter環
582 境に括り入れます。
583 「じゃあpreviewしてみよっか、でもこの部分だけでいいやね」と
584 いってもっぺんcenter環境全体をマーク(ESC C-@)して
585 [prefix] % B してcenter環境を %#BEGIN〜%#ENDで括ってから
586 領域タイプセットします。[prefix] t r。
587 「さてpreviewじゃ」
588 といいつつ [prefix] t p します。
589 「ほほう、よし、表を書こう」と言って、
590 enumerate環境の後ろにtabular環境を作ります。
591 「まあ3列くらいかな」といいつつデフォルトの質問には全てリター
592 ンだけで答えます。すると & & \\ が勝手に挿入されるので適当に埋
593 めます。
594 「はい、次の行」
595 と言いながら ESC RET します。また適当に埋めて
596 今度は [prefix] t e で隣のバッファに on-the-fly preview を出し、
597 表の中味を書き換えては自動的に隣のpreview画像が書き変わる様を
598 眺めます。
599 続いて、center環境の外に『この表は重要ネ〜』と書きます。
600 「うむ、『重要』にはアンダーラインを引こう」
601 といって『重要』をリジョン指定して [prefix] S(大文字) で
602 underline を補完入力し、悩んだふりをして
603 「やっぱアンダーラインはやめ」と言いながら
604 \underline または { か } にカーソルを合わせて [prefix] k して
605 \underline{} を消します。さらに悩むふりをして
606 「やっぱセンタリングは要らんかもしれんなあ…」と言いつつ
607 \end{center} にカーソルを合わせて [prefix] . を押します。
608 すると \begin{center}, \end{center} に % がつきます。
609 「うむ、やっぱりセンタリングはぽいっ」と言って
610 \end{center}の行で [prefix] k をおして begin/end 対を消します。
611 「さて、ファイルがでかくなって来たので分割するか」と言って
612 \include{foo} などを [prefix] s で補完入力します。
613 「じゃあ foo.tex を作らなきゃ…」と言って [prefix] g します。
614 foo.tex が勝手に作られるので適当にごちゃごちゃ書いて
615 [prefix] t j でタイプセットします。
616 「ほ〜ら、foo.tex の親ファイルがさっきのファイルだって分かって
617 るでしょ?」と説明します。[prefix] ^ で親ファイルに戻ります。
618 「あ〜れ、おれこのソースをいくつに分割してたんだっけ?」
619 とすっとぼけながら [prefix] d でincludeツリーを表示させて
620 n や p でごちゃごちゃやります。
622 こんな感じですかね。
623 あとは、イメージ補完、数式モード自動判定、先回りusepackageなんて
624 のもアドバンテージでしょう。
626 ・なんで構成ファイルがいまさらSJISなの? だっせー。
628 このファイルがSJISで書かれているということが分かるあなたは、野鳥
629 の構成ファイルがJISだろうがEUCだろうが対処できるはずです。しかし
630 SJISで生活している人には分かりません。Meadowや Mule for win32 な
631 らEUCでも読めるんじゃないの? と感じるかもしれませんが、Meadow な
632 どを使いはじめた人の中からは、「pLaTeX+野鳥が便利そうだ」という
633 ことがきっかけになっているという嬉しい報告も聞きます。そういう人
634 にとってEUCやJISは得体の知れない手間のかかる面倒なファイルでしか
635 ありません。彼らがTeXやEmacsなどの素晴らしい世界に触れる目前で遠
636 慮してしまう可能性を考えると、やはり野鳥はSJISであり続けるべきだ
637 と思います。
639 そういうわけで、野鳥ではダサくても嫌いでも、SJISを使います。
641 ・メイリングリストはないんですか?
643 っていう質問項目があるくらいだからあります。「野鳥」およびそのVz
644 への移植版「雷鳥」(by KATSURAGAWA, Naoki)、Wzへの移植版「白鳥」
645 (by TAKENAKA, Hiroshi)、Hidemaruへの移植板「飛鳥」(by YASUDA
646 Haruyuki)、xyzzyへの移植版「花鳥」(by MAEDA Manabu) に関する情報
647 交換のためのメイリングリスト「fj野鳥の会」がそれです。
649 To: yatex@yatex.org
650 Subject: subscribe
651 -----
652 たぐでーし。
653 明けましておめでとうございまーす。
655 のようにメイルを送れば加入できます。手続きは全て自動で行われ、登
656 録が完了すると確認とともに、参加/休止/脱会等の制御コマンドの利用
657 方法が返送されます。是非参加して一緒に野鳥/雷鳥/白鳥/飛鳥/花鳥を
658 育ててください。なお、自己紹介の文が無い場合一見加入したように見
659 えますが、自動的に登録解除しますので御注意下さい。
661 ・野鳥の最新情報は?
663 もしあなたが、WWWにアクセスできるなら、
664 http://www.yatex.org/
665 を覗いてみて下さい。このなかの、「yatex-current」というリンクを
666 たどると最新版の野鳥を入手することができます。ただし、正式リリー
667 ス版ではなく、作者がデバッグ中だったりして正常に動作しない可能性
668 があるので、current版の利用はとくに「デバッグに協力する」という
669 心構えでの利用をお願いします。
671 yatex-currentは全ファイルを毎回取得する必要があるので非効率です。
672 YaTeXのソースコードのMercurialリポジトリを利用し、効率的かつ安全
673 に更新を行なって下さい。Mercurialをインストール後、以下のように
674 して開発版に追随します。
676 hg clone https://www.yatex.org:/hgrepos/yatex
678 で、リポジトリ全体を取得します。開発ブランチは dev なので
680 cd yatex
681 hg up -C dev
683 して切り替えます(リリース用ブランチは default)。以後は、同ディレ
684 クトリで定期的に
686 hg pull -uv
688 すれば更新のみを取得します。このディレクトリをEmacsの load-path
689 に加えてしまってもよいでしょう。
691 ・とにかくわかりませーん!
693 まず質問の前に yatex-current(上述) を試してみて下さい。既に直面
694 した問題が解決されているかもしれません。それでもだめなら質問しま
695 しょう。
696 回答を得るまでの早い順に
698 ・近くにいる詳しい人に聞く
699 ・メイリングリストに質問を出す
701 でしょうか。お好きな方法でどうぞ。
703 ・このファイルを C-u C-x $ してQを眺めて項目選んで C-x $ しても変な所にいく。
705 ↑なっちゃいますよね? とりあえずQuestionのところで mark しておい
706 て C-x $ したあと C-x C-x してますが(mule2だとこんな苦労しなくて
707 済むようです)。
709 Local Variables:
710 mode: indented-text
711 fill-column: 72
712 fill-prefix: " "
713 End: