%%
%% Q and A on YaTeX
%%
%% C-u C-x $ とすると質問項目だけ表示されます。C-x $ で元に戻ります。
%%
(新項目:・RefTeXは使えますか?
・自分で定義したカウンタを\ref補完でのラベル候補対象として認識させたい
・font-lock はどうやって使えばいいんでしょ?
・XEmacsでも色は着きますか?
・{\it }内部では斜体に {\bf }では太字になるという噂を聞いたんですが…)
■インストール関連
・マニュアルのインストール
Emacsのインストールされている場所の info ディレクトリにyatexj ファ
イルをコピーし、同じディレクトリにある dir というファイルに次の
行を足します。
* YaTeX: (yatexj). Yet Another tex-mode for Emacs. (Japanese).
(あとは M-x info として m yatex で野鳥のマニュアルを選択して読み
ます。?を押すと info の使い方が出て来ます。)
・Meadowつこてるんすが make って叩いても何も起きないです〜
makeはバイトコンパイルのために利用しているだけなのでやらなくても
構いません。makeのないMeadowユーザの最短インストールは以下の通り
です。
1 Meadowのsite-lispディレクトリに yatex*.tar.gz を展開す
る。これを読んでる段階では別のディレクトリに展開している可能
性が高いので、その場合はディレクトリごと移動してしまって下さ
い。
2 install ファイルに書いてあるように ~/.emacs にautoloadと
load-path, auto-mode-alist の設定を書く。
・まだしたっぱなので Info ディレクトリに書き込む権利がないっすう…
rootにしてもらいましょう。それがだめなときは Mule2 をインストー
ルしてもらいましょう。してくれない時は、ホームディレクトリにイン
ストールして、ほーらディスクの無駄遣いだよ〜んといって脅せば入れ
てくれるはずです。Mule2 なら、~/.emacs に
(setq Info-default-directory-list
(cons "自分のInfoディレクトリ"
Info-default-directory-list))
と書くことで、info を起動した時に個人用のファイルもメニューに加
わります。それでもMule2をなかなか入れてくれない時は、新しいinfo
ファイルを拾って来るたびに管理者に「入れてくださーい。あ、すみま
せーん毎度。でもMule2なら自分のディレクトリを追加できるんですけ
どねぇ…」を繰り返しましょう。
・LaTeXのヘルプファイルがないといわれる。
Nemacs, Mule1 では $EMACS/etc/, Mule2 では $EMACS/site-lisp/ に
置かれているとみなすようになっています。もし公共の場所に置く権限
がない時は、ホームディレクトリの下のどこかに置いて、変数
YaTeX-help-file にそのファイル名を設定して下さい。
・Nemacsで info が読めない。
Muleでformatしているので、内部日本語処理の異なるNemacs(または
NemacsベースのDemacs)では(バイト数がずれるため)正しく読むことが
できません。Muleで御覧ください。なお、Texinfoファイルのフォーマッ
トには texinfo-3.1.tar.gz にある Emacs-Lisp ファイルを用いてくだ
さい。
また、九州大学の井上さんによると、Info の dir 画面で,M-x
Info-tagify とやると info ファイルのコンバートができるそうです。
■操作関連
・間違って変なLaTeXコマンドを学習させてしまった。
ホームディレクトリ、またはカレントディレクトリにできている
.yatexrc に間違って学習したコマンドを含む行があるはずですから、
その行を削除、あるいは正しいコマンドに書き直してから C-x C-s で
.yatexrc をセーブし、C-x k でクローズします。元のLaTeX編集バッファ
に戻ったことを確認してから M-x YaTeX-reload-dictionary とする
と、書き換えた .yatexrc が現在のバッファに反映されます。
・リジョンを指定してコメントアウトしようとしたのにうまくいかない。
おそらくカーソルが \begin{}, \end{} の行に乗っているのだと思いま
す。一行上か下によけて C-c > してください。
・タイプセットの時に親ファイルを聞かれて、その時に間違えてしまった。
C-x C-v RET でもう一度子ファイルを読み直すか、
C-u C-c ^ で親ファイルをもう一度入力してください。
・Demacsでタイプセットエラーがでた時にtypesetバッファがうまく表示されない。
Demacs 1.2.0 で子プロセスが1以上の errorlevel を返した場合、この
ような症状が起きる事があります。jlatex をバッチファイルから呼ぶ
ようにし、その末尾で必ず errorlevel 0 を返すダミーのコマンドを呼
ぶようにします。
・「\underline{\makebox[4em][l]{x y}{\tt z}}」 などを手軽に入力したい。
section型補完の引数をミニバッファで入力する時にも再帰的に種々の
補完機能が使えます。表題のコマンド列を補完入力したものが以下の例
です。
プロンプト キー入力
C-c s und SPC RET
\underline{???}: C-c s makeb SPC RET
Width: 4em RET
makebox position (`lr'): - l RET
\makebox{???}: x y RET
\underline{???}: \makebox[4em][l]{x y} C-c l tt RET
\underline{???}: \makebox[4em][l]{x y}{\tt } z RET
・「\footnote{ほげほげ}」と書いたけど\footnote{}を取り払いたい。
\footnote の部分にカーソルを合わせて C-c k としてください。
\footnote{} の部分だけ選んで消去します。
全部いらない場合は C-u C-c k とします。
・「ほにゃらら」の部分を\footnoteにしたい。
「ほにゃらら」の部分をマークして C-c S footnote RET などとします。
(Sは大文字)
・いまある verbatim 環境を verbatim* 環境にしたい。
\begin{verbatim} か \end{verbatim} の行で、C-c c します。
・指定領域を \verb で囲みたい。
残念ながら \verb は maketitle 型なので該当する機能はありません。
ただ C-c $ が領域を $ で括る事を利用して次のようにできます。
. .
ここからここまでを \verb にする
\verbここからここまでを \verb にする (\verbを入れる)
↑(C-@) (「こ」の位置でマーク)
\verbここからここまでを \verb にする ($でくくる)
↑C-c $
\verb$ここからここまで$を \verb にする (完成)
・子ファイルを編集していて typeset-region をやる時に子ファイルの上の方で
定義してあるコマンドも読んで欲しい。
章毎に複数メンバーでファイルを編集する時に子ファイルだけで通用す
るマクロを子ファイルの上の方で定義している場合には、typeset
region をする時にそれらの行も必要になって来ます。こういう場合は、
子ファイルのマクロ定義の行の末尾に %#REQUIRE をつけることで臨時
タイプセットファイルの先頭にその行がコピーされます。
さらに孫ファイルがあった場合を考えてみましょう。
+-- main.tex --+ +---- sub.tex ----+ +-- subsub.tex --+
| : | |%#jlatex main | |%#jlatex main |
|\include{sub} | |\include{macros} | |..... |
| : |←| : |←|%#BEGIN |
| : | | : | |この辺を |
| : | +-----------------+ |タイプセット |
+--------------+ ↑ |したい |
+-- macros.tex ---+ |%#END |
|\def\foo{bar} | |: |
|\def\hoge{hero} | +----------------+
+-----------------+
このような場合 sub.tex の \include{macros} の行を以下のように変
えます。
\include{macros} %#REQUIRE
さらに subsub.tex のどこかに以下のような行を加えます。
%#REQUIRE \include{macros}
%#REQUIRE が行頭にある時はそれより後ろの部分が臨時ファイルにコピー
されます。これにより、全体をタイプセットする時、または sub.tex,
subsub.tex いずれかを typeset-region する時どちらにおいてもかな
らず一度だけ macros.tex がインクルードされることになります。
・直前に入れた \foo{引数だよ} の「引数だよ」をもう一回使いたい。
gmhist というパッケージを導入しましょう。野鳥は gmhist に対応し
ています。ミニバッファで \foo{???}: と聞かれた時に M-p (ESC p)を
押すと今まで入力した文字の履歴を逆方向にたどって表示します。M-n
と押すと順方向にたどります。これらの入力履歴は begin 型補完、
section 型補完、プレヴューア起動、プリントアウトコマンド起動それ
ぞれに対し独立に設定されます。
gmhist は多くの Emacs-Lisp アーカイブサイトに置いてあります。
ftp.ae.keio.ac.jp:pub/emacs-lisp/util/gmhist.tar.gz
にもあります。
ただし、Mule2 以降を用いている場合は、gmhistを用いなくてもミニバッ
ファでのヒストリが使えます。
・ref←→label間ジャンプで存在するはずのref/labelにジャンプしない。
C-c g とだけ打つと対応するref/labelの前方検索から始めます。
C-u C-c g と打つと後方検索から始めます。続けて \ref を検索するよ
うな場合は C-s (C-r) を二回続けて押しインクリメンタルサーチの連
続検索機能を利用します。もしジャンプ先が別ファイルにある時は、そ
のファイルをあらかじめオープンしておく必要があります。C-c d の
YaTeX-display-hierarchy は全てのファイルを一気にオープンするため
にも使えます。
・fill-paragraph や auto-fill で行末に%が付いちゃう。
TeX version 2 ベースのNTT-jTeXでは日本語のパラグラフの各行頭をイ
ンデントして書くとその分スペースが余計に入った印刷イメージになっ
てしまいます。それを回避するために行末に % を付ける必要がありま
す。野鳥ではインデントされたテキストをNTT版でも入力できるように
「行末%」の面倒をみています。でもバグってる可能性ありありなので、
行末以外に % が出るなどの現象を発見したらご連絡ください。
・itemize環境の中のitemizeのインデントが深すぎやしませんか?
でしょ? 某K君があのほうがいいって言って、TABを打っては一人酔いし
れているのでので、そうしたんですが、私は気に入りません(←まだ根
に持ってる)。「深すぎる!」という方は、内側の\begin{itemize} の行
末でTABを打ってください。なぬ、今度は浅すぎる? さてトイレ行こ。
・いつも雛型として使っている template.tex を簡単に入れたい
autoinsert.el (Emacs19/Mule2付属)を使いましょう。もしくは、それ
の機能強化版 auto-insert-tkld を使いましょう。後者は、
ftp://ftp.ae.keio.ac.jp/pub/emacs-lisp/util/auto-inset-tkld.tar.Z
で入手できます。
・bibtexとlatexとかを交互にかけるのが面倒なんですけど
latexmk というスグレもののツールがあります。これは、.tex,
.bib, .idx などのファイル間の依存関係をドキュメントを走査して調
べ、自動的に bibtex, makeindex, jlatex などを必要な順序で必要な
回数起動してくれます。これをインストールし、各ドキュメントの先頭
に
%#!latexmk
などと書いてタイプセッタとして latexmk を指定すれば複雑な依存関
係に悩んだ日々とはおさらばです。なお、latexmk は CTAN サイトの
support/latexmk/ ディレクトリに置いてあります。
(例えば ftp.kdd.lab.kdd.co.jp:/CTAN/)
・タイプセットとプレヴューでキーが違うのが面倒ですね?
そういうことを感じるということは、もしかして、プレヴューアを起動
して確認したのちに、いちいちプレヴューアを終了させたりしてますか?
UNIXでもWindowsでもそんなことは普通しなくていいんです。一度起動
したプレヴューアは常駐させておけば、表でLaTeXソースをタイプセッ
トすれば、次回プレビューアの窓を選択したときに勝手にリロードして
くれます。プレビューアを毎回終了させるとフォントのロードなどオー
バーヘッドが大きいので、是非常駐させましょう。意外にそのことを教
えてもらってない人がいるようなので書いてみました。
結局のところほとんど [prefix] tj のタイプセットのみで用件は終わ
ります。また、もしbibtexなど、他の関連コマンドを繰り返し利用する
ような場合は、前項で紹介した latexmk コマンドを利用するというの
がスマートな解決策です。結局のところ、ほとんど [prefix] tj と打っ
て仕事を進めることになります。
・fillがうまく行かないなあ
デフォルトのインデンテーション(TABを押すと移動するカラム)と違う
パラグラフをfillしようとするとうまく行きません。auto-fill をONに
して文章を入力していればこの問題は起きないはずです。もし、他のと
ころからコピーした段落で、デフォルトのインデンテーションと違う段
落ができてしまった場合は、
(1)行頭で C-x . (fill-prefixをキャンセルする)
(2)インデンテーションを揃えたい範囲をマークする
(3)M-C-\ する。
という操作でデフォルトのインデンテーションに揃えることができます。
もし、デフォルトとは違う深さでfillしたい場合は、行の最初の非空白
文字にカーソルを合わせて M-q してください。
・Win95/WinNTでタイプセッタなど外部プロセスが呼べない
shellを変更していないならとりあえず、
(setq shell-command-option "\\/c")
を .emacs に入れてみましょう。
UNIX系のshell(sh, bash, tcsh, zsh等)を使っている場合は、
(setq shell-command-option "-c")
を .emacs に入れてみましょう。
・RefTeXは使えますか?
使っている人はいるみたいですから使えるんじゃないでしょうか。でも
ですね、野鳥の \ref 補完があれば、RefTeXなんぞ要らないと思います
よ。これからは\label{}はいちいち自分では作らずにいきなり[prefix]
s で \ref を打ち込みましょう。勝手にラベルを打てそうなところを探
して勝手にラベルを打ってその名前を\refに入れてくれます。\ref補完
は \label{} と \ref{} 両方同時に補完入力します。
でですね、\ref補完の方がしょぼいと思うなら改良しますよ。「RefTeX
の方が色がついてかっちょええ」という問題以外ならすぐに頑張ります。
・自分で定義したカウンタを\ref補完でのラベル候補対象として認識させたい
おお、これは高度な質問でござるよ。ちみすごいね。え、質問の意味が
分からん? じゃLaTeXのおべんきょーから。
たとえば、プログラムリストなんかには図表と同じように番号を付けた
い。そゆときあるっしょ。そういうときには定理型環境を newtheorem
で定義するですよ。たとえば、セクション番号に連動してつくようなプ
ログラムリスト環境を作りたいとしましょ−。そしたらこうします。
\newtheorem{Program}{リスト}[section]
こうすると \begin{Program} ... \end{Program} とするとタイプセッ
ト結果が
リスト 2.4.1 ...
なんてなるわけですな。かっちょえー。さて、このままだとこの2.4.1
という番号を\refで引っ張るためには\labelを作らないとあかんわけで
すよ。でもどうせ自分で環境を定義するならlabelも自動的に定義しちゃ
うようなマクロを定義しちゃった方が御便利なわけですよ。 もっとい
うと独自に定義したカウンタのどの位置に \label を打たせるかを野鳥
に判断させるためのパターンを書くのはものすごくむずかしいので、ラ
ベルを定義するためのマクロのパターンを教えた方がやりやすいわけで
す。ということで、暗黙でラベルも打たせるような環境を定義すると、
こんな感じ。
\newenvironment{program}[1]{
\begin{table}[tbp]
\begin{Program}\filename{#1}\nopagebreak[4]\label{#1}\end{Program}
\nopagebreak[4]
\begin{breakbox}\small
}{
\end{breakbox}
\end{table}
}
この小文字 program 環境は
\begin{program}{foo.c}
\begin{verbatim}
#include
\end{verbatim}
\end{program}
みたいにするとタイプセット結果が
リスト 2.4.1 foo.c
┌──────────────┐
│#include │
└──────────────┘
てな具合になるわけですよ。おおかちょええ。さて、小文字program環
境のマクロ定義を良く見ると環境に渡した foo.c はそのまま
\label{#1} でラベルとして自動的に打たれることになる。あ、pLaTeX
のラベルは日本語もOKよ。で、その暗黙のうちに打たれたラベル名を野
鳥に教えるというのがスマートなやり方です。これを定義するのが変数
YaTeX::ref-labeling-regexp-alist-private なり。これには
(正規表現 . ラベル名のグループ番号)
という組(consセル)がたくさん集まったリストを定義する。たとえば、
上記のprogram環境の第1引数を拾わせるには
(setq YaTeX::ref-labeling-regexp-alist-private
'(("\\\\begin{program}{\\([^}]+\\)}" . 1)))
とします。program環境の第一引数の部分の正規表現が
{\\([^}]+\\)}
の部分で、\\( \\) のグループ化された正規表現 [^}]+ つまり、閉じ
中括弧以外の文字が続くところ、がラベル名として取り出せるわけです。
ということで、上記のようなLaTeXマクロの定義と
YaTeX::ref-labeling-regexp-alist-private の定義で無事、自分なり
のカウンタとそのラベル名を\ref補完に取り込めるわけです。最初は面
倒臭いけど、一度定義しちゃえば一生モノでっせ!
■Mule2 関連
・Mule2+hilit19を使っている時に数式が暗くて良く読めない。
hilit19.el のデフォルトのカラーリングが暗すぎるせいです。
以下のコードを ~/.emacs や yatexhks.el などに入れてください。
(if (and (featurep 'hilit19) (eq hilit-background-mode 'dark))
(hilit-translate
string 'mediumspringgreen
formula 'khaki
label 'yellow-underlined))
・font-lock はどうやって使えばいいんでしょ?
1.69以降では、XEmacs-21, Emacs-21, Emacs-20 において利用できます。
野鳥起動前に (require 'font-lock) しておいてください。
ただし、font-lock のドキュメントをみると「パターンは一行内で指定し
てね」とあるので本来行とは無関係な論理的構造範囲で色付を行なうため
には設計されていません。これを回避するため、野鳥では仕様外のパター
ン指定を行ない論理構造範囲での色付をさせています。したがって、将来
font-lock が仕様を変えたら簡単に色付がうまく行かなくなる可能性を大
いに持っています。hilit19からの乗り換えを考えている場合は、いつで
も元に戻れるようにしておいた方がよいかもしれません。
・XEmacsでも色は着きますか?
font-lock を利用して下さい。野鳥起動前にあらかじめ font-lock をロー
ドしておきます。
以前、野鳥が font-lock 未対応だった時代に入れた
(put 'yatex-mode 'font-lock-defaults 'tex-mode)
という記述は **削除** してください。野鳥独自の色づけ規則により、ユー
ザー辞書に登録してあるマクロや、section型マクロの引数を数えて光ら
せるなどの特長があります。
・Meadowでも font-lock な色は着きますか?
つくことはつくんですが、2000年現在の公式版Meadow-1.10はでは
光りそうなLaTeXマクロを手で入力すると光る範囲の検出がおかしくなっ
てエラーが発生することがあります。新しい Meadow では本家Emacsと
同様普通に動くであろうことを期待して、この件に関しては対処しませ
ん。光らないだけで実害はないので、気にしないか、あるいは次の
Meadow が登場するまで hilit19 を利用して下さい。
・メニューバーの YaTeX をクリックした時にハングしたかと思うほど遅い。
わかりません、Emacs のせいです。我慢してください。二回目からは遅
くありません。ふつ〜メニューなんか使わないでしょ? サルのようにメ
ニューバーを使う友達に野鳥を勧めてはいけません。言いすぎでした、
ごめんなさいごめんなさい。
・\it をイタリック表示できませんか?(Mule2)
まず、普段使用しているサイズの斜体フォントを探します。
*scratch* バッファで、
(set-face-font 'italic "-*-*-medium-i-*--*-*-*-*-*-*-*-*")
と打ち C-j してみる(かなり時間がかかる!!)。No matches found なら
(set-face-font 'italic "-*-*-medium-o-*--*-*-*-*-*-*-*-*")
を試します。
どちらでもマッチするものがなかったらあきらめましょう。(;_;)/~
大抵何かフォント名が出て来るはずです。例えば、16dotフォントを
使っている場合であれば、
"-schumacher-clean-medium-i-normal--8-80-75-75-c-80-iso8859-1"
が、14dotフォントを使っている場合なら、
"-adobe-courier-medium-i-normal--12-120-75-75-m-0-iso8859-1"
などが返って来るので、これを用いて
(set-face-font 'italic
"-schumacher-clean-medium-i-normal--8-80-75-75-c-80-iso8859-1")
あるいは
(set-face-font 'italic
"-adobe-courier-medium-i-normal--12-120-75-75-m-0-iso8859-1")
のような記述を yatexhks.el などに入れます。
以上で \it, \em, \sl の中身が斜体表示されるはずです。ただし、16
ドットフォントの場合、pixelサイズが16のものがない可能性が高いの
で、幅はあっていても周りの16ドットフォントよりずいぶん小さいもの
が表示される場合がほとんどです。14ドットフォントを用いている場合
はかなりましです。
■カスタマイズ関連
・C-c b i とかは滅多に使わないので C-c b だけで補完入力になって欲しい。
~/.emacs などで (setq YaTeX-no-begend-shortcut t) として下さい。
・開き括弧を入れると勝手に閉じられちゃうのが調子悪い。
しばらく使うとこちらの方が便利だと感じると思います。もしそれでも
肌に合わない時は、C-c w m で常に修正モードをONにして使って下さい。
変数 YaTeX-close-paren-always の値を nil にセットすると起動時か
ら括弧の自動クローズをOFFにします。
・; を押すと変なのがでて来たりする。
カーソル位置が数式環境であると判定されて、数式環境用イメージ補完
が起動しています。もしTeXでエラーが出ない数式を組んでいるにもか
かわらず野鳥の ; が数式環境判定を誤るようなら、作者まで御連絡下
さい。なお、誤判定が起きた場合、; 自身を入力するには ; を二回押
し、; をイメージ補完prefixとして動作させるには C-u ; と押します。
・newenvironmentした環境のオプション引数を入力させたい。
yatexadd.doc を参照してください。それでも今一つピンと来ない時は
yatexgen.doc を参照し、M-x YaTeX-generate などを利用してください。
・\foo を最初3個の引数をとるマクロとして定義し、あとで4個に変えたのに、
section型補完は \foo の補完時に3個までしか引数を聞いてくれない。
C-u 4 C-c s と4個の引数であると言う情報を与えてください。引数の
個数情報はいつでも変更可能です。
・アドイン関数(引数型)を作ったのに2個目以降の引数の補完関数が呼ばれない。
\foo{x}{y}{z}のような3個の引数をとるコマンドの引数型アドイン関数
を作ったとすると、一度 C-u 3 C-c s foo として \foo の引数が3個で
あることを辞書に学習させる必要があります。
・自作のアドイン関数がyatexaddに上書きされてしまう。
以前は個人のアドイン関数を個人のyatexadd.elに入れることにしてい
ましたが、現在は個人のアドイン関数はyatexhks.elに入れることを前
提としています。yatexhks.elは野鳥初期化の最後に読み込まれるため、
標準のyatexadd.elの定義などを上書きすることができます。
・newenvironmentしたmylist環境でおまかせ改行を使いたい。
infoマニュアルのおまかせ改行のところを見て下さい。基本的には
YaTeX-intelligent-newline-mylist という名前の関数を定義すればOK
です。ただ例えば、\item だけを挿入したい、つまりitemize環境のお
まかせ改行と全く同じで良いというのなら、
(fset 'YaTeX-intelligent-newline-mylist
'YaTeX-intelligent-newline-itemize)
と書くと効率的です。
・数式モードでskkを自動offにするには?
canna や wnn では、$や数式環境を補完入力した時に日本語入力モード
がoffになります。skkでも同様の機能を生かしたい時には、
(setq skk-mode-hook
'(lambda ()
(if (eq major-mode 'yatex-mode)
(define-key skk-map "$" 'YaTeX-insert-dollar)
(define-key skk-map "$" 'skk-self-insert))
(define-key skk-map "\C-x$"
'skk-display-code-for-char-at-point)))
を .emacs などに入れておいて下さい。
・{\it }内部では斜体に {\bf }では太字になるという噂を聞いたんですが…
GNU Emacs20 (on X)では簡単に設定できます。
(おそらくXEmacsでも有効)
Xのデフォルトだと16ドットを使っている人が多いのですが、何故か英
字フォントは16ドットが充実していず、ちゃんとした斜体字フォントが
ありません。ということでそのままでは快適なフォント生活が送れませ
ん。幸い Mule の総本山である電総研でこれらのフォントを用意してく
れているので、これを利用しましょう。一番楽なのは16ドットの外国語
フォントをインストールする手でしょうから、これについて説明します。
まず、ftp.etl.go.jp の /pub/mule 以下にある intlfonts-
というファイルを探します。これが各国語のフォントです。
intlfonts-split/ というディレクトリがあり、ここにはフォ
ントサイズによってファイルをまとめたアーカイブが置いてあるので、
例えば 16dots.tar.gz をGETします。そして以下のようにインストール
します。
% tar zxpf 16dots.tar.gz
% cd intlfonts-
% ./configure --prefix=/usr/local/emacs \
--enable-compress=gzip --with-bdf=no
# make install
% xset fp+ /usr/local/emacs/share/emacs/fonts
configureに渡すインストールPATHのprefixなどのオプションは環境に
合わせ適宜変更して下さい。続いて、Xのリソース定義ファイル
(.Xdefautsまたは.Xresources)に、
Emacs.Fontset-0: -*-fixed-medium-r-normal--16-*-*-*-*-*-fontset-normal
Emacs.Fontset-1: -*-fixed-bold-r-normal--16-*-*-*-*-*-fontset-normal
Emacs.Fontset-2: -*-fixed-medium-i-normal--16-*-*-*-*-*-fontset-normal
Emacs.Fontset-3: -*-fixed-bold-i-normal--16-*-*-*-*-*-fontset-normal
Emacs.Font: fontset-normal
と書きましょう。これで、Emacs20で斜体、太字が使えるようになりま
す。もし、これらのフォントが利用できるようなら野鳥はこれを自動検
出し \it, \bf の内部のフォントとします。ただし、これは英字のみで
す。
・では{\it }とか{\bf }で漢字の見栄えを変えるのは無理なんですか?
可能です(Emacs20 & Emacs21 on X)。
日本語の場合は intlfonts だけでなく、X-TTなどのTrueTypeフォント
ドライバが必要になります。XFree86 4.0 以降の場合はおそらくそのま
ま利用できていることでしょう。XF86 3 の場合は
http://X-TT.dsl.gr.jp/index-ja.html などを参照して X-TT をインス
トールしましょう。フリーの日本語フォント、渡辺フォント(明朝)、和
田研フォント(ゴシック)をTrueType形式に変換したものがあるので、こ
れらもインストールします。リコーやDynaLabなどの商用フォントを購
入しても利用できます。ここではその手順は省略し、既にX上で
TrueType フォントが利用できる環境が整っていると仮定します。Xのリ
ソース定義ファイルを以下のように修正します。
Emacs.Fontset-0: -*-fixed-medium-r-normal--16-*-*-*-*-*-fontset-tt,\
japanese-jisx0208:-*-fixed-medium-r-normal-*-16-*-jisx0208*
Emacs.Fontset-1: -*-fixed-bold-r-normal--16-*-*-*-*-*-fontset-tt,\
japanese-jisx0208:-wadalab-*-bold-r-normal-*-0-*-jisx0208*
Emacs.Fontset-2: -*-fixed-medium-i-normal--16-*-*-*-*-*-fontset-tt,\
japanese-jisx0208:-watanabe-*-medium-o-normal-*-0-*-jisx0208*
Emacs.Fontset-3: -*-fixed-bold-i-normal--16-*-*-*-*-*-fontset-tt,\
japanese-jisx0208:-wadalab-*-bold-i-normal-*-0-*-jisx0208*
Emacs.Font: fontset-tt
これにより、やはり野鳥が自動的に和文 italic, bold フォントを検索
し、画面表示上の見映えを変えるようにしてくれます。
Windowsではもっとフォント環境が充実しているのでより簡単に設定で
きるのではないかと思いますが、私はそのやり方を知りません。ご存知
の方がいらしたら教えて頂ければ幸いです。
■その他
・AUCほげほげを使ってる友達を改宗させたいのですが…。
まあええやん、ちょっとぐらい不便でも人間なんとか我慢できます。
なにそれでも改宗させたいとな。嬉しいことをおっしゃる。
じゃあ、次のようなデモを見せましょう。
(あらかじめ ~/.emacs で (setq YaTeX-create-file-prefix-g t)
しておいて下さい)
* \begin{itemize}
\item ほげほげ
\end{itemize}
という環境を作っておいて、
「う〜ん、やっぱenumerateがいいな、うりゃ」といって
カーソルを\beginか\endに合わせて [prefix] c で enumerate に変
更します。続いて、
「やっぱりここはセンタリングでしょ、おりゃ」といって
環境全体をマーク(ESC C-@)して [prefix] B(大文字) してcenter環
境に括り入れます。
「じゃあpreviewしてみよっか、でもこの部分だけでいいやね」と
いってもっぺんcenter環境全体をマーク(ESC C-@)して
[prefix] % b してcenter環境を %#BEGIN〜%#ENDで括ってから
領域タイプセットします。[prefix] t r。
「さてpreviewじゃ」
といいつつ [prefix] t p します。
「ほほう、よし、表を書こう」と言って、
enumerate環境の後ろにtabular環境を作ります。
「まあ3列くらいかな」といいつつデフォルトの質問には全てリター
ンだけで答えます。すると & & \\ が勝手に挿入されるので適当に埋
めます。
「はい、次の行」
と言いながら ESC RET します。また適当に埋めて
領域タイプセットして xdvi をraiseします。muleに戻りcenter環境
の外に『この表は重要ネ〜』と書きます。
「うむ、『重要』にはアンダーラインを引こう」
といって『重要』をリジョン指定して [prefix] S(大文字) で
underline を補完入力し、またpreviewします。
「やっぱアンダーラインはやめ」と言いながら
\underline または { か } にカーソルを合わせて [prefix] k して
\underline{} を消します。またpreviewして、
「やっぱセンタリングは要らんかもしれんなあ…」と言いつつ
\end{center} にカーソルを合わせて [prefix] . を押します。
すると \begin{center}, \end{center} に % がつくのでまた
previewします。
「うむ、やっぱりセンタリングはぽいっ」と言って
\end{center}の行で [prefix] k をおして begin/end 対を消します。
「さて、ファイルがでかくなって来たので分割するか」と言って
\include{foo} などを補完入力します。
「じゃあ foo.tex を作らなきゃ…」と言って [prefix] g します。
foo.tex が勝手に作られるので適当にごちゃごちゃ書いて
[prefix] t j でタイプセットします。
「ほ〜ら、foo.tex の親ファイルがさっきのファイルだって分かって
るでしょ?」と説明します。[prefix] ^ で親ファイルに戻ります。
「あ〜れ、おれこのソースをいくつに分割してたんだっけ?」
とすっとぼけながら [prefix] d でincludeツリーを表示させて
n や p でごちゃごちゃやります。
こんな感じですかね。
あとは、イメージ補完、数式モード自動判定、先回りusepackageなんて
のもAUCにはありません。
・なんで構成ファイルがいまさらSJISなの? だっせー。
このファイルがSJISで書かれているということが分かるあなたは、野鳥
の構成ファイルがJISだろうがEUCだろうが対処できるはずです。しかし
SJISで生活している人には分かりません。Meadowや Mule for win32 な
らEUCでも読めるんじゃないの? と感じるかもしれませんが、Meadow な
どを使いはじめた人の中からは、「pLaTeX+野鳥が便利そうだ」という
ことがきっかけになっているという嬉しい報告も聞きます。そういう人
にとってEUCやJISは得体の知れない手間のかかる面倒なファイルでしか
ありません。彼らがTeXやEmacsなどの素晴らしい世界に触れる目前で遠
慮してしまう可能性を考えると、やはり野鳥はSJISであり続けるべきだ
と思います。
Emacs20の一部のバージョンで、文字列に漢字を含むEmacs-Lispファイ
ルをバイトコンパイルすると化けてしまうものがあるのは知っています
が、それはEmacs20の非です。しかしそれはいずれ直されるであろうバ
グであり、Emacs20を使いこなしているヴェテランのちょっとした手間
を軽減するためにJISコードなどに変更して、Emacs初心者に対する益を
失いたくありません。
そういうわけで、野鳥ではダサくても嫌いでも、SJISを使います。
・メイリングリストはないんですか?
っていう質問項目があるくらいだからあります。「野鳥」およびそのVz
への移植版「雷鳥」(by KATSURAGAWA, Naoki)、Wzへの移植版「白鳥」
(by TAKENAKA, Hiroshi)、Hidemaruへの移植板「飛鳥」(by YASUDA
Haruyuki)、xyzzyへの移植版「花鳥」(by MAEDA Manabu) に関する情報
交換のためのメイリングリスト「fj野鳥の会」がそれです。
To: yatex@yatex.org
Subject: subscribe
-----
たぐでーし。
明けましておめでとうございまーす。
のようにメイルを送れば加入できます。手続きは全て自動で行われ、登
録が完了すると確認とともに、参加/休止/脱会等の制御コマンドの利用
方法が返送されます。是非参加して一緒に野鳥/雷鳥/白鳥/飛鳥を育て
てください。なお、自己紹介の文が無い場合一見加入したように見えま
すが、自動的に登録解除しますので御注意下さい。
・野鳥の最新情報は?
もしあなたが、WWWにアクセスできるなら、
http://www.yatex.org/
を覗いてみて下さい。このなかの、「yatex-current」というリンクを
たどると最新版の野鳥を入手することができます。ただし、正式リリー
ス版ではなく、作者がデバッグ中だったりして正常に動作しない可能性
があるので、current版の利用はとくに「デバッグに協力する」という
心構えでの利用をお願いします。
・とにかくわかりませーん!
まず質問の前に yatex-current(上述) を試してみて下さい。既に直面
した問題が解決されているかもしれません。それでもだめなら質問しま
しょう。
回答を得るまでの早い順に
・近くにいる詳しい人に聞く
・メイリングリストに質問を出す
でしょうか。お好きな方法でどうぞ。
・このファイルを C-u C-x $ してQを眺めて項目選んで C-x $ しても変な所にいく。
↑なっちゃいますよね? とりあえずQuestionのところで mark しておい
て C-x $ したあと C-x C-x してますが(mule2だとこんな苦労しなくて
済むようです)。