annotate docs/qanda @ 204:1de7ae500ca4 dev

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

yatex.org