LYX の高度な機能 LYX プロジェクトチーム∗ 2009 年 12 月 24 日 ∗ このファイルは主に Richard Heck によって管理されています。コメントをされたい場合や 誤りを発見された場合には、LYX 文書化メーリングリスト<[email protected]>に 英文にてお知らせ下さい。この文書の翻訳は、当初人見光太郎氏が行った貢献に基づいて います。 目次 1 はじめに 1 2 LYX と LATEX 2.1 LYX は LATEX をどう使っているか . . 2.2 LATEX ファイルを LYX に読み込む . . 2.3 LATEX コードを挿入する . . . . . . . 2.4 LYX と LATEX プリアンブル . . . . . . 2.4.1 LATEX プリアンブルについて . 2.4.2 プリアンブルの変更 . . . . . 2.4.3 例 . . . . . . . . . . . . . . . 2.4.3.1 例 1:オフセット . . 2.4.3.2 例 2:ラベル . . . . 2.4.3.3 例 3: 段落の字下げ 2.4.3.4 例 4:この文書 . . . 2.5 LYX および LATEX のエラー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 4 4 6 6 6 7 7 7 8 8 8 3 補完ツール 3.1 BibTEX による参照文献のカスタマイズ 3.1.1 他の引用様式 . . . . . . . . . . 3.1.2 節分けされた参考文献 . . . . . 3.1.3 複数の参考文献 . . . . . . . . . 3.2 複合文書 . . . . . . . . . . . . . . . . . 3.2.1 一般的な操作 . . . . . . . . . . 3.2.2 ファイル間の相互参照 . . . . . 3.2.3 すべての子文書での参考文献 . 3.3 装飾的なヘッダ・フッタ . . . . . . . . 3.4 箇条書き(記号)ブリットの指定 . . . 3.4.1 はじめに . . . . . . . . . . . . . 3.4.2 インタフェース . . . . . . . . . 3.4.3 使用法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 13 13 13 14 14 14 15 16 16 17 17 18 18 4 LYX サーバー 4.1 はじめに . . . . . . . . . . . . 4.2 LYX サーバーを開始するには 4.3 通常の通信 . . . . . . . . . . 4.4 通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 21 21 22 23 . . . . . . . . . . . . . . . . . . . . iii 目次 単純な LYX サーバープロトコル . . . . . . . . . . . . . . . . . . . . . 23 5 特別な文書クラス 5.1 A&A Paper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.2 最初の一歩 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.3 へッダブロック . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.4 アブストラクト . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.5 サポートされる環境 . . . . . . . . . . . . . . . . . . . . . . . 5.1.6 LYX でサポートされていないコマンド . . . . . . . . . . . . . 5.1.7 図とテーブルフロート . . . . . . . . . . . . . . . . . . . . . . 5.1.8 Referee layout . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.9 論文の例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 AASTEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 新しい論文を書き始める . . . . . . . . . . . . . . . . . . . . . 5.2.3 論文を書き終わったら . . . . . . . . . . . . . . . . . . . . . . 5.2.4 いくつかのコマンドに関するコメント . . . . . . . . . . . . . 5.2.4.1 予想通りに動くコマンド . . . . . . . . . . . . . . . . 5.2.4.2 動くけれども少し説明が必要なコマンド . . . . . . . 5.2.4.3 実装されてなく、ERT を使わなければならないコマ ンド . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.4.4 実装できないもの . . . . . . . . . . . . . . . . . . . 5.2.5 FAQ とヒント . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.5.1 LYX に AASTEX を認識させる . . . . . . . . . . . . 5.2.5.2 表を処理する際の LATEX エラー . . . . . . . . . . . . 5.2.5.3 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . 5.2.5.4 EPS ファイルの挿入 . . . . . . . . . . . . . . . . . . 5.2.5.5 可能だが実装しなかったもの . . . . . . . . . . . . . 5.2.6 最後に . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 AMS LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 レイアウトに含まれるもの . . . . . . . . . . . . . . . . . . . . 5.4 AGU 学術誌(aguplus) . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.2 新しいスタイル . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.3 新しいフロート . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.4 サポートされているジャーナル . . . . . . . . . . . . . . . . . 5.4.5 バグと注意すべきこと . . . . . . . . . . . . . . . . . . . . . . 5.5 Broadway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.1 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.2 特別な問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.3 特別の機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.4 用紙サイズと余白 . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.5 環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 25 25 25 25 26 27 27 28 28 28 28 29 29 29 30 30 30 4.5 iv 31 31 32 32 32 32 33 33 33 34 34 36 36 36 37 37 37 37 37 37 38 38 38 目次 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 Dinbrief . . . . . . . . . . . . . . . . . . . . . . . . . . EGS 学術誌(egs) . . . . . . . . . . . . . . . . . . . . 5.7.1 概要 . . . . . . . . . . . . . . . . . . . . . . . . 5.7.2 新しいスタイル . . . . . . . . . . . . . . . . . . Elsevier 学術誌 . . . . . . . . . . . . . . . . . . . . . . Foils(別名 FoilTEX) . . . . . . . . . . . . . . . . . . 5.9.1 はじめに . . . . . . . . . . . . . . . . . . . . . . 5.9.2 はじめに . . . . . . . . . . . . . . . . . . . . . . 5.9.2.1 Extra Options . . . . . . . . . . . . . 5.9.3 サポートされる環境 . . . . . . . . . . . . . . . 5.9.4 一組のスライドを作る . . . . . . . . . . . . . . 5.9.4.1 タイトルページ . . . . . . . . . . . . . 5.9.4.2 新しいスライドを始める . . . . . . . . 5.9.4.3 Theorem、Lemma、Proof、その他 . . 5.9.4.4 箇条書き . . . . . . . . . . . . . . . . 5.9.4.5 図と表 . . . . . . . . . . . . . . . . . . 5.9.4.6 ページヘッダーとフッター . . . . . . 5.9.5 サポートされない FoilTEX の機能 . . . . . . . . 5.9.5.1 長さ . . . . . . . . . . . . . . . . . . . 5.9.5.2 へッダとフッタ . . . . . . . . . . . . . Hollywood(Hollywood スペック・スクリプト) . . . . 5.10.1 はじめに . . . . . . . . . . . . . . . . . . . . . . 5.10.2 特別の問題 . . . . . . . . . . . . . . . . . . . . 5.10.3 特別の機能 . . . . . . . . . . . . . . . . . . . . 5.10.4 用紙サイズと余白 . . . . . . . . . . . . . . . . . 5.10.5 環境 . . . . . . . . . . . . . . . . . . . . . . . . 5.10.6 脚本で使われる特別な用語 . . . . . . . . . . . . ijmpd . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11.1 概観 . . . . . . . . . . . . . . . . . . . . . . . . 5.11.2 論文を書く . . . . . . . . . . . . . . . . . . . . 5.11.3 投稿のための準備 . . . . . . . . . . . . . . . . . 5.11.4 ERT の使用 . . . . . . . . . . . . . . . . . . . . iopart . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.12.1 外観 . . . . . . . . . . . . . . . . . . . . . . . . 5.12.2 論文を書く . . . . . . . . . . . . . . . . . . . . Kluwer . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.13.1 はじめに . . . . . . . . . . . . . . . . . . . . . . 5.13.2 論文を書く . . . . . . . . . . . . . . . . . . . . 5.13.3 投稿のための準備 . . . . . . . . . . . . . . . . . 5.13.4 Kluwer パッケージの「風変わり」な特徴 . . . . Koma-Script . . . . . . . . . . . . . . . . . . . . . . . . 5.14.1 はじめに . . . . . . . . . . . . . . . . . . . . . . 5.14.2 article (koma-script), report (koma-script), and script) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . book (koma. . . . . . . . 39 39 39 39 39 40 40 40 41 42 43 43 44 44 44 44 45 45 45 46 46 46 46 46 47 47 48 48 48 48 49 49 49 49 50 50 50 51 51 51 52 52 53 v 目次 5.15 5.16 5.17 5.18 5.19 5.20 5.21 5.14.3 letter (koma-script) . . . . . . . . . . . . . . . . . 5.14.4 新しい letter class: letter (koma-script v.2) . . . . 5.14.5 問題点 . . . . . . . . . . . . . . . . . . . . . . . . Latex8(IEEE 学会論文) . . . . . . . . . . . . . . . . . 5.15.1 はじめに . . . . . . . . . . . . . . . . . . . . . . . 5.15.2 はじめに . . . . . . . . . . . . . . . . . . . . . . . 5.15.3 サポートされている環境 . . . . . . . . . . . . . . 5.15.4 画面と印刷したものの違い . . . . . . . . . . . . . Memoir . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.16.1 概観 . . . . . . . . . . . . . . . . . . . . . . . . . 5.16.2 基本的な機能と制限 . . . . . . . . . . . . . . . . 5.16.3 追加された機能 . . . . . . . . . . . . . . . . . . . mw クラス . . . . . . . . . . . . . . . . . . . . . . . . . . Paper . . . . . . . . . . . . . . . . . . . . . . . . . . . . RevTEX4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.19.1 インストール . . . . . . . . . . . . . . . . . . . . 5.19.2 プリアンブルに関すること . . . . . . . . . . . . . 5.19.3 レイアウト . . . . . . . . . . . . . . . . . . . . . 5.19.4 重要な注意 . . . . . . . . . . . . . . . . . . . . . 5.19.5 問題点 . . . . . . . . . . . . . . . . . . . . . . . . Springer 学術誌(svjour) . . . . . . . . . . . . . . . . . 5.20.1 説明 . . . . . . . . . . . . . . . . . . . . . . . . . 5.20.2 新しい環境 . . . . . . . . . . . . . . . . . . . . . 5.20.3 サポートしているジャーナル . . . . . . . . . . . 5.20.4 Credits . . . . . . . . . . . . . . . . . . . . . . . . 5.20.5 バグ . . . . . . . . . . . . . . . . . . . . . . . . . Slides(別名 SliTEX) . . . . . . . . . . . . . . . . . . . 5.21.1 はじめに . . . . . . . . . . . . . . . . . . . . . . . 5.21.2 はじめに . . . . . . . . . . . . . . . . . . . . . . . 5.21.3 段落環境 . . . . . . . . . . . . . . . . . . . . . . . 5.21.3.1 サポートされている環境 . . . . . . . . . 5.21.3.2 新しい環境の振る舞い . . . . . . . . . . 5.21.4 Slide、Overlay、Note で発表用のスライドを作る 5.21.4.1 Slide 環境を使う . . . . . . . . . . . . . 5.21.4.2 Overlay を Slide といっしょに使う . . . 5.21.4.3 Note を Slide といっしょに使う . . . . . 5.21.5 slides クラスのテンプレートファイル . . . . . . . 6 ソフトウェアを追加する必要がある LYX 機能 6.1 TEX チェック . . . . . . . . . . . . . . . 6.1.1 はじめに . . . . . . . . . . . . . . 6.1.2 使いかた . . . . . . . . . . . . . . 6.1.3 微調整のしかた . . . . . . . . . . 6.2 LYX でのバージョン管理 . . . . . . . . . vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 57 57 58 58 58 58 59 59 59 59 61 61 62 62 62 63 63 63 63 64 64 64 64 65 65 65 65 65 66 66 67 68 68 69 70 71 . . . . . 73 73 73 74 74 77 目次 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LYX での RCS コマンド . . . . . . . . . . . . . . . . . . . . . . 6.2.2.1 登録 . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.2.2 変更をチェックインする . . . . . . . . . . . . . . . . 6.2.2.3 チェックアウトして編集 . . . . . . . . . . . . . . . . 6.2.2.4 保存されたバージョンに戻す . . . . . . . . . . . . . 6.2.2.5 最後のチェックインを取り消す . . . . . . . . . . . . 6.2.2.6 履歴を表示 . . . . . . . . . . . . . . . . . . . . . . . 文芸的プログラミング(Literate Programming) . . . . . . . . . . . 6.3.1 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.2 文芸的プログラミング . . . . . . . . . . . . . . . . . . . . . . 6.3.2.1 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . 6.3.3 LYX と文芸的プログラミング . . . . . . . . . . . . . . . . . . 6.3.3.1 ドキュメントとコードの生成(weaving と tangling) 6.3.3.2 LYX の設定 . . . . . . . . . . . . . . . . . . . . . . . 6.3.3.3 デバッグ機能の拡張 . . . . . . . . . . . . . . . . . . 6.3.3.4 ツールバーの拡張 . . . . . . . . . . . . . . . . . . . 6.3.3.5 色を変える . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 6.2.2 6.3 7 LATEX の達人の秘密 7.1 多段組み . . . . . . . . . . . . . . . . 7.1.1 目的 . . . . . . . . . . . . . . 7.1.2 制限事項 . . . . . . . . . . . . 7.1.3 例 . . . . . . . . . . . . . . . 7.1.3.1 二段組み . . . . . . 7.1.3.2 多段組み . . . . . . 7.1.3.3 カラムの中のカラム 7.2 箇条書き(連番)の番号振り . . . . 7.3 Dropped Capitals . . . . . . . . . . . 7.4 標準的でない形の段落 . . . . . . . . 7.5 まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 77 77 77 78 78 78 78 78 78 78 79 80 80 83 83 84 84 85 85 85 85 86 86 86 87 87 88 89 89 vii 1 はじめに いまお読みの取扱説明書『LYX 拡張機能篇』は、基本的には『ユーザーの手引き』の 第二部です。この文書を別部とした理由は、単純に『ユーザーの手引き』がすでに大 部となっていることと、『ユーザーの手引き』が、ほとんどの文書を作成する上で必 要な基本機能をすべて説明してしまっているためです。一方で、LYX プロジェクト チームは、LYX を各設定ファイルと外部パッケージによって拡張可能な状態にしてお くことを長期的な目標にしています。つまり、ある LATEX パッケージをサポートした い場合に、LYX 自身に変更を加えることなく、当該パッケージ用のレイアウトファイ ル(ないしモジュール)を作成すればいいようにしているのです。すでにこのような 形で、いくつもの新機能がユーザーによって追加されています。この取扱説明書は、 そのような形での貢献を文書化する冊子として位置付けられています。 この取扱説明書では、ファックスのサポート・バージョン管理・SGML サポートの ような、正しく機能するためには追加的なソフトウェアを必要とする特殊機能につい ても説明しています。さらに、LATEX の強力な機能を直接使って文書を美しく仕上げ るための、LATEX ツールやテクニックを述べた章も収録しています。つきつめれば、 LYX とはあくまで WYSIWYM たることを企図しているため、LATEX の全機能の一部 へのインタフェースは用意するものの、すべてを用意することはないでしょう。 もし、まだ『はじめの一歩』をお読みでなかったら、この取扱説明書から読みはじ めるのは誤りです。『はじめの一歩』には、全取扱説明書に共通の表記法と書式が説 明されていますので、まずそれからお読みください。さらに、この取扱説明書を読も うとする前に、『ユーザーの手引き』をよくお読みになって、LYX の全基本機能を習 得してください。 この取扱説明書の取り上げられている話題は、LYX が LATEX にどう関わっている かに強く関係していますので、まず次章では、LYX の内部動作がどうなっているか、 LYX に希望する LATEX コードを正確に生成させるにはどうしたらいいかを収録して います。本章は、あきらかに熟練 LYX ユーザー向けの章となっています。 1 2 LYX と LATEX 2.1 LYX は LATEX をどう使っているか 本章は、TEX 熟練者と LATEX に興味のある方向けの章です。ここでは、LYX と LATEX が、印刷可能な出力を生成するのに、どのように協働しているのかを説明します。全 取扱説明書中で本章だけは、LATEX のことを多少なりともご存知であることを前提と します。 かつて LYX は、 「LATEX の WYSIWYM なフロントエンド」と呼ばれていましたが、 いまではこれは正しくありません。LATEX のフロントエンドは、いくつも出回ってい ます1 。これらは、基本的に LATEX を走らせる機能を有し、編集中のファイルのエラー を表示する機能を持ったテキストエディタです。LYX も、エディタであり、LATEX を走 らせる機能を有し、ファイル中のエラーを指摘しますが、それ以上にもっともっと多 くのことをしてくれます。ひとつには、LYX を効果的に使うのに、LATEX の知識が必 要とされないことが挙げられます。また LYX は、それ自身、いくつかの拡張を LATEX に加えています。時間のあるときにでも、いちど以下の手順を試してみてください。 まずファイルメニューからエクスポート . LATEX(あるいは表示 . ソースを閲覧)を選 択し、そこから出力される.tex ファイルのプリアンブルをご覧ください。LYX によっ て特別に定義された新しいマクロが複数定義されていることに気づかれるはずです。 これらのマクロは、文書中で使用する機能に応じて、自動的に定義されます。 自動的に LATEX を実行するコマンドが、以下のようにいくつかあります。 • 表示 . 書式 • 表示 . 更新 . 書式 • ファイル . 印刷 • ファイル . ファックス これらは、最後に LATEX を実行してからファイルに変更が加えられた場合のみ、LATEX を実行します。 LYX が編集中のファイルを LATEX にかけるとき、LYX は以下の段階をふみます。 1. 文書を LATEX に変換し、ファイルの拡張子を.lyx から.tex に変えて保存。 2. この.tex ファイルに対して(必要に応じて複数回)LATEX を実行し、LATEX ファ イルをコンパイルするのに必要な他のコマンド(bibtex や makeindex など)を 実行。。 1 有名なものとしては、Linux 上の TEXmaker と kile、OSX 上の TEXshop などがあります。もちろ ん vi と emacs の LATEX モードも含まれます。 3 2 LYX と LATEX 3. もしエラーがあれば、エラーログを表示。 LATEX を表示 . DVI を使用して実行した場合には、LYX はこの後、DVI ビューアを実 行して DVI ファイルを表示します。表示 . PostScript を使用した場合には、LYX はさ らに以下の段階をふみます。 • dvips を実行して、DVI ファイルを PostScript®に変換。 • ghostview などの PostScript®ビューアを実行して、PostScript®ファイルを 表示。 LYX は、他の書式を表示したりエクスポートしたりする際にも、同様のことを行い ます。 2.2 LATEX ファイルを LYX に読み込む LYX でファイル . インポート . LATEX コマンドを使用すると、LATEX ファイルを LYX に インポートすることができます。このコマンドは、tex2lyx というプログラムを呼び 出し、foo.tex などというファイルから foo.lyx を生成します。LYX は、この変換 したファイルを開きます2 。 tex2lyx は、文法的に正しい LATEX ファイルのほとんどを変換することができます が、すべてを変換できるわけではありません。tex2lyx は、理解不能な部分は TEX コードボックスの形で残しますので、ファイルを tex2lyx で変換したのち、TEX コー ドボックスを探して、手動で正しく編集してください。 TEX コードボックスがなにかご存じなければ、次節をお読みください。 2.3 LATEX コードを挿入する どの LYX 文書にもつねに TEX コードを挿入することが可能であるというきわめて単 純な理由によって、LATEX にできることは、つねに LYX でも行うことができます。一 方、LYX は、すべての LATEX 構成物を LYX 内に表示できるわけではなく、将来的に もそうならないでしょう。かりに LATEX コマンドを LYX 文書に挿入する必要が出て きた場合には、TEX コードボックスを使用してください。これは、挿入 . TEX コードか ら、文書中に挿入することができます。 以下は、LATEX コマンドを LYX 文書中に挿入する例です。コードは以下のように なっているとしましょう。 \begin{tabular}{ll} \begin{minipage}{5cm} これは、ミニページ環境の例です。 これには、 (フロートでない)図表を 含め、ほとんど何でも 2 4 tex2lyx は、もちろんコマンドラインから実行することもできます。 2.3 LATEX コードを挿入する 入れることができます。 \end{minipage} & \begin{minipage}{5cm} \begin{verbatim} \begin{minipage}{5cm} これ... \end{minipage} \end{verbatim} \end{minipage} \end{tabular} 上記のテキストを含んだ TEX コードボックスが、この段落の直後にあります。この取 扱説明書を LYX 上でご覧になっていれば、TEX コード差込枠のみが見えるはずです。 印刷した取扱説明書をご覧であれば、実際の結果が見れるはずです。 これは、ミニページ環境の 例です。これには、 (フロー \begin{minipage}{5cm} トでない)図表を含め、ほと これ... \end{minipage} んど何でも入れることがで きます。 TEX コードを使用する方法に加えて、複雑な LATEX コードを含む部分を別ファイ ルとして作成しておき、そのファイルをインクルードするのに挿入 . ファイル . 子文 書を使用する方法もあります(取り込みの型として Input を選択しなくてはなりま せん)。この方法をとる場合には、.tex ファイルが正しく動作することが確認できて いる場合のみに限った方がよいでしょう。さもないと、LATEX エラーを追跡するたい へんな作業を行わなくてはならなくなります。 最後に、いくつか強調しておくべきことがあります。 • LYX は、あなたの LATEX コードが正しいかどうかをチェックしません。 • 車輪の再発明をしないようにご注意ください。 二番目の点に関して、LYX はひじょうにたくさんの機能を装備しており、その数は増 えつづけています。ご自身で LATEX コードを書かなくてはならないと思い込む前に、 LYX がこれこれの機能をもっていないことを、取扱説明書で確実に確かめてくださ い。さらに世の中には、封筒のラベルから美しい複数ページにわたる表を作るものま で、ありとあらゆることを行う膨大な数の LATEX パッケージが存在します。詳細につ いては、CTAN と第 7 節をご覧ください。 もし、文書中で例外的に手の込んだことをなさりたければ、かならず良い LATEX 関 連書籍を参考とするようにしてください。『ユーザーの手引き』の参考文献に多くの LATEX 関連書籍が引用されています。 5 2 LYX と LATEX 2.4 LYX と LATEX プリアンブル 2.4.1 LATEX プリアンブルについて すでに LATEX についてご存知であれば、ここでプリアンブル(前置文)が何に向い ているか説明する必要はないでしょう。もしご存じなければ、以下の説明で大まかな 理解は得られるはずです。詳しくは LATEX 関連書籍をご参照ください。いずれにして も、以下で LYX 文書の LATEX プリアンブルで何ができるか、または何をする必要が ないか説明をしますので、以下の各要点はお読みになった方が良いでしょう。 LATEX プリアンブルは、LATEX 文書のいちばん始め、本文の前の部分に来ます。こ こでは以下のことを行います。 • 文書クラス(ドキュメントクラス)の宣言。 これは LYX がすでに行ってくれています。もしあなたが熟達した LATEX 使いで あり、自作の文書クラスを使いたい場合には、取扱説明書『カスタマイズ篇』 をご覧になれば、LYX に自作文書クラスへの仲介を行わせるにはどうすればよ いかの情報があります。 • パッケージ使用の宣言。 LATEX パッケージは、パッケージがプリアンブルで宣言された場合のみ、文書中 で利用可能となる、追加コマンド群を提供します。例えば、indentfirst パッ ケージは、すべての段落の最初の行を字下げします。他にも、ラベルや宛名書 き、余白設定等の様々なパッケージがあります。 • カウンタ・変数・長さ・幅の設定。 LATEX のカウンタと変数の中には、プリアンブルでグローバルに設定しないか ぎり、望んだ効果を持たないものがあります。 (文書中で設定したり再設定した りすることのできる変数もあります。)余白は、プリアンブルで設定しなくて はならない変数の代表例です。他には、箇条書きに付けるラベル書式が挙げら れます。じつは、この設定は文書中どこでもできるのですが、プリアンブルで いちどだけ設定するのが望ましい方法です。 • ユーザー定義コマンドの宣言(\newcommand または\renewcommand を使用)。 ユーザー定義コマンドは、文書中で頻出する LATEX コマンドの短縮形です。こ のようなコマンドを宣言するには、プリアンブルが適した場所ですが、どこで 宣言することも可能です(もちろんコマンドが初めて使用される場所よりも前 です)。あまりないことではありますが、お使いの文書中に生の LATEX コードが あふれている場合には便利でしょう。 LYX は、その生成する.tex ファイルのプリアンブルに、それ自身の定義を追加しま す。これによって、LYX の生成する LATEX ファイルの可搬性を高めています。 2.4.2 プリアンブルの変更 LYX が LATEX ファイルのプリアンブルに追加するコマンドは、つねに同じです。こ れは、LYX 自体にパッチを当てないかぎり変更できないようになっています。しかし 6 2.4 LYX と LATEX プリアンブル ながら、文書 . 設定ダイアログの LATEX プリアンブルの項から、プリアンブルに追加 をすることはできます。LYX は、プリアンブルダイアログ内のすべてのものを、LYX 埋込みのプリアンブルに付け加えます。ご自身の宣言をプリアンブルに追加する前 に、あなたがしようとしていることを LYX がすでにサポートしていないかどうか確 認してください(車輪の再発明をしないように、とはすでに申しあげたことです)。 また、プリアンブルコードが正しいことを確認してください。LYX は、プリアンブ ルをチェックしません。もしエラーがあれば、 「Missing \begin{document}」といっ たエラーが出ることでしょう。このようなエラーが出たときは、プリアンブルを再確 認してください。 2.4.3 例 以下は、プリアンブルに追加できるものとその効果を示す例です。 2.4.3.1 例 1:オフセット LATEX には、\hoffset と\voffset というページ位置を制御する 2 つの変数がありま す。その機能は名前から明らかなとおりです。これらの変数は、ラベルを印刷すると きなどに便利です。往々にして、印刷用紙の寸法とそのうち実際に印字可能な範囲は 同じではありません。ここに\hoffset と\voffset が役立つわけです。 \hoffset と\voffset の既定値はともに 0 ポイント、つまりページをシフトしませ ん。残念ながら、DVI ドライバによってはつねにページをシフトすることがあるよう です。我々には、どうしてそのようなことをするのか、そしてシスアドがどうしてそ れを修正しないのか理解できませんが、もし個人的に管理できないシステムで LYX を使用していて、シスアドがお馬鹿さんである場合には、\hoffset と\voffset が役 に立ちます。かりに、上余白と左余白がつねに 0.5 インチずつ大きすぎるものとしま しょう。その場合は、以下をプリアンブルに追加するとよいでしょう。 \setlength{\hoffset}{-0.5 in} \setlength{\voffset}{-0.5 in} これで余白が修正されます。 2.4.3.2 例 2:ラベル いま、たくさんの宛名ラベルを印刷をしたいものとしましょう。ラベルシートを印刷 するために便利な labels.sty という LATEX パッケージが、お近くの CTAN アーカ イブで入手可能です。お使いのシステムには、既定ではこのパッケージは導入されて いないかもしれません。ご自身でお確かめください。また、このパッケージの取扱説 明書を読まれたいかもしれませんが、それもご自身にお任せします。これは使用例で すので、このパッケージをどう使うかの例だけお見せすることにします。 まず、article 文書クラスを使用していることをご確認ください。次に、以下のよう な設定をプリアンブルに追加しなければなりません。 7 2 LYX と LATEX \usepackage{labels} \LabelCols=3 \LabelRows=7 \LeftBorder=8mm \RightBorder=8mm \TopBorder=9mm \BottomBorder=2mm これは Avery®ラベルシートのストック 5360 番を使用する場合の設定です。これで、 各宛名を\begin{labels}と\end{labels}で囲めば、宛名ラベルの印刷をすることが できます。本機能およびその他の機能に関しては、labels.sty の取扱説明書に説明 されています。 そのうち誰かが、このパッケージを直接サポートする LYX レイアウトファイルを 作ってくれるかもしれません。その誰かはあなたかもしれません。 2.4.3.3 例 3: 段落の字下げ アメリカ人は、すべての段落の最初の行を字下げするように教育されています。その ために彼らの他の変な習慣と同じく、いつものようにすべての段落の最初の行を下げ るまで、アメリカ人はごちゃごちゃと文句を言いつづけるのです。(これはユーモア です。(ほんと?)ユーモアですってば。) もちろん、これは標準的な組版ルールではありません。書籍では、典型的には、他 の段落のあとにくる段落のみ字下げを行ないます。一行めを字下げをするそもそもの 目的は、隣接する段落から区別するためです。したがって、図のあとや節の最初の段 落など、先行する段落がない場合には、字下げをする必要はないのです。 けれどもあなたが典型的なアメリカ人なら(ユーーモアですって!)、そのような 小難しいことはかまわずに、いつもどおりの字下げをせずにはいられないでしょう! プリアンブルに次の行を加えて下さい。 \usepackage{indentfirst} もしお使いの TEX 頒布版が脳死状態でなければ、このパッケージが入っているはず なので、建国の父たちが意図したように、すべての段落が字下げされます。 2.4.3.4 例 4:この文書 この文書のプリアンブルを見てみると、どのような高度な設定ができるか、おおまか な理解が得られるでしょう。また第 7 章には、他の例や、LATEX の各種の「汚い技」 があります。 2.5 LYX および LATEX のエラー LYX が LATEX を呼び出す際、LYX は LATEX に、かりにエラーがあったとしても楽観的 に無視して先に進むように指示します。その後 LYX は、LATEX の実行ログファイルを 8 2.5 LYX および LATEX のエラー 事後処理用に使います。ログファイルを分析したのち、LYX はエラーを一覧表示する ダイアログを表示します。エラーのうちどれかをクリックすると、LYX ファイル中、 そのエラーの発生した場所に表示を移動します3 。 人によっては、ログファイルを直接ご覧になりたいかもしれません。これは、文 書 . LATEX ログで見ることができます。エラーメッセージや警告には、よく見かける ものがいくつかありますので、それらをここに収録しておきます。ここにないエラー や警告に関しては、LATEX 関連の良書を参照してください。 • LATEX Warning これで始まるメッセージは、LATEX コード自体を「デバッグ」するための警告 メッセージです。相互参照や参考文献を追加したり変更した場合に、もう一度 LATEX を実行する必要があることを知らせるために、このようなメッセージが 表示されます。このメッセージは、だいたいにおいて無視しても大丈夫です。 • LATEX Font Warning LATEX がフォントを見つけられなかったと言う警告メッセージです。多くの場 合、このメッセージの後に、LATEX が使用した代替フォントに関する情報が続 きます。これも無視して構いません。 • Overfull \hbox LATEX は、ほぼどんなときでもこの警告を吐き出します。これは、一行が長す ぎて右余白にはみ出してしまったという警告ですが、ほとんどの場合、最終出 力を見ても判別できないくらい(せいぜい 1 ポイントか 2 ポイント)です。あ るいは 1 文字か 2 文字右余白に出ているくらいです。LATEX は、どんな文書を 書いても、少なくとも一つはこのメッセージを出すようです。 このメッセージは無視しても大丈夫です。何か行が長すぎるような問題があれ ば、目で見ればわかります。出力を目で確認してください4 。 • Underfull \hbox これは上の警告と違ってあまり出てきません。なぜだかは分かりませんが、LATEX は 1 行を短めにする印字するよりは、長めにする方が好きなようです。 • Overfull \vbox と Underfull \vbox ページ区切りに問題があったという警告です。この場合も、出力を目で確認し てください。何か問題があれば、見てすぐわかります。 • LATEX Error: File ‘Xxxx’ not found ファイル「Xxxx」が、システムに導入されていません。これは通常、文書が必 要としている LATEX パッケージに、導入済でないものがある場合に現れます。 3 正確にいうと、通常は、です。ログファイルの分析は難しい仕事ですので、LYX はつねに正しい行 に連れて行ってくれるとは限りません。ときには、LATEX がある行にエラーがあると報告したとし ても、実際のエラーはそれよりも前であることもあります。これは、プログラムで閉じ括弧を忘れ たときに似ていなくもありません。エラーは表示されますが、実際にエラーのある場所よりも後ろ でエラーが報告されるのです。 4 あるいは、文書 . 設定で「draft」オプションを指定する方法もあります。こうすると、LATEX は、 overfull の発生した行の余白に黒い四角を描画します。 9 2 LYX と LATEX プリアンブルに変更を加えておらず、\usepackage{}コマンドも使用していな いとすれば、LYX が読み込もうしているパッケージに存在しないものがあると いうことです。ヘルプ . LATEX の設定を使用して、LYX が認識しているパッケー ジの一覧を得てください。このファイルは、 (ツール . 再設定を使用して)LYX の再設定を行うたびに更新され、どのパッケージが検出されたか、それらのパッ ケージが何をするものかを表示します。 \usepackage{}コマンドを使っていて、肝心のパッケージが導入されていない場 合には、ご自身で導入する必要があります。 • LATEX Error: Unknown option このように始まるエラーメッセージは、パッケージに誤ったあるいは未定義の オプションが指定されていることを伝えようとするものです。パッケージの取 扱説明書をご確認ください。 • Undefined control sequence お使いの文書に LATEX コードを挿入した際、打ち間違いをしてしまうと、この ようなメッセージが表示されます。あるいは、パッケージを読み込ませるのを 忘れたのかもしれません。いずれにしても、このメッセージは、あなたが未定 義のコマンドを使用したことを示しています。 これ以外にも、エラーメッセージや警告メッセージがあります。一般に、読んで意味 がすぐにわかるものは、LATEX のメッセージです。何を言っているのかさっぱりわか らないものもありますが、通常これらは、TEX のメッセージであり、それが何を意味 しているのか、どのように解読すればいいのか、まったく手がかりがありません。誰 もわからないのです。 エラーメッセージが表示された場合は、つねに以下のチェックリストにしたがった 方がよいでしょう。 1. ご自分で挿入した LATEX コードに打ち間違いがないかどうか確かめる。 2. 打ち間違いがなければ、コマンドを正しく使ったかどうか確かめる。 3. 文書のもっともはじめの部分にエラーボックスが多数積み上がった場合には— 特に Missing \begin{document}が表示されているならば—、プリアンブルに エラーがあることを意味します。プリアンブルのデバックを行ってください。 4. プリアンブルに何も追加せず、文書に LATEX コードをまったく挿入しなかった 場合には、LATEX 頒布版自体をまず疑ってください。導入されていないパッケー ジを探しだして、導入してください。 5. 導入されていないパッケージはなかったものとしましょう。LYX を微調整する オプションを使用していますか。特に、手動で Protected Blank や Linebreak、 Pagebreak などをたくさん挿入するなど、微調整オプションを悪用していませ んか。適切な段落環境を使用する代わりに、これらを使用してその場をしのご うとしていませんか。 10 2.5 LYX および LATEX のエラー 6. 微調整オプションはまったく使用しておらず、規則に乗っ取って作業していた ものとしましょう。何か曲芸のようなことをしようとはしていませんか。数式 や表中で、たとえば表のセルに図を入れるなど、おかしなことをしようとして いませんか。 7. LATEX が改行位置を見つけられないほど長い一節がありませんか。既定では、改 行するために単語間に空白をたくさん追加することを、LATEX はかなり嫌いま す。可能であれば、問題が生じないように段落を修正するのが望ましいでしょ う。それが難しければ、LATEX が改行しやすく(sloppy)なるように、その部分 を\sloppypar で囲んでください。 8. 入れ子の階層を深くしすぎていませんか。LYX は、(今のところ)環境の入れ 子の階層が制限内にあるかチェックしません。かりに、環境を 17 段の入れ子に したりしていたら、それが原因です(LATEX の上限は 5 段です)。 9. エラーメッセージは発生しないけれども、出力がひどいものとしましょう。図 表が幅が広すぎたり長すぎてページに収まらない場合には、 a) 図がページに合うように大きさを変える、 b) 表がページに合うように削る、 などの手段を採る必要があります。 10. 他に出力におかしいところがあり、曲芸をやろうとしたり微調整オプションで しのごうとしたりはしていないとすれば、何がおかしいのか確定的なことは言 えません。 これらすべてが役に立たないとすれば、ひょっとしたらLYX のバグを発見したのかも しれません‥‥。 11 3 補完ツール 3.1 BibTEX による参照文献のカスタマイズ BibTEX の基本的な使用法は、 『ユーザーの手引き』の参考文献データベース(BibTEX) の節に説明があります。以下の各小節では、LYX でサポートされている参考文献の特 別な機能について説明することとします。 3.1.1 他の引用様式 標準の BibTEX は、引用された著作を参照するのに、 ([12] のように)数字を使用しま す。しかし、多くの科学分野で、これとは異なる引用様式が用いられています。もっ ともよく見られるのは、著者-出版年様式(例:Knuth 1984a)です。LYX は、この様 式を提供する 2 つのパッケージ natbib と jurabib をサポートしています。これらの パッケージには、それぞれ長所短所がありますが、ここでは詳細に立ち入る紙幅があ りません。単純な著者-出版年様式(あるいは著者-番号)様式が欲しい場合や、無数 にある natbib 用スタイルファイルのうちどれかを使用したい場合には、定評のある natbib パッケージがおそらくよい選択でしょう。短縮タイトルによる参照や ibid. な ど、特別な機能が必要な場合には、jurabib パッケージの利用を考えるとよいかもし れません。 LYX での両パッケージの取扱い方は、ほぼ同じです。文書 . 設定メニューを開き、 参考文献項目から Natbib オプションか Jurabib オプションを選択してください。これ らのパッケージによって、引用ダイアログに機能が追加され、参照の様式が選択でき るようになります(「Knuth 1984」、「Knuth (1984)」、「Knuth, 1984」、「1984」な ど)。両パッケージは、専用にデザインされたスタイルファイルを必要とすることに 注意してください。両者ともそれ自身のスタイルファイルを同梱していますが、他に もたくさんの追加スタイルファイルがありますし、natbib に至っては、対話的なス タイルファイルビルダーさえ存在します1 。 3.1.2 節分けされた参考文献 場合によっては、参考文献をいくつかの節に分ける必要があることがあります。たと えば、あなたが歴史家であるとすれば、出典と学術文献を分ける機能は、おそらく 「必需品」でさえあります。残念ながら、BibTEX 自身ではこのようなことができま せん。しかし、適切な LATEX パッケージの助けを借りると、BibTEX をこのような必 要性を満たすように拡張することができます。 1 ftp://ctan.tug.org/tex-archive/macros/latex/contrib/custom-bib/ をご参照ください。 13 3 補完ツール LYX は、このようなパッケージの一つである bibtopic2 をそのままでサポートしま す。このパッケージの長所は、 (multibib のような他のパッケージと比較すると)新 規の引用コマンドを定義する必要がないことです。そのかわりに、参考文献の違う節 には、その節向けの項目を収録した別の参考文献データベースを用意する必要があり ます。たとえば、参考文献を「出典」の節と「学術文献」の節に分けたい場合には、 それぞれの参考文献データベース、たとえば souces.bib と scientific.bib とを作 成する必要があります。 文書 . 設定を開いて参考文献の下の節分けされた参考文献をチェックしてくださ い。すると、参考文献の各節に一つずつ、複数の参考文献を挿入することができま す。上記の例では、BibTEX 参考文献 sources.bib と二つめの参考文献データベース scientific.bib を挿入します。各節に同じスタイルを用いるか異なるスタイルを用 いるかは自由です。くわえて、参考文献の節に、指定したデータベースの「引用され たすべての参照」を載せる(これが既定です)か、 「引用されなかったすべての参照」 を載せるか、あるいは「すべての参照」を載せるかを選択することができます。これ は、もし参考文献を「本文に引用された出典」 ・ 「本文に引用されていない出典」 ・ 「学 術文献」の三つの節に分割したい場合に、便利でありましょう。各節の見出しは、通 常の節や小節として入れることができます。bibtopic は、参考文献用の見出しを取 り除いてしまいますので、手動でこれを追加しなくてはなりません(たとえば章*や 節*などをお使いください)。 3.1.3 複数の参考文献 文書の節ごとあるいは章ごとの参考文献など、複数の参考文献は BibTEX 自身ではサ ポートされていません。しかしながら、もし若干の TEX コード(第 2.3 節を参照)を 利用することを厭わなければ、LYX で節分けされた参考文献を作るのに使用されて いる(前節を参照)bibtopic パッケージが、この課題を解決する簡単な方法を提供 します3 。 まず文書 . 設定に行って参考文献の下の節分けされた参考文献を有効にしてくださ い。つぎに文書中において、参考文献(BibTEX 参考文献本体を含む)の入った節を \begin{btUnit}と\end{btUnit}のあいだにはさまなくてはなりません(これらのコ マンドは TEX コードとして挿入する必要があります)。参考文献には、現在位置の btUnit において引用されたすべての参照が含まれることになります。(註)この方 法を用いる場合には、すべての参照はいずれかの btUnit 内部になくてはなりません。 また、btUnit は入れ子構造にすることができません。 3.2 複合文書 3.2.1 一般的な操作 たくさんの節を含んだ大きなファイルで作業をする場合、文書をいくつかのファイル に分割した方が往々にして便利ですし、場合によっては、表部分にはしょっちゅう変更 2 3 ftp://ctan.tug.org/tex-archive/macros/latex/contrib/bibtopic/ から入手可能です。 ほかに、chapterbib や bibunits パッケージを利用する方法もあります。 14 3.2 複合文書 が加えられるけれども、その前の文章はつねに同じであるようなケースもあるでしょ う。このような場合には、複合文書を利用することを、まずご検討ください。たとえ ば、科学論文は通常、導入部・所見・結果・議論・結論の五つの節から成ります。これ ら各節を別々の LYX ファイルにして、タイトル・著者・概要・参考文献等と、これら 五つのインクルード4 ファイルを持つ、もう一つ別の「マスター」ファイルを作成す るようにすることができます。これらの各ファイルは、単にマスターファイルにイン クルードされるだけでなく、単独でも出力したり印刷したりすることのできる完全な LYX ファイルであるように注意することが重要です。しかも、これらの各ファイルは、 同じ文書クラスでなくてはなりません。article クラスと book クラスを混在させるよ うなことはなさらないでください。LATEX ファイルをインクルードすることもできま すが、このファイルにはプリアンブルがあってはなりません(\begin{document}行 とその前のすべて、および\end{document}行は削除しておかなければなりません)。 さもないと、DVI ファイルを作成する際にエラーが発生するでしょう。 LYX では、挿入 . ファイル . 子文書で簡単にファイルをインクルードすることがで きます。このメニューを選んでクリックすると、カーソルの現在位置に小さな枠が挿 入されます。この枠をクリックすると、ダイアログが現れるので、そこでインクルー ドするファイルとインクルード方法を選択することができます。 ファイル選択ボックスは、いまや自明でしょう。インクルード方法には、 「include」 ・ 「input」 ・ 「verbatim」の三つがあります。 「include」と「input」の違いは、正確には LATEX の達人にしか意味のないものですが、ほとんどの人にとって意味のある違いと いえば、「include」されたファイルは新規頁から組版されるのに対し、「input」され たファイルは現在のページから組版される点です。 一般に、マスターファイルは、組版前に完全な LATEX ファイルに変換されますが、 インクルードされるファイルは、プリアンブル情報をまったく持たない LATEX ファイ ルに変換されます。 「verbatim」インクルードファイルでは、ファイルの内容がそのまま(つまり「verbatim」 モードで)固定幅タイプライタフォントで組版されます。通常、このファイルの空白 は、通常の LYX での空白の取扱いとは違って、連続した複数の空白がそのまま出力 されるものの、単なる見えない空白です。ただし、出力の空白に印付けをするチェッ クボックスを有効にすると、空白が存在することを明確にするために空白の印が出力 されます。 3.2.2 ファイル間の相互参照 この節の内容は、すでに古くなっています。既定のマスター文書についてと、マス ターが開いているときに子文書をどう開くかについて記述する必要があります。[[要 修正]] 異なるファイル間に相互参照を設定することも可能です。まず、すべての関係する ファイルを開いてください。例として、2 つのファイルを扱う場合を考え、各ファイ ルを A・B と呼びます。B が A にインクルードされるファイルだとします。A にラベ 4 (訳註)「取り込む」の意です。原語「include」に対する訳語として、プログラミング用語の「イ ンクルードする」以外に適語がないので、ここではプログラミング用語をそのまま使用します。 15 3 補完ツール ルを入れて、B で参照したいとしましょう。文書 B で相互参照ダイアログを開いて、 使用する「バッファ」を選んでください。 3.2.3 すべての子文書での参考文献 この節も更新が必要です。この点に関する内容が wiki にあるので、それをここにコ ピーすることも可か。 すべての子文書の全文献項目を含んだ参考文献一覧をコピーし、それをコメントに 変更してください。このようにすることで、LYX は.bib ファイルを見つけることがで き、参考文献一覧を見えるようにせずとも簡単に参照を挿入することができるように なります。 参考文献一覧がコメントにあるために、LATEX はそれを使用しないので、参照は [1] のようには表示されないで [?] のように表示されます。ひとつの解決法として、コメ ントをインクルードする LATEX パッケージの comment を使用して、ファイルを別々に 処理する方法があります。そのためには、すべての子文書のプリアンブルに以下を書 き加えてください。 \usepackage{comment} \includecomment{comment} http://wiki.lyx.org/FAQ/Unsorted#toc31 も参照してください。 3.3 装飾的なヘッダ・フッタ 既定のページレイアウトは、どちらかといえば素っ気ないものです。article 文書ク ラスの場合には、ページの下の真ん中にページ番号がつくだけです。この取扱説明書 は KOMA-script の book クラスなので、すこしは凝ってますが、ほんとうに着飾る には、『ユーザーの手引き』に述べられているように、文書ページスタイルを「装飾 的(fancy)」に設定する必要があります。この節では、望んだとおりの効果を得るた めに、LATEX プリアンブルに挿入する必要のある LATEX コードについて解説します。 ページへッダは、「left(左)」 ・ 「center(中央)」 ・ 「right(右)」と命名された 3 つ のフィールドに分けられています。フッタも同様に 3 つのフィールドに分類されてい ます。これらのフィールドをもっとも簡単に設定する LATEX コマンドには、\lhead・ \chead・\rhead・\lfoot などがあります。かりに、各ページの左上端に自分の名前を 入れたいものとしましょう。次のようなコマンドをプリアンブルに入れるだけです。 \lhead{物書 はじめ} これで自分の名前が左上に現れます。フィールドに取り除きたい既定の内容がある 場合(往々にして中央のフッタにはページ番号が入ります)には、空の引数を持つコ マンドを入れるだけです。すなわち、 \cfoot{} とします。 16 3.4 箇条書き(記号)ブリットの指定 もっと美しくしてみましょう。節番号を「第‥節」という言葉といっしょに(第 3 節のように)左上に入れ、ページ番号を(4 ページのように)右上に、自分の名前を 左下に、日付を右下に入れます。以下のコマンドをプリアンブルに入れます。 \lhead{第\thesection 節} \chead{} \rhead{\thepage ページ} \lfoot{物書 はじめ} \cfoot{} \rfoot{\today} コマンド\thesection と\thepage は、それぞれ LATEX の節カウンタおよびページ カウンタを取得するもので、これによって現在の節番号とページ番号を印字します。 \today は、今日の日付を印字するものです。 へッダ下またはフッタ上に描かれる罫線の太さも変更することができます。もし罫 線が必要なければ、太さを 0 にしてください。ヘッダ罫線は、既定では 0.4pt の太さであ り、フッタ罫線は 0pt です。太さを変更するには、\renewcommand{\headrulewidth}{0.4pt}や \renewcommand{\footrulewidth}{0.4pt}のようなコマンドを使用してください。 \thispagestyle{empty}・\thispagestyle{plain}・\thispagestyle{fancy}の ようなコマンドを使えば、各ページごとにへッダ・フッタ設定を有効にしたり無効に したりすることができます。設定を変更したいページに、これらのコマンドを TEX コードとして挿入してください。実は、タイトルページは、その後のページは大域的 に装飾的(fancy)に設定されていれば装飾的(fancy)になるにもかかわらず、既定 でプレーン(plain)になるように設定されているのです。 奇数ページの左上だけに何かを挿入するなど、もっと複雑なコマンドもあるのです が、詳しい解説は fancyhdr パッケージの取扱説明書をご参照ください(fancyhdr.dvi を探してください)。 最後の例として、へッダやフッタに画像を挿入できることを取り上げましょう。会 社のロゴをページ左上に入れたいものとします。たとえば、 \lhead{\resizebox{1in}{!}{\includegraphics{logo.eps}}} とすれば、これを実現できます(文書中に他に画像を挿入していない場合には、 \usepackage{graphics}をプリアンブルに宣言する必要があります)。 3.4 箇条書き(記号)ブリットの指定 Allan Rae 文 3.4.1 はじめに LYX には、ブリットの形が 216 個準備されていて、簡単なダイアログから呼び出すこ とができます。このダイアログを使えば、箇条書き(記号)の各階層で使うブリット の形を変更することができます。この設定は文書全体に共通なので、段落ごとに別の ブリットを指定することはできません5 。 5 正確には可能ですが、手動で行う必要があります。 17 3 補完ツール 3.4.2 インタフェース メニュー項目の文書 . 設定を選択してダイアログを開き、ブリットタブを選択してく ださい。 そのダイアログに、ブリットの形の一覧表があります。フォントと書いてあるド ロップダウンメニューで、6 つの各ブリット形パネルを切り替えることができます。 また、一覧表左の階層パネルは、変更したい階層を選択するものです。任意のブリッ トでは、指定したい LATEX 表現を入力することができます。任意のブリットを指定し た場合には、そのコマンドが必要とするパッケージを LATEX プリアンブルで指定する 必要があります。 6 つのパネルは、それぞれが必要とするパッケージによって分類されています。下 記は、フォント名と LATEX パッケージの対応表です。 フォント 標準 数式 絵文字 1 絵文字 2 絵文字 3 絵文字 4 必要とするパッケージ LATEX 本体 amssymb.sty pifont.sty pifont.sty pifont.sty pifont.sty LYX は、ユーザーが導入されていないパッケージのブリットを使用したとしても、 警告を発しません。ファイルを閲覧したり印刷したりしようとしたときに LATEX エ ラーが出るようならば、パッケージが導入されていない可能性が大です6 。 3.4.3 使用法 変更したいブリット階層を選んで、ブリットの形と大きさを選んでください。何らか の変更を加えたとしても、LYX 上には反映されませんが、文書の表示を行えば確認さ れます7 。 6 LYX が、パッケージがなくてもブリットを使用することを許すのは、編集をここで行ったとしても、 別のところへエクスポートする可能性があるからです。 7 もし本当に段落ごとに異なるブリットの形を使いたいならば、TEX コードを使って少し手を汚す必 要があります。この場合も、ブリット選択ダイアログを使えば、さまざまな形の LATEX コードを 確認することができるので手助けとなるでしょう。任意に設定した段落をつくるには、以下のよう な選択肢があります。 ] 特定の階層の新しいブリット形を指定するには、LATEX コマンド\renewcommand{}{}を使用し ます。あとで現在のブリット形に戻すことができるように、現在のブリット形を保存しておく 必要もあります。ここで使っている箇条書きでは、第 1 階層のブリットを変更するために、以 下の LATEX コードが使用されています。 \let\savelabelitemi=\labelitemi \renewcommand\labelitemi[0]{\small\(\sharp\)} ] 箇条書き(記号)の階層は、\labelitem コマンドの一部にローマ数字で指定されていること に注意してください。 18 3.4 箇条書き(記号)ブリットの指定 ? 各項目のブリットを指定するには、角括弧で囲んだブリット形を、行頭に TEX コードとして挿 入してください。たとえば、この項目の行頭には、[\(\star\)] が指定されています。 文書全体で使用するブリット形が有効であるようにするために、labelitem を元の設定に戻す必 要があります。そのためには、以下のようにします。 \renewcommand\labelitemi[0]{\savelabelitemi} 19 4 LYX サーバー 4.1 はじめに 「LYX サーバー」を使用すると、他のプログラムが、LYX と通信したり、LYX コマン ドを実行させたり、LYX の内部状態に関する情報を取得したりすることができるよ うになります。これは熟練したユーザー向けの機能ですが、便利なはずです。たとえ ば、LYX サーバーに書き込むことによって、JabRef のような参考文献管理ソフトが、 LYX に文献引用を「押し込む」ことが可能となります。 ただし、現在のところ、LYX サーバーは Windows では機能しないことに注意して ください1 。 4.2 LYX サーバーを開始するには LYX サーバーは、名前をつけたパイプの対を利用することで機能します。パイプは、 通常 UserDir の下に作られ、 「.lyxpipe.in」および「.lyxpipe.out」という名前が ついています。外部プログラムは、.lyxpipe.in に書き込みを行い、戻りデータを .lyxpipe.out から読み出します。パイプ名の語幹は、ツール . 設定から、たとえば 「/home/myhome/lyxpipe」などに設定することができます。サーバーを開始するた めには、これを手動で設定しなくてはなりません。 LYX は、パイプを生成するに際して、「.in」および「.out」を付け加えます。パ イプがすでに存在していれば、LYX は他の LYX プロセスがすでに実行中であると判 断して、サーバーを開始しません。いいかえれば、LYX がクラッシュしたり、あるい はなんらかの理由で、LYX が終了する際に「古い」パイプが削除されずに残ったりす ると、LYX はサーバーを開始しようとしません(これはバグ 641 号です)。この場合 には、手動でパイプを削除したのちに、LYX を再起動する必要があります。 サーバーを使用する LYX プロセスを複数起動するには、それぞれのプロセスに、別 のユーザーディレクトリを使用させたり、べつべつの preferences ファイルを使用 させるなど、別々の設定を使用する必要があります。 クライアントプログラムを開発しようとされているのであれば、LYX サーバーから のデバッグ情報を有効にすると便利かもしれません。そのためには、Lyx を lyx -dbg lyxserver として起動してください。 このほかに、いくつか留意すべき点があります。 • サーバーとクライアントは、いずれも UNIX か OS/2 マシーン上で実行する必 要があります。UNIX 上の LYX と、OS/2 上のクライアントのあいだの通信や、 1 これが不可能でなければならない理由はありません。しかし、いまのところ、Windows 向け開発者 でこの機能を実装しようとする者がいないのです。 21 4 LYX サーバー その逆は、現在のところ実行できません。 • OS/2 上では、同時に一つのクライアントだけが LYX サーバーに接続すること ができます。 • OS/2 上では、クライアントは入力パイプを O_WRONLY モードで開かなくてはな りません。 C 言語で書かれた完全なサンプルクライアントが、ソース頒布版の development/lyxserver/server にあります。 4.3 通常の通信 LYX コールを発行するには、クライアントは ASCII テキスト行を入力パイプに書き 込みまなくてはなりません。この行は、以下の書式を持ちます。 LYXCMD:クライアント名:関数:引数 クライアント名 は、クライアントが自由に選べる名前です。これが用いられるのは、 クライアントが他の要求クライアントから結果を見分けることができるように、 LYX が返答をする際、クライアント名をエコーするときだけです。 関数 は、LYX に実行させたい関数です。これは、ミニバッファで使用するコマンド と同じです。 引数 は、一部の関数のみに効力を持つオプションの引数です(たとえば、「自己挿 入」LFUN は、現在のカーソル位置に引数を文章として挿入します)。 LYX からの返答は、出力パイプに送り出され、 INFO:クライアント名:関数:データ の書式をしています。ここでクライアント名と関数は、コマンド要求からそのままエ コーされますが、データはコマンド実行の結果に依存した、多少なりとも有用な情報 です。 「font-state」のような一部のコマンドは、LYX の内部状態に関する情報を返し ますが、空のデータ応答を返すものもあります。空のデータ返答は、コマンド実行が 無事終わったことを意味します。 エラーが発生した場合の LYX の返答は ERROR:クライアント名:関数:エラーメッセージ の書式をしており、エラーメッセージには、なぜコマンドが失敗したかの説明が入っ ているはずです。 (例) echo echo read echo 22 "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in "LYXCMD:test:get-xy:" >~/.lyxpipe.in a <~/.lyxpipe.out $a 4.4 通知 4.4 通知 LYX は、発生しているイベントを、非同期的にクライアントに通知することができま す。いまのところ、ユーザーがあるキー列を関数「notify」に割り当てているときの み、LYX はこの通知を行います。LYX が送る文字列の書式は NOTIFY:キー列 となっていて、キー列は、ユーザーが実際に打鍵したキー列の印字表現になります。 この機構は、LYX のコマンド群を拡張してマクロを実装するのに使用することが できます。なんらかのキー列を「notify」に割り当ててください。それから出力パイ プで待機するクライアントを起動し、キー列に応じたコマンドを読み込み、一つない し複数の LYX コマンドを発行する LYX 要求と LYX コールを使用する関数を開始する のです。 4.5 単純な LYX サーバープロトコル LYX は、セッション管理に使用することができる単純なプロトコルを実装していま す。メッセージは、すべて LYXSRV:クライアント名:プロトコルメッセージ の書式をしており、プロトコルメッセージは「hello」ないし「bye」です。クライア ントから「hello」を受け取ると、LYX はメッセージを聴いていることをクライアント に伝えるために返答をし、LYX が終了することをクライアントに伝えるのには、LYX が「bye」を送信します。 23 5 特別な文書クラス 5.1 A&A Paper Peter Sütterlin 文 5.1.1 はじめに この節では LYX と文書クラス aa.cls のバージョン 5.01 を使って科学雑誌 Astronomy and Astrophysics (www.edpsciences.fr/aa/ http://www.edpsciences.fr/aa/) に投 稿する論文を書く方法を説明します。。このパッケージは次の ftp サイトから手にい れることができます。 ftp://ftp.edpsciences.org/pub/aa/readme.html 取扱説明書がこのパッケージについてきます。この節は取扱説明書にとって代わる ものではなく、あなたの論文を正しいフォームに直すのを手伝う短いガイドです。こ のジャーナルの出版社は 2001 年 1 月 1 日に Springer から EDP へ変わりました。こ の出版社の変更によりスタイルファイルもすこし変わって、thesaurus コマンドが廃 止されました。LYX の aa サポートはこの新しいスタイルファイル(バージョン 5.01) をサポートしています。古いバージョンのスタイルファイルをインストールしている 場合は、アップグレードしてください。互換性のために古い(バージョン 4)のレイ アウトは article (A&A V4) として残してあります。LYXDir/layouts/aapaper.layout のコメントも参照してください。 5.1.2 最初の一歩 LYX といっしょに配布されているテンプレートから始めることを勧めます。テンプ レートを使わない場合は、以下の設定にしてください。 • Document . Layout ダイアログの Class エントリで article (A&A) を選んでくだ さい。 • Pagestyle のオプションは変えないで、既定のままにしておいてください。全体 のレイアウトはマクロがやってくれるので、これを変えないでください。 5.1.3 へッダブロック 最初に書くことはへッダに関する情報です。これには次のような 7 つの項目があり ます。 25 5 特別な文書クラス • Title: [必要] • Subtitle: [optional] • Author: [必要] • Address: [必要] • Offprints: [optional] 著者が複数いる場合、抜き刷りのリクエストのために連絡 する人。 • Mail: [optional] 連絡用の e-mail アドレス。 • Date: [必要] 推奨されるフォーマットは Received: <date>; Accepted <date> \maketitle コマンドを入れる必要はありません。へッダが終わったら、LYX が自動 的に入れてくれます。各エントリを書く順序は関係ありませんが、上の順序で書くこ とをすすめます。見た目がいいのと、出版された場合のレイアウトがそのようになっ ているからです。 へッダブロックに脚注をいれる場合には(例えば現住所を脚注に入るような場合で す)、Insert . Footnote を使って普通の脚注を入れてください。LYX がそれを自動的に \thanks{}に変えてくれます。 これ以外に、このマクロは LYX が対応していない 3 つの LATEX コマンドを用意し ています。 • 複数の著者名、機関名を分けるための \and • 著者と機関の対応をつけるための \inst{<nr>}。機関名は Address フィールド にあらわれる順に番号がつけられます。そのため、それと著者名を対応させる ことが必要なのです。 • \email{address}はコンタクトを取るための e-mail アドレスを入力するのに 使います。 これらの LATEX コードを使いたい場合には、コマンドを直接 LYX に入力して LATEX コードとしてマークしてください。/usr/local/share/lyx/examples/ にある例を見て ください。 5.1.4 アブストラクト アブストラクトはへッダブロックのすぐ後ろにこなければなりません。バージョン 5 から abstract 環境はコマンドへとかわり、1 つの段落だけに制限されました。もう一 つ気をつけなければならないのはキーワードを入れる必要があるのですが、それが LYX では実装されていないことです。そのために手で LATEX コマンド \keywords{}を 入力し、LATEX コードとしてマークする必要があります。論文の例を見てください。 26 5.1 A&A Paper 5.1.5 サポートされる環境 A&A paper レイアウトでは文章を構造化するための次の環境がサポートされてい ます。 • Standard • Section • Subsection • Subsubsection • Itemize • Enumerate • Description • Caption • Abstract • Acknowledgment • Bibliography • LATEX 5.1.6 LYX でサポートされていないコマンド いくつかのコマンドは LYX の paper (A&A) レイアウトではサポートされていません。 いくつかのコマンドはすでに紹介しましたが、次にサポートされていないコマンドの リストを書いておきます。 • \and • \email • \appendix • \authorrunning • \inst{} • \keywords{} • \object{} • \titlerunning{} もしこれらのコマンドを使いたい場合は、自分で文章中にコマンドを入れる必要があ ります。LATEX コマンドとしてマークするのを忘れないで下さい。 27 5 特別な文書クラス 5.1.7 図とテーブルフロート LYX は必要なフロート環境 figure、figure*、table、table*をサポートしています。そ のため、ここでは詳しい説明はしません。ユーザーの手引きを見てください。ただ し、表は左揃にしなければならないのを忘れないで下さい。そのためには Layout . Paragraph を選択して、alignment を変えてください。 一つだけ特別なことがあります。キャプションを図の横に書く場合です。このよう な図をつくるためには次のようにします。 1. Insert . Floats . Figure を使って wide figure フロートをつくります。そして図を 右クリックして Span columns を選びます。 2. キャプションの文を入力します。 3. カーソルをキャプションの上に移動するために Return を押します。 4. 図を挿入します。 5. カーソルを図の後ろに移動して HFill を挿入 – Insert . Special Character . HFill。 6. LATEX モードに変わります。 7. \parbox[b]{55mm}{と入力します。括弧を閉じないでください。 8. カーソルをキャプションの文の後ろに持っていき、LATEX モードに変わって閉 じ括弧を挿入します 。 論文の例の図も参照してください。 5.1.8 Referee layout 投稿するためには論文は特別なダブルスペースのレイアウトになっていなければな りません。そのためには referee オプションを documentclass に与える必要があり ます。Document ダイアログの Extra Options フィールドを使ってください。referee と入力するだけです。 5.1.9 論文の例 Examples ディレクトリに LYX で書かれた論文の例が入っています。この論文の例は、 もとのマクロパッケージに含まれていたものを LYX で書き直したものです。これを 見るとどのように使えばいいのかがわかるでしょう。またもとの LATEX のコードと LYX で書く場合を比べてください。 5.2 AASTEX Mike Ressler 文 28 5.2 AASTEX 5.2.1 はじめに AASTEX は American Astronomical Society によって作られた(Letters と Supplement を含んだ)the Astrophysical Journal、the Astronomical Journal、それに the Astronomical Society of the Pacific が発行するジャーナルに投稿するための一連のマ クロです。LYX で使うにはマクロのバージョン 5.0(またはそれ以上)が必要です。 5.0 より前のバージョンは LATEX2.09 といっしょに使うためのもので、LYX では基本 的に使えません。AASTEX パッケージは以下の AAS の ftp サイトからダウンロード できます。 ftp://ftp.aas.org/pubs 完全なユーザーの手引きがこのパッケージの中に含まれていますので、LYX で論 文を書き始める前にそれをよく読んでください。LYX は AASTEX コマンドを理解す るための必要性を減らすのではなく、入力の手間を減らすだけです。最終的に LATEX ファイルにされた論文が投稿するジャーナルの要求事項に完全に従っているかどうか は、あなたの責任です。 5.2.2 新しい論文を書き始める AASTEX テンプレートファイルを使って書き始めることを強くすすめます。File . New from template を選択して、新しいファイル名を入力し、それから aastex.lyx テン プレートを選んでください。これは大部分の論文で使われる共通のフィールドを用 意しています。単に正しい情報を既存のテキスト(<>を含みます)に上書きしてく ださい。AASTEX のコマンドと環境の多くは直接 LYX で実行することができます が、いくつかのものはできません。その中でもっとも目につくのは \altaffilmark と\altaffiltext です。これらのコマンドはテンプレートファイルを開いたとき、赤 色で表示されているでしょう。これらのコマンドは、直接 LATEX コードを入力して、 それを LATEX コードとしてマークしなければなりません。我々はそのようなコマン ドを ERT (Evil Red Text) と呼んでいます。AASTEX ドキュメントの中の必要とさ れる ERT はできるだけ少なくなるようにはしているのですが、望む水準よりは多く の ERT が必要になっています。 5.2.3 論文を書き終わったら 論文を満足する水準で書き終えて、印刷した結果が良好だとしましょう。それでも ジャーナルに投稿する前に必要な、いくつかの「後処理」があります。 1. 論文を LATEX ファイルとして出力します。(File . Export . LateX) 2. 出力した .tex ファイルをお気に入りのエディタで編集します。 a) \documentclass コマンドの前のコメント行を消します。 b) \usepackage...{fontenc}行がもしあれば(普通は \documentclass の すぐ後ろにあります)これを消します。また\secnumdepth 行があれば、 これも消します。 29 5 特別な文書クラス c) \makeatletter と \makeatother の間のものを消去します。ただしあなた が自分で LATEX のプリアンブルに入れたコマンドは残しておいてください (それらは .tex ファイルの User specified LATEX commands というコメン トのすぐ後にあるはずです)。 d) \figcaption コマンドを探して、そこにある FileName を正しい、実際に あるファイル名に変えてください。 e) 必要なら \cite コマンドを変えてください(以下の節 5.2.5.3 を参照)。 3. 編集したファイルに LATEX を走らせて、正しく処理できるかを確認します。 4. ファイル名、フォーマットが正しいかどうかを、ジャーナルの要求事項をもう 一度読んで確かめます。 5. 投稿してください。 5.2.4 いくつかのコマンドに関するコメント ここで各々の AASTEX コマンドを説明するつもりはありません。AASTEX ユーザー の手引き (aasguide.tex) に詳しく書いてあります。そこでここでは LYX で使う場合 に必要なコメントを書いておくだけにします。 5.2.4.1 予想通りに動くコマンド 以下のコマンドは予想通りに動きます。コマンド名の後ろにあるのはそのコマン ドが説明されている AASTEX ユーザーの手引きの節番号です。\documentclass (2.1.1), \begin{document} (2.2), \title (2.3), \author (2.3), \affil (2.3), \abstract (2.4), \keywords (2.5), \section (2.7), \subsection (2.7), \subsubsection (2.7), \paragraph (2.7), \begin{displaymath} (2.11), \begin{equation} (2.11), \begin{eqnarray} (2.11), \begin{mathletters} (2.11), \begin{thebibliography} (2.12.1), \bibitem (2.12.2), \begin{table} (2.14.4), \begin{tabular} (2.14.4), \caption (2.14.4), \label (2.14.4, それ以外の 場所にも多くあり), \tablerefs (2.14.5), \tablecomments (2.14.5), \url (2.15.4), \end{document} (2.16). また次のスタイルオプションも正しく動きます。preprint, preprint2, eqsecnum, flushrt (3, 3.1, 3.2)。これらのオプションを使うには、Layout . Document を選んで Extra Options ボックスにオプションを入力してください。 5.2.4.2 動くけれども少し説明が必要なコマンド 以下のコマンドは動くのですが、少し説明が必要です。 • 次のコマンドはジャーナルの編集者専用ですが、どうしても必要なら LATEX のプ リアンブルに入れることができます。\received, \revised, \accepted, \ccc, \cpright (これらはすべて 2.1.3) 30 5.2 AASTEX • 次のコマンドは LATEX のプリアンブルに置くことができます。テンプレートファ イルのプリアンブルには空の引数をつけてこれらのコマンドが含まれています。 \slugcomment (2.1.4), \shorttitle (2.1.5), \shortauthors (2.1.5) • \email (2.3) はそれだけで使うことはできますが、段落の途中で使うことはで きません。必要な場合は ERT で使ってください。 • \and (2.3) は後ろに{}を追加します。しかしこれはエラーを発生させません。 • \notetoeditor (2.6) はそれだけで使うことはできますが、段落の途中で使う ことはできません。必要な場合は ERT で使ってください。 • \placetable (2.8) はクロスリファレンスのタグを挿入することができません。 手で入力する必要があります。 • \placefigure (2.8) は \placetable の場合と同じです。 • \acknowledgements (2.9) は後ろに{}を追加します。しかしこれはエラーを発 生させません。 • \appendix (2.10) は後ろに{}を追加します。しかしこれはエラーを発生させま せん。 • \figcaption (2.13.2) – 最終的な LATEX ファイルで追加的な引数を手で編集し なければなりません。 5.2.4.3 実装されてなく、ERT を使わなければならないコマンド \altaffilmark (2.3), \altaffiltext (2.3), \eqnum (2.11), \setcounter{equation} (2.11), \citet (2.12), \citep (2.12), Journal name abbreviations (2.12.4), \figurenum (2.13.1), \epsscale (2.13.1), \plotone (2.13.1), \plottwo (2.13.1), \tablenum (2.14.4), \tableline (2.14.4, 必要な場合は左側のセルの一番目の要素 として挿入する。表の中ではどのような LYX の方法も使わない), \tablenotemark (2.14.5), \tablenotetext (2.14.5), most everything in Misc (2.15) の中のほとんど すべてのもの (\url と \email は除く), \singlespace (3.1), \doublespace (3.1), \onecolumn (3.2), \twocolumn (3.2) 5.2.4.4 実装できないもの references (2.12.3) 環境と deluxetable (2.14) 環境は実装できません。無視することを すすめます。もし絶対に deluxetable を使う必要があるなら、別のファイルにテキス トエディタで編集してそれを Insert . Include File を使って LYX ファイルに含めるのを 推奨します。aas_sample.lyx ファイルを参照してください。これの例が含まれてい ます。 31 5 特別な文書クラス 5.2.5 FAQ とヒント 5.2.5.1 LYX に AASTEX を認識させる LYX に新しいレイアウトと文書クラスを認識させるには少しコツが要ります。もしう まく行かなかったら、次のようにしてみてください。 1. LATEX が AASTEX をちゃんと見つけられるか確かめてください。AASTEX パ ッケージに含まれる sample.tex (table.tex でもいいのですが)を、LATEX や AASTEX とまったく関係のないディレクトリへコピーしてそれから LATEX を走 らせてみてください。 2. astex.layout が /usr/.../share/lyx/layouts または ~/.lyx/layouts にあ るのを確かめてください。 3. LYX で Options . Reconfigure を走らせて、それから LYX を再起動してください。 4. テンプレートからではなく、普通の File . New から新しいファイルを開いてく ださい。Layout . Document . Class で AASTEX があらわれているでしょうか。 もし既存の AASTEX で書いた文章で not being able to find the AASTEX layout と いう警告を受けたり、You should not mix title layouts with normal ones というメッ セージがでた場合にはキチンとインストールできていません。 5.2.5.2 表を処理する際の LATEX エラー 既定では LYX は表のキャプション/タイトルを表の中心に配置しようとします。これ が AASTEX と変な干渉を起こすようです。これを避けるにはキャプションのどこか をクリックして、それから Layout . Paragraph を選択し Alignment を Block にしてく ださい。少なくとも私はこの方法でうまく行きます。 5.2.5.3 参考文献 2、3 の注意があります。1 番目は本文中のレファレンスエントリのスペースが少しお かしいことです。参照文献の項目データを入力するときに、最後の著者と年を入れる 括弧の間にスペースを入れないようにしてください。つまり Ressler(1992) と書い て Ressler (1992) のようにはしないでください。 2 番目に \citet と \citep をもっと自動的に使えるようにしたいのですが、でき ていません。それには LYX のソースコードを変える必要があるのです。いまのとこ ろ、2 つの方法のうちのどちらかを選ぶ必要があります。a) すべての文献の参照に Insert . Citation Reference を使います。これで少なくとも自動的に挿入できます。そし て投稿する前に LATEX ファイルを手で編集して \cite を \citet か\citep に変えて いくのです(\cite は現在のところ\cite と同じなので、この場合は変える必要はあ りません)。b) すべての文献の参照を ERT を使って行います。つまり本文中に参照文 献のキーを使って \citet{key}のように挿入して LATEX コードとしてマークするの です。どちらの方法も使いやすくはないのですが、LYX の参照メカニズムが natbib を理解するようになるまではどちらかの方法を使う必要があります。 32 5.2 AASTEX 3 番目に参考文献を入力することは、それほどわかりやすいものではありません。一 番簡単な方法は文章の最後にいって一番初めの参考文献を入力し、それを References としてマークすることです。マークすると灰色の小さい箱が入力した参考文献の頭に あらわれます。この箱をクリックして残りの情報を入れてください。新しい参考文献 を入力するには、既存の参考文献の最後にいってリターンキーを押します。これで新 しい灰色の箱を持った新しい行が出てきます。 5.2.5.4 EPS ファイルの挿入 AASTEX パッケージの図を扱うメカニズムは、それほどよくありません。ERT で Figure Float ボックスに \plotone 等の コマンドを入れることはできますが、私は うまくレイアウトできたためしがありません。私のアドバイスは、投稿する論文に は本文中に EPS ファイルを挿入しないことです。そして投稿前に印刷する場合には、 LYX の標準の EPS ファイルの挿入を使います。LYX は\usepackage{graphics}コ マンドを LATEX のプリアンブルに入れて、図を LATEX 2ε の標準的な方法で扱います。 AASTEX 5.0 を使うにはどうせ LATEX 2ε が必要なので、LATEX 2ε のよりすぐれた図を 扱う方法を使って何が悪いのでしょう。もしだれかが LATEX 2ε または graphics パッ ケージのことで文句を言ったら、Lamport (1994) の本の第 2 版にそれについて書い てあるということを指摘して、何年も前にアップグレードしなければならなかったの にと言ってやりましょう。 5.2.5.5 可能だが実装しなかったもの 実装することができたけれども、実装しないことを選んだものがいくつかあります。 例えば、ダブルスペース論文を書いていても LYX 上でダブルスペースで表示するよ うにはしていません。また preprint と preprint2 スタイルを別のレイアウトにしない ことにしました。文章を書く場合はほとんどの時間を manuscript モードで使うと想 定して、ディスクスペースを節約したのです。どうしてもこの私の決定に不服な人の ために the Mudgeeraba Creek Emu-Riding and Boomerang-Throwing Association に 掲示してあるルールを掲げておきましょう。 「裁判官の判断は群衆の圧倒的な大多数に大声で反対されない限り最 終的なものだ。裁判官に話しかけるときや、反対に裁判官が話しかける ときは口汚い言葉を使うべきではない。」 5.2.6 最後に Donald Knuth の、コンピュータアルゴリズムに関する悪名高い文章を引用しておき ましょう、「私はこれが正しいはずだと証明しただけで、これを使ったことはない」。 私は今まで説明したやり方でジャーナルに受理されるような AASTEX の論文が作れ ると信じてはいますが、今のところ(Jan 25, 2000)私はまだこのレイアウトを使っ て論文を投稿したことがありません。次の数ヵ月で投稿できればいいのですが。 33 5 特別な文書クラス 5.3 AMS LATEX David Johnson 文 Richard Heck 改訂 AMS LATEX レイアウトは American Mathematical Society の刊行物に投稿する数学の論文のためのスタイルです。このレイ アウトは特定のジャーナル用につくられてるわけではありませんが、簡単に特定の ジャーナル用にすることができます。各々のジャーナルについての特定の指示につ いては AMS の文章を参照する必要があります(普通は TEX ファイルを一行変え るだけです)。AMS の説明書は Web 上の http://www.ams.org か、または ftp で ftp://ftp.ams.org/pub/tex/amslatex/ から手にいれることができます。これらの レイアウトは数学的な文章を書く場合に有効に使えるはずです。今のところ 4 つの異 なった AMS LATEX のレイアウトがあります。 1. amsart: 標準的な AMS の論文用のレイアウトです。すべての結果とそれに類似 した文は (n.m) の形の番号がつきます。はじめの番号は節を表していて、2 番目の 番号は節内の何番目の結果(Theorems、Corollaries、Propositions、Definitions、 Remarks 等)なのかを表しています。また多くの(すべてではありませんが) 環境には番号がつかないバージョンもあります。番号をつけないことも時折必 要となるでしょう。番号のつかない環境は最後にアステリスクがついて区別で きるようになっています。 2. amsart-seq: これは節番号なしで各々のタイプの文には通し番号がつけられま す。また多くの(すべてではありませんが)環境には番号がつかないバージョ ンもあります。番号をつけないことも時折必要となるでしょう。番号のつかな い環境は最後にアステリスクがついて区別できるようになっています。 3. amsart-plain: すべての環境に番号がつかない、より簡潔なレイアウトです。 4. amsbook: 標準的な AMS の本(実際にはモノグラフですが)用のフォーマット です。番号付は amsart の場合と似ていますが、(n.m.p) という形です。最初の 番号は章を表し、2 番目の番号は節を表していて、3 番目の番号は節内の何番目 の結果(Theorems、Corollaries、Propositions、Definitions、Remarks 等)なの かを表しています。また多くの(すべてではありませんが)環境には番号がつ かないバージョンもあります。番号をつけないことも時折必要となるでしょう。 番号のつかない環境は最後にアステリスクがついて区別できるようになってい ます。 すべての ams LYX ファイルはどちらの番号付の方法を使うかを Layout . Document ダイアログから簡単に変えることができます。 5.3.1 レイアウトに含まれるもの これらのレイアウトは実に多くの環境を用意しています。ほとんどの数学論文、本で はこれらの環境のほとんどは特別な文として設定されています。また AMS LATEX を使 えば無制限にこのような宣言を増やしていくことができます。しかし AMS は LYX で 使うことのできる環境を使うのを推奨しています。 (標準的な sections、bibliography、 title、author、date を除いた)使うことのできる環境は次のものです。 34 5.3 AMS LATEX Theorem 定理。これは典型的には主な結果を表す文に使います。はじめに Theorem という言葉がボルドタイプであらわれ、それに自動的に番号がつきます(番号 のつかない Theorem*もあります)。テキストはイタリックになります。 Corollary これはその前の結果から直接導ける結果を表すのに使います。これも主な 結果になることができます。番号がつかない Corollary*も使うことができます。 Lemma 他の結果を導くためのより小さな結果です。 Proposition 議論している理論に(希望的には)何かを付け加えるより弱い結果です。 Conjecture 正当化することなしに与えられた文。作者はどうやって証明したらいい か分からないが、正しいと(少なくとも作者にとっては)思えるものです。 Criterion 必要とされる条件です。 Algorithm 使うことのできる一般的な手続きです。 Axiom 議論しているシステムの中では真だとされる性質、文です。 Definition 定義。画面上でも紙の上でも今まで説明してきた環境とは違うフォント が使われます。見出し (“definition”) はまだボルドフェイスですが、テキストは イタリックでなく、直立した文字になります。 Example 例。Definition と同じようにタイプセットされます。 Condition Problem Exercise Remark この環境も新しい定理型です。これは Remark という言葉をイタリックで、 後の部分を直立した文字にします。 Note Remark 環境と同じように設定します。 Notation Claim Summary Acknowledgement Case 一般に長い議論をいくつかの特定の場合に分けるのに使います。この環境の番 号の付け方はこの環境だけのもので、他の環境とは関係のないものになります。 Conclusion Fact 35 5 特別な文書クラス Proof Proof という言葉がイタリックになり、残りの部分は直立した文字になりま す。この環境の最後には(もちろん他の環境をネストできます)、QED のシン ボル(普通は四角ですがスタイルによって変わります)が置かれます。 Address これは著者の(半)永久的な住所です。 Current 現住所。 Email 著者の e-mail アドレス URL 著者の Web アドレス、任意。 Keywords 論文で議論するトピックスを特定するためのキーワード、フレーズ。 Subjectclass Mathematical Reviews で説明され、公表されている AMS Subject Classifications での分類番号。これらは前に紹介した AMS サイトでもオンラインで 利用可能。 Thanks Dedicatory Translator これらの環境は自動的に AMS-LATEX と AMS フォントパッケージを用意してくれま す。したがってこれらの環境を使うにはこれらのパッケージがインストールされてい る必要があります。 5.4 AGU 学術誌(aguplus) Martin Vermeer 文 5.4.1 概要 これは American Geophysical Society のいくつかの学術雑誌用のレイアウトファイ ルです。これを使うには、AGU のクラスファイルと AGU plus がインストールされ ている必要があります(これらのファイルは ftp://ftp.agu.org/journals/latex/ journals で手にいれることができます)。 5.4.2 新しいスタイル Paragraph と Paragraph*が再定義されています。LYX の画面では Paragraph、Paragraph*と呼ばれていますが、AGU クラスの LATEX で対応するものは Subsubsubsection と Subsubsubsection*です。 新しく定義されたスタイルは、Left_Header、Right_Header、Received、Revised、 Accepted、CCC、PaperId、AuthorAddr、SlugComment です。これらは論文の属性で、 AGU クラスの取扱説明書で定義されているものです。 おそらく、これはまだ完全ではありません。 36 5.5 Broadway 5.4.3 新しいフロート Planotable と Plate です。また、新しい Table_Caption も用意されています。 5.4.4 サポートされているジャーナル • Journal of Geophysical Research: jgrga.layout — Martin Vermeer あなた自身のレイアウトファイルをつくってください。難しくはありません。jgrga.layout と aguplus.inc を例として見てください。 5.4.5 バグと注意すべきこと 新しいレイアウトを使うために、新しい文章をつくるたびに次のことをする必要があ ります。 1. babel を無効にしてください。layout . document か document . settings メニュー アイテムを使います(AGU に投稿できるのは英語だけです。他の言語は選ばな いで下さい)。 2. Enter jgrga into the document’s Extra Options field. (Yes, this is a bug.) 3. 文章の Extra Options フィールドに jgrga と入力してください(すいません。 これはバグです)。 4. 参照文献のスタイルに agu.bst を使ってください。BibTEX インセットの 2 番 目のフィールドに agu と入力します。通常の参考文献のスタイルは使わないで ください。 5.5 Broadway Garst Reese 文 5.5.1 はじめに Broadway は演劇を書くためのものです。フォーマットは Hollywood よりも装飾的で、 それほど標準化されていません。このフォーマットはワークショップに向いているで しょう。 5.5.2 特別な問題 Hollywood と同じです。 37 5 特別な文書クラス 5.5.3 特別の機能 Speaker の名前はラベルとして挿入でき、それ以降はラベルを相互参照で参照して Speaker の名前を挿入できます。相互参照ダイアログには登場人物の現在の配役が表 示されます。 5.5.4 用紙サイズと余白 US レターサイズで、余白は左 1.6 インチ、右 0.75 インチ、上 0.5 インチ、下 0.75 イ ンチ。 5.5.5 環境 次の環境を使うことができます。環境の右に書いてあるキーバインドは broadway.bind を使った場合のものです。 • Standard これは使わない方がいいのですが、他の環境が使えない場合のために用意して あります。 • Narrative M-z n 舞台の設定と動きの説明に使います。すべて大文字で話し手の名前をはじめに 書きます。 • ACT M-z a 自動的に番号が付きます。番号は画面上ではアラビア数字ですが、ローマ数字 で印刷されます。 • ACT* ACT のための副題です。ただの中央に置かれたテキストです。 M-z S at • SCENE M-z S-S 自動的には番号が付きません。自分で番号を付けてください。これは私がどう すればいいかが分からなかったためです。 • AT_RISE: M-z S-R カーテンが上がるときの舞台と動きの設定を説明する Narrative の特殊ケース です。 • Speaker 話し手(役者)の肩書き、すべて大文字で中央に置きます。 M-z s • Parenthetical M-z p 話し手への指示。括弧が自動的に挿入されます。画面上には左括弧 ( だけが表示 されますが、印刷したものには右括弧も表示されています。この環境は Dialogue の中だけで使われます。 38 5.6 Dinbrief • Dialogue 話し手が言うこと。 M-z d • CURTAIN カーテンが降ります。 M-z S-C • Title M-z S-T • Author M-z S-A • Right_Address M-z r 5.6 Dinbrief dinbrief 文書クラスはドイツの慣例に従って手紙を書くのに使います。テンプレート ファイルは .../lyx/share/templates にあるので、それを出発点に使ってください。 5.7 EGS 学術誌(egs) Martin Vermeer 文 5.7.1 概要 これは European Geophysical Society の学術雑誌用のレイアウトファイルです。egs.cls が必要で、これは EGS の web サイト www.copernicus.org でダウンロードできます。 5.7.2 新しいスタイル Right_address、Latex_Title、Affil、Journal、msnumber、FirstAuthor、Received、Accepted、Offsets。残念ながら現在のレイアウトファイルはほとんどモジュール化され ていません。もっとさまざまな std*.inc ファイルを読み込むようにした方がいいと 思われます。 5.8 Elsevier 学術誌 Rod Pinna 文 Elsevier Science Publishers B.V. は出版している色々なジャーナルに論文を投稿する ための標準的な LATEX の文書クラス(elsart.cls)を http://authors.elsevier. com/ に用意しています。説明書、著者への注意などはクラスファイルとともに用意 されています。LYX にはこの文書クラスを使うためのレイアウトとテンプレートファ イルが含まれています。このパッケージのインストールのやり方は他の LATEX パッ ケージと同じです。Elsevier の説明書を見てください。 39 5 特別な文書クラス elsart.cls を使うために、レイアウトファイル elsart.layout が用意されてい ます。Elsevier のクラスファイルは主に標準的な article クラスをもとにしていて通 常の機能はそのまま使えます。また、AMS の環境に似た多くの数式環境を定義して います。これらのコマンドはすべて Elsevier の説明書に書いてあり、LYX で使うこと ができます。 Elsevier スタイルを使う一番簡単な方法は、LYX に含まれているテンプレートファイ ルを使うことでしょう。fancy headings や geometry パッケージをオプションで使って、 Elsevier 自身がスタイルファイルで定義している要素を変えないで下さい。Elsevier が説明書で使うように求めているパッケージ以外は使わないのが一番です。基本的 に、Elsevier はできるだけクリーンな LATEX ファイルを求めています。彼らは投稿さ れたファイルのクラスファイルを投稿された雑誌のクラスファイルに入れ替えます。 つまり、文章を書くときにフォーマットに凝るなということです。凝ったとしても、 発行されるときにはその効果は消えています。それ以外のこのレイアウトの使い方は 標準の article クラスとほとんど同じです。Elsevier が何を許して、何を許さないのか の詳細は Elsevier の説明書を読んでください。 5.9 Foils(別名 FoilTEX) Allan Rae 文 5.9.1 はじめに この節では オーバヘッドプロジェクタ用のスライドを作るのに LYX をどう使えばい いのかを説明しています。スライドを作るための文書クラスは 2 つあります。既定の slides クラスと FoilTEX slides クラスです。この節では後者のみを説明します。 もう一度、はっきりと言っておきます。 この節は “slides (FoilTEX)” クラスのみを説明します。 もし、slides (default) の説明を探しているのなら、セクション 5.21 を見てください。 もしあなたのコンピュータに foils クラス (slides (FoilTEX)) がインストールされていな ければ、既定の slides クラスを使わなければならないでしょう。けれどもそれは foils ほどよくはありません。 foils クラスは LATEX クラスファイル foils.cls のバージョン 2.1 と使うように作られ ています。この LATEX クラスファイルは、LATEX 2ε に対応しています。 5.9.2 はじめに この文書クラスを使うには、いうまでもありませんが Document Layout ダイアログ の Class エントリから slides (FoilTEX) を選択する必要があります。また、このクラス に特有のいくつかの Document Layout ダイアログの設定があります。 40 5.9 Foils(別名 FoilTEX) • Document ダイアログの Sides と Columns のオプションは変更しないでくださ い。これらは foils クラスでは無視されます。 • 既定のフォントサイズは 20pt です。オプションで 17pt、25pt、30pt が選べます。 • 既定のフォントは sans serif です。ただし、すべての数式は通常のローマンフォ ントが使われます。 • FoilTEX がサポートする紙のサイズは A4、レターサイズ、それと 35mm スラ イド用のサイズです。A5、B5、legal、executive ペーパーサイズは使えません。 • Float Placement の設定は変えても無視されますので、変えないでください。す べてのフロートはテキストで定義された位置にあらわれます。 • このクラスでは Pagestyle の設定が少し違います。FoilTEX ではユーザが定義す るロゴを含めて、フッタとへッダに色々な設定ができます。詳しくはセクショ ン 5.9.5.2 を見てください。タイトルページは他のページと扱いが違い、常に ページ番号がつかず、また(ロゴが定義されていれば)ページの下の中心にロ ゴが表示されます。使うことのできるページスタイルは次の通りです。 empty 最終的なアウトプットにページ番号も他のへッダ、フッタも印 刷されません(もちろん脚注は印刷されます)。 plain ページ番号が一番下の中心につきます。他のへッダ、フッタは 表示されません。 foilheadings ページ番号が右下につきます。他のへッダ、フッタも表示され ます。これが既定です。 fancy fancyheadings パッケージを使えるようにします。ただし FoilTEX の作者はページレイアウトが変になる可能性があるので、fancyheadings は使わないように言っています。 5.9.2.1 Extra Options 次のオプションは Document ダイアログの Extra ボックスで使うことができます。 35mmSlide これは 縦 7.33 インチ、横 11 インチの用紙用にページレイアウトを行 います。この縦横の比率は 35mm スライドと同じで、このオプション を使えば 35mm スライドが作りやすくなります。 headrule タイトルページを除くすべてのページのへッダの下に横線を入れます。 footrule タイトルページを除くすべてのページのフッタの上に横線を入れます。 dvips これは新しい foils の文章を作るごとに自動的に設定されます。このオ プションは landscape に設定されたスライドを回転させるのに dvips ドライバを使うように設定しています。 41 5 特別な文書クラス landscape このオプションは用紙の寸法を landscape ページ用に変えるだけで回 転はさせません。そのためこのオプションを使う場合は各ページを回 転させる外部プログラムを使うか、プリンタに landscape の方向で給紙 する必要があります。このオプションはまた Foilhead と Rotatefoilhead 環境の役割を入れ替えることに注意してください(これらの環境につ いては次の節で説明します)。 leqno 数式番号を左側につけます。 fleqn 数式を左に揃えます。 5.9.3 サポートされる環境 他のクラスで標準的にサポートされている環境は、foils クラスでもサポートされてい ます。それ以外に FoilTEX が提供している環境と、いくつかの LYX で付け加えられ た環境もサポートしています。次の環境は foils クラスでサポートされている環境の 中で、他のクラスでもサポートされている環境です。 • Standard • Title • Itemize • Author • Enumerate • Date • Description • Abstract • List • Bibliography • LYX-Code • Address • Verse • RightAddress • Quote • Caption • Quotation • Comment 節の環境を除くと、すべての主な環境がサポートされているのがわかるでしょう。 基本的には一枚のスライドに 1 つの節が(見出しも本文も)含まれるので、FoilTEX は新しいスライドを始めるいくつかのコマンドを用意しています。それを以下に書い ておきます。 • Foilhead • Rotatefoilhead LYX はこれらを少し変えた環境を用意しています。それらは、 • ShortFoilhead 42 5.9 Foils(別名 FoilTEX) • ShortRotatefoilhead で、違いは次の節で説明します。 スライドはしばしばアイデアを説明したり、新しい定理を説明したりするのに使わ れるので、FoilTEX はそれらを説明するのに便利な色々な環境を用意しています。 • Theorem • Theorem* • Lemma • Lemma* • Corollary • Corollary* • Proposition • Definition • Proposition* • Proof • Definition* 星印のついたバージョンは番号がつかず、星印のないバージョンは番号がつきま す。それ以外に以下の LYX が追加した 2 つの箇条書きのための環境があります。 • TickList • CrossList FoilTEX には強力なヘッダとフッタ機能があります。これはプリアンブルで設定する のが一番いいのですが、文章中のどこででも設定できます。もし、文章中でこれらの 設定を変えたい場合には、スライドの一番上、つまり foilhead のすぐ後ろがいいで しょう。 このためには、次のコマンドが使えます [Martin Vermeer]: • My Logo • Right Header • Restriction • Left Header • Right Footer これ以外にも LYX で直接サポートはいませんが FoilTEX が用意しているいくつか のコマンドがあります。これらについてはセクション 5.9.5 で説明します。 5.9.4 一組のスライドを作る この節は 色々な環境を使っての、一組のスライドの作り方を簡単に紹介します。例を 見てみたい場合は Foils.lyx を見てみてください。File . Open ダイアログの Examples ボタンから開くことができます。 5.9.4.1 タイトルページ Title、Author、Date、Abstract 環境を使える他のクラスとは異なり、foils は独立した タイトルページをつくります。もし Date 環境を使わなかった場合には、LATEX が今 日の日付を挿入してくれます(アウトプットをつくった日付です)。 43 5 特別な文書クラス 5.9.4.2 新しいスライドを始める 前に書いたように、新しいスライドを始めるには 4 つの方法があります。ポートレイ ト(縦長)のスライドを始めるには Foilhead かを ShortFoilhead 使わなければなりま せん。この 2 つの環境の違いはスライドのタイトルと本文の間の間隔です。 ランドスケープ方向(横長)のスライドをつくるには Rotatefoilhead か ShortRotatefoilhead 環境を使います。この 2 つの環境の違いもタイトルと本文の間の間隔で す。どちらの場合も Short がついたバージョンはタイトルと本文の間が 0.5 インチ(約 1.27cm)短くなります。 ランドスケープのスライドを作る場合の一つの問題は、dvips ドライバを PostScript® 出力するのに使うことです。さもないとスライドは回転しません。ただし、dvips ド ライバを持っていなくてもプリンタの給紙方向を変えることで、ランドスケープのス ライドをつくることができます。 5.9.4.3 Theorem、Lemma、Proof、その他 LYX の小さなバグのために、これらの環境のうちで同じ環境を続けて使うことがで きません。2 つの同じ環境の間には何か別のものを入れる必要があります。もしこれ らの中の環境で同じものを 2 つ続けて使うと、2 つの環境がくっついて初めの環境が 続く形になります。この問題を解決する方法は何かのテキストを 2 つの環境の間にい れる。または%だけの LATEX 環境をその 2 つの間に入れることです。これによって、 ちゃんと 2 つの環境に別れるようになります。これの例が LYX ディストリビューショ ンに含まれる Foils.lyx に入っています。この問題が起るのは theorem に似た環境の なかで同じものを 2 つ続けて使う場合だけです。 5.9.4.4 箇条書き 他のクラスにもある箇条書きのための環境をサポートしているだけでなく、2 つの新 しい箇条書きのスタイルも使えます。この新しいスタイルをここで説明しましょう。 他の箇条書きの環境について知りたければユーザーの手引きを見てください。itemize 環境を使う場合にはセクション 3.4 も見た方がいいかも知れません。 2 つの新しい箇条書きの環境は TickList と CrossList です。これらの環境は長所と短 所を並べて書くような場合に便利です。TickList は項目の頭にチェックをつけ、CrossList は項目の頭に×印をつけます。これらの環境は Itemize 環境のちょっとした応用でつく られています。ただしこれらの環境を使うためには psnfss パッケージがインストー ルされている必要があります。 5.9.4.5 図と表 FoilTEX は図、表のフロートを定義し直して、本文中に入れられたところに図または 表を入れます。ページの上方に入れたり、ユーザが指定した場所にいれたりはしませ ん。実際フロートの配置の設定を変えても、無視されるだけです。 44 5.9 Foils(別名 FoilTEX) 5.9.4.6 ページヘッダーとフッター My Logo と Restriction は左のフッタを制御する 2 つのコマンドです。前者はスライ ドにグラフィックのロゴを含めるためのコマンドで、既定は「-Typeset by FoilTEX-」 です。後者は聴衆の分類を表すのに使います。例えば Confidential(機密)などと書 いておきます。既定では何も設定されていません。 残りのスライドの隅は Right Footer (既定はページ番号)、 Right Header (右上)、 Left Header (左上)を使って文字を入れることができます。 5.9.5 サポートされない FoilTEX の機能 以下ででてくるコマンドは LATEX 環境の中で使うか、TEX コマンドとしてマークする 必要があります。 5.9.5.1 長さ すべての長さは \setlength{lengthname}{newlength}コマンドを使って調整できま す。lengthname は変えたい長さの変数の名前で、newlength は長さの値です。すべて の長さはインチ (in)、ミリメートル (mm)、ポイント (pt)、\textwidth のように文章 やフォントに対しての相対的なものを使うかをして長さの単位の指定をする必要があ ります。 スライドのタイトルと本文の間の距離は \foilheadskip を変えることで調整でき ます。例えば、すべてのスライドのタイトルを 0.5 インチ本文に近づけるには次のコ マンドをプリアンブルに入れてください。\setlength{\foilheadskip}{-0.5in} フロートの回りのスペースは以下の長さを設定して調整することができます。 \abovefloatskip 本文からフロートの上までの長さ \abovecaptionskip フロートとキャプションの間の長さ \belowcaptionskip キャプションとそれに続く本文の間の長さ \captionwidth この長さを調整することでキャプションを周囲のテキストよ り短くすることができます。\textwidth に対する相対的な 長さで調整するのがいいでしょう。 タイトルページに関係する長さもあります。長いタイトルや複数の著者がいる場合に 変えたくなるかも知れません。 \abovetitleskip へッダからタイトルまでの長さ \titleauthorskip Title と Author 環境の間の長さ \authorauthorskip 複数の著者の名前の間の長さ \authordateskip Author と Date の間の長さ \dateabstractskip Dat と Abstract の間の長さ 45 5 特別な文書クラス 最後にすべての箇条書きの環境に影響するコマンドを紹介しておきます。\zerolistvertdimens を箇条書きの環境の内側に置くと、項目間のすべての縦方向のスペースが取り除かれ ます。これはコマンドで長さを表す変数ではないので、\setlength を使う必要がな いことに注意してください。 5.9.5.2 へッダとフッタ \LogoOn と \LogoOff は MyLogo で定義したロゴを特定のページに入れるかどうかを コントロールします。\LogoOff をプリアンブルに入れた場合は、すべてのスライドに ロゴがつきません。特定のスライドにだけロゴをつけたくない場合には、そのスライ ドの foilhead のすぐ後ろに \LogoOff を入れて、次の foilhead のすぐ後ろに\LogoOn を入れてください。 Document ダイアログで fancy ページスタイルを選んだ場合には、プリアンブルに \let\headwidth\textwidth を加える必要があります。これ加えることでランドス ケープ(横長)のスライドをつくった場合でも、フッタとへッダは正しく配置されま す。これは fancyheadings パッケージと foils クラスの間のページレイアウトの衝突を 避けるためのものです。 5.10 Hollywood(Hollywood スペック・スクリプト) Garst Reese 文 5.10.1 はじめに これはハリウッドの脚本を書くためのものです。ハリウッドの脚本のフォーマットは 読者が内容に焦点を当てやすく、俳優が読みやすくつくられています。脚本の各々の ページは映画の1分でなければなりません。脚本に何も書かれていなければ、スク リーン上で何も見えず、何も聞こえないのです。全体を通して courier 12 pt フォント を使わなければなりません。イタリックは使いません。 5.10.2 特別の問題 話し手の行は文の途中で切ってはいけません。もし話し手の行が次のページに続く場 合には、Speaker の名前を繰り返し、そのあとに (Cont’d) とつけます。 5.10.3 特別の機能 Speaker の名前はラベルとして挿入でき、それ以降はラベルを相互参照で参照して Speaker の名前を挿入できます。相互参照ダイアログには登場人物の現在の配役が表 示されます。これを使って話し手の名前を注釈にも挿入できます。 46 5.10 Hollywood(Hollywood スペック・スクリプト) 5.10.4 用紙サイズと余白 US レターサイズで、余白は左 1.6 インチ、右 0.75 インチ、上 0.5 インチ、下 0.75 イ ンチ。 5.10.5 環境 次の環境が使えます。右に書いてあるキーバインドを使うには、hollywood.bind を 使ってください。 • Standard 他の環境が働かない場合に使ってください。できるだけ使うのを避けてくだ さい。 • FADE_IN: 通常このあとに「Sally は目を覚した」のようなものが続きます。 M-z S-I • INT: M-z i 新しい INTERIOR カメラのセットアップを導入します。常にこの後には DAY、 NIGHT、またはその他の必要な照明が定義されます。この行はすべて大文字で 書きます。 • EXT: M-z e EXTERIOR カメラのセットアップを導入します。この行はすべて大文字です。 • Speaker 話す(劇中の)人物 M-z s • Parenthetical M-z p 話し手への指示。自動的に括弧 () が挿入されます。ただし LYX 上で表示され るのは左括弧 ( のみです。印刷物には右括弧も表示されています。 • Dialogue Speaker が言ったこと。 M-z d • Transition カメラの動きの指示。CUT TO:等。 M-z t • FADE OUT: M-z S-I • Author M-z S-A • Title M-z S-T • Right_Address M-z r 47 5 特別な文書クラス 5.10.6 脚本で使われる特別な用語 • (O.S) — off screen • (V.0) — voice over • b.g. — background • C.U. — close-up • PAN — camera movement • INSERT — cut to close-up of 5.11 ijmpd Panayotis Papasotiriou 文 5.11.1 概観 ijpmd パッケージは World Scientific が発行する International Journal of Modern Physics D に電子投稿するためのマクロ集です。文書クラス名は ws-ijmpd.cls です。 このファイルは、著者のための指針とともに http://www.worldscinet.com/ijmpd/ mkt/guidelines.shtml からダウンロードできます。ijmpd パッケージは標準の article パッケージを改造したもので、ほとんどの機能は LYX でサポートされています。私 は最近 International Journal of Modern Physics D に投稿する論文を LYX で書き上 げました。 5.11.2 論文を書く 他のパッケージと同じく、論文を書くための一番簡単な方法はテンプレートから始め ることです。File . New from Template をクリックしてから、ijmpd.lyx テンプレート を選んでください。そうすると、ほとんどの原稿に共通な部分のみ含んだ、ほとんど 何も書いていない文章が表れます。 (鍵括弧<>で囲まれた)既存のテキストを正しい 情報に書き換えてください。以下のことは忘れないようにしてください。 1. LYX でフォントの大きさや文章のページスタイルを変えることはできません。 ijmpd パッケージではそのような操作を禁じています。 2. ijmpd パッケージでは、文章の言語を変えないことが必要です。あなたの論文 をプレビューする前に、babel パッケージが使われていないことを確かめてくだ さい。そのためには、Edit . Preferences をクリックして、Language タブを選ん でください(Lang Opts タブの下にあります)。それから Use babel オプション を消して、Apply をクリックします(これをずっと使うなら Save を選びます)。 3. Theorem と Proof という 2 つの新しい環境が使えます(何に使うかは明らかで しょう)。 48 5.12 iopart 4. 付録を論文に加えることができます。LYX は付録を始めるために、 Appendix という特別な環境を用意しています。付録の中には、通常の節、サブ節、サブ サブ節を含めることができます。 5. ijmpd パッケージでは、表の「見出し」の扱いは LYX と大きく異なっていま す。そのために、LYX でつくった表は正しく印刷されますが、表の見出しは無 視されます。表の見出しが必要な場合には、テーブルフロート全体を別の tex ファイルにして、それを LYX の文章に(Insert . Include file を使って)読み込 んでください。ijmpd でのどのようにテーブルフロートをつくるかについては ws-ijmpd.tex というファイルを見てください。ijmpd パッケージに含まれてい ます。 5.11.3 投稿のための準備 論文を投稿する前に、LYX の文章を LATEX ファイルとして保存して(File . Export . LateX)、その LATEX ファイルに次のような変更を加える必要があります。 1. \documentclass コマンドのより前のコメント行を消す。 2. \makeatletter と \makeatother コマンドの間にあるすべてのものを消す。た だし、あなたが自分自身で LATEX プリアンブルに加えたものは残しておいてく ださい。 変更を加えた .tex ファイルを保存して、必要な回数だけ LATEX にかけてください。 こうして得られた.dvi ファイルもチェックした方がいいでしょう。 5.11.4 ERT の使用 オプションで ERT の使用を使用できますが、それはページの見た目に影響する 3 つ のコマンドに集約されています。ijmpd.lyx テンプレートを使って論文を書き始めた 場合には、必要な ERT はすでに、テンプレートに書かれていて通常はそれを消す必 要はありません。一番初めの ERT を奇数、偶数ページのヘッダに書く情報に書き換え るだけです(著者の名前と論文のタイトルです)。この ERT は \markboth{Authors’ Names}{Short Paper’s Title} という形になってなければなりません。 5.12 iopart Uwe Stöhr 文 5.12.1 外観 iopart パッケージは、Institute of Physics(イギリス物理学会)が発行する学術誌へ 送る電子原稿を作成するのに使用する文書クラスを提供します。iopart クラスを使 用した論文作成方法の著者向け説明書は、ウェブサイト ftp://ftp.iop.org/pub/ journals/latex2e から iopackage とともにダウンロード可能です。 49 5 特別な文書クラス 5.12.2 論文を書く 論文を書くもっとも簡単な方法は、LYX の用例ファイルフォルダにある IOP-article.lyx を土台にすることです。このファイルを開き、新しい名前で保存して、書き始めてく ださい。用例ファイルは、特定の環境の使用法についても説明しています。もっとも 重要な助言として、以下の点にご注意ください。 • 文書が PDF・PS・DVI にコンパイルできるようにするためには、文書設定の数 式オプションで、二つの AMS math パッケージを使うオプションが有効になっ ていないことを確認してください! • どのタイトル環境を使うかが、論文の種類を定義しますので、タイトルには以 下の環境のうちのいずれかを使用してください。 – – – – – – – – – 論文用にはタイトル Review 用には Review Topical review 用には Topical Comment 用には Comment Note 用には注釈 論文用には Paper(タイトルと同じ) Preliminary communication 用には Prelim Rapid communication 用には Rapid 編集者への Letter には書簡 • Letter 以外のタイトル環境は、短縮タイトルをつけることもできます。 • LYX では直接にサポートされていませんが、一般的なタイトル環境として Article があります。文書が他のタイトル型に合わない場合には、TEX コードでこれを 指定することができます。 特別な表や数式組版に関するヒントなど詳しい情報については、IOP 著者ガイドラ インを参照してください。 5.13 Kluwer Panayotis Papasotiriou 文 5.13.1 はじめに Kluwer パッケージは、Kluwer Academic Publishers によってつくられた、同社が発行 する学術雑誌に電子投稿するためのマクロ集です。同社が発行する学術雑誌のうちで、 (少なくとも私の専門内では)もっともよく知られているものは Astrophysics and Space Science と Solar Physics ですが、他にも多くの学術雑誌を発行しています(http: //www.wkap.nl/jrnllist.htm/JRNLHOME に完全なリストがあります)。Kluwer パッ 50 5.13 Kluwer ケージは http://www.wkap.nl/kaphtml.htm/STYLEFILES からダウンロードできま す。完全なユーザーの手引きもそのパッケージの中に含まれています(別々にダウン ロードすることも可能です)。 LYX はこのパケージの多くの機能をサポートしていますが、すべてではありませ ん。しかし、ERT が必要となるのはいくつかの「変わった」コマンドだけになりまし た(5.13.4 を見てください)。最近私は LYX を使って何の問題もなく、Astrophysics and Space Science に投稿する論文を書くことができました。 5.13.2 論文を書く 論文を書く一番簡単な方法は、Kluwer のテンプレートファイルを使うことです。Click on File . New from template をクリックして、kluwer.lyx テンプレートを選んでくだ さい。これは、通常必要とされるフィールドに短い使い方が書かれただけの(ほとん ど)何も書かれていない文章ファイルです。他のテンプレートを同じように、書いて あるテキストを(<>括弧も含めて)消して、自分の情報を書いていってください。 5.13.3 投稿のための準備 AASTEX パッケージと同様に、論文を Kluwer の学術誌に投稿する前には次のような 後処理をする必要があります。 1. File . Export . LateX とクリックして、LATEX ファイルとして保存する。 2. 保存した .tex ファイルをテキストエディタを使って、次のように変える。 a) \documentclass コマンドより前にあるコメント行を消去する。 b) 自分で LATEX プリアンブルに指定したものをのぞいて、\makeatletter から\makeatother の間のものをコマンド自身も含めて消去する。 変更した .tex ファイルを保存する。 3. 保存した .tex ファイルに LATEX を必要な回数(通常は 3 回)走らせる。 4. できた .dvi ファイルを xdvi などを使って開き、変なところがないかチェックす る(自分自身で間違いをしていない限り大丈夫なはずです)。 5.13.4 Kluwer パッケージの「風変わり」な特徴 Kluwer パッケージは次のような「風変わりな」特徴があります。 1. 複数の論文を 1 つの LATEX ファイルへ入れることができます1 。各々の論文は、 article 環境に含まれていなければなりません。たとえ 1 つの論文しか LATEX ファ イルに含めない場合にでも、article 環境に入れなければなりません。したがっ て各々の論文は\begin{article}で始まり、\end{article}で終わります。こ の環境を LYX で実装することは可能でしたが、実装しませんでした。あまり 1 こうなっていた方がいいという理由は、私には思いつきません。 51 5 特別な文書クラス 美しくなく、また初心者を混乱させると思ったからです。したがって、これら の命令(\begin{article}と\end{article})を直接本文中に入力して、LATEX コードとしてマークする必要があります(ERT です)。 2. 論文のはじめに入れる情報(タイトル、サブタイトル、著者名、所属など)は opening とよばれる環境に入れる必要があります。これは LYX では実装されてい ません。したがってタイトル、サブタイトルなどは 2 つの ERT の行(\begin{opening} と \end{opening})の間に入れる必要があります。 3. パッケージのユーザーズ取扱説明書によると、参考文献の項目は \protect\citeauthoryear{a と書かなければいけません。 kluwer.lyx テンプレートは、これらの変わった点を考慮して作ってあります。新し い論文をこのテンプレートを使って書きはじめる場合には、なにも特別なことをする 必要はありません。ただ次のことに気をつけてください。 1. テンプレートに含まれる ERT を消さないでください。 2. 新しい参考文献の項目をつくる場合は、テンプレートに含まれる参考文献の項 目の例をコピーして編集してください。 5.14 Koma-Script Bernd Rellermeyer 文 5.14.1 はじめに LYX の文書クラス article (koma-script)、report (koma-script)、book (koma-script)、 letter (koma-script) は、LATEX の文書クラス scrartcl.cls、scrreprt.cls、scrbook.cls、 scrlettr.cls に対応しています。以下ではこれを Koma-Script ファミリーと呼ぶこ とにします。これらの文書クラスは、ヨーロッパの活字印刷の慣例にいくつもの点で よりよく合致するように標準の文書クラス article.cls、report.cls、book.cls、 letter.cls を置き換えるものです。 • 標準の文字サイズは article (koma-script)、report (koma-script)、book (komascript) で 11pt、letter (koma-script) で 12pt です。 • 見出し、description 環境のラベル、letter (koma-script) 文書クラスのいくつか の要素はボルド sans serif フォントが使われます2 。章の見出しの番号付は節見出 しと同じように行われます。つまり頭に Chapter. . . という行がつきません。ま たいくつかのオプションを使って、見出しの外観を変えることができます(LYX 2 古い cm フォントのボルド sans serif フォントと新しい ec フォントのボルド sans serif フォントの間 には大きな違いがあり、特に見出しに使った場合に違いが目立ちます。比較してみると ec ボルド sans serif フォントの方が細く見えます。ec フォントを使っている場合でも cm フォントの場合と 同じような見た目にするには Walter Schmidt によって書かれた cmsd.sty という LATEX パッ ケージを使うことができます。 52 5.14 Koma-Script では Layout . Document ダイアログの Extra Options フィールドにオプションを 入れます)。詳しいドイツ語でのオプションの説明が Koma-Script の取扱説明 書 scrguide にあります。 • 印刷部分をデザインする主なオプションは、BCOR と DIV です(LYX では Layout . Document ダイアログの Extra Options フィールドにオプションを入れます)。こ れらのオプションは Layout . Document ダイアログのオプションと同様に、はっ きりと余白を変えることができます。詳しいドイツ語でのこれらのオプションと 他の印刷部分に関するオプションの説明が Koma-Script の取扱説明書 scrguide にあります。 • Koma-Script ファミリの LATEX 文書クラスは、いくつかの追加的なコマンドを 定義しています。それらの中で LYX で意味があるものについては対応する段落 環境をつくることで実装しています。 詳しいドイツ語での Koma-Script ファミリの文書クラスの説明が Koma-Script の取 扱説明書 scrguide にあります3 。以下の節では LYX に関係する面だけを説明するこ とにします。 5.14.2 article (koma-script), report (koma-script), and book (koma-script) 文書クラス article (koma-script) 、report (koma-script) 、book (koma-script) は、各々 レイアウトファイル scrartcl.layout、scrreprt.layout、scrbook.layout で実装 されています。これらは標準的な文書クラス article 、report 、book にあるすべての段 落環境を少し変えた形ですべて持っています。例外は LYX 特有の List 環境で、これ は同じ機能をもつ新しい Labeling 環境で代替されます。この Labeling 環境以外にも いくつもの新しい段落環境が加えられています。これらは letter (koma-script) には 含まれていないのに注意してください。 • Addpart、Addchap、Addsec: これらは Part*、Chapter*、Section*と同等のもの ですが目次にその項目が挿入されます。Addpart と Addchap は article (komascript) には含まれません。 • Addchap*, Addsec*: これらは Addchap と Addsec とまったく同じように働きま すが、ランニングへッダを消します。Addchap*はarticle (koma-script) には含ま れません4 。 • Minisec: 次に続く段落のすぐ上に普通の文字サイズで文章の構造を変えない形 で見出しをつけます。 • Captionabove と Captionbelow はキャプションの要素の上または下に配置するため の特別のキャプションでスペースの配置を変えてあります(正しい組版のルール 3 4 英語へ翻訳した screnggu もありますが、完全ではありません。 book (koma-script) と report (koma-script) には \addpart*コマンドもあります。しかし、これは Part*と同じものなので、LYX では実装されていません。 53 5 特別な文書クラス に従うなら、つねにキャプションは表の上に置きます)。また tablecaptionsabove というクラスオプションを使うと、表には captionabove を図には captionbelow を使うようになります。これを使うには少なくとも Koma-Script version 2.8q が必要です。 • Dictum: これを使うと章の初めに格言を置くことができます。オプションで Insert . Short Title を使うと、その中に格言の著者を入れることができます。格 言の著者の間は線で区切られます。これを使うには少なくとも Koma-Script version 2.8q が必要です。Dictum は article (koma-script) には含まれません。 以下のタイプは標準的なタイプ Title、Author、Date とともに文章のタイトル部分を 作るのに使います。これらは一番初めの普通の段落よりも前に置かれる必要がありま す5 。これらの中のあるタイプが 2 度以上使われた場合は、後のものが前のものを上 書きします。つまり最後に使ったものだけが有効です。しかし、異なるタイプ、例え ば Title と Author と Date の順番を変えてもタイプセットされた文章には何の影響も 与えません。 • Subject: 通常のタイトル (Title, Author, Date) の上に文章の主題のための真ん中 に置かれた段落をつくります。 • Publishers: 通常のタイトル (Title, Author, Date) の下に出版者の名前を入れる 中心揃された段落をつくります。 • Dedication: report (koma-script) と book (koma-script) ではタイトルページの次 に独立したページを献辞のためにつくります。article (koma-script) の場合は 通常のタイトル (Title, Author, Date) の下に献辞のための中心揃した段落をつ くります。 • Titlehead: 通常のタイトル (Title, Author, Date) の上に文章のへッドを入れるた めの左詰めの段落をつくります。 • Uppertitleback: report (koma-script) や book (koma-script) で両面印刷をする場 合、タイトルページの裏のページの一番上に左詰め段落をつくります。片面印 刷の場合や、article (koma-script) では何の効果もありません。 • Lowertitleback: report (koma-script) や book (koma-script) で両面印刷をする場 合、タイトルページの裏のページの一番下に左詰め段落をつくります。片面印 刷の場合や、article (koma-script) では何の効果もありません。 • Extratitle: 段落を含む実際の文章より前に、文章の整形を行わない特別の「汚 い」ページをつくります。 文書クラス article (koma-script)、report (koma-script)、book (koma-script) のレイア ウトファイルは scrmacros.inc というファイルを読み込みます。このファイルの中 にあなたの新しいクラスを定義することができます。scrmacros.inc を自分用のレイ アウトディレクトリにコピーして編集してください。 5 対応する LATEX コマンドが \maketitle コマンドよりも前にこなければなりません。 54 5.14 Koma-Script 5.14.3 letter (koma-script) 文書クラス letter (koma-script) は、レイアウトファイル scrlettr.layout で実装さ れています。これは標準的な文書クラス letter にあるすべての環境を少し変えた形で 含んでいますが、LYX に特有の LYX-Code、Comment、List タイプは新しい Labeling タイプを代わりに使ってください。それ以外にも標準的な文書クラスの場合と違い、 LATEX、Quotation、Quote、Verse を含んでいます。またそれ以外にも多くの手紙特有 の環境が付け加えられています。 この文書クラスで作られた手紙の色々な部分は、多くの LATEX コマンドで変えるこ とができます(LYX でするには Layout . LATEX Preamble 選んで下さい)6 。このよう な LATEX コマンドの詳しいドイツ語の説明は Koma-Script の取扱説明書 scrguide に 書いてあります。これを参照して自分用の手紙のレイアウトを作ることができます。 Letter 環境と Opening 環境は手紙の始めを定義する環境で、すべての手紙に使わな ければなりません。これらの環境を強調するために、LYX では左余白にそれぞれ L と O という文字が表示されます。一つのファイルにいくつもの手紙を書くのが可能 です。Opening 環境は同じ住所を使って新しい手紙を始め、Letter 環境は新しい住所 を作ります。Closing、PS、CC、Encl は通常の段落環境で一つの同じ手紙の中で何回 でも使うことができます。 • Letter: 住所のための段落をつくり、暗黙に手紙の始まりを定義します。 • Opening: 敬称のための段落をつくり、暗黙に新しい手紙を始めます。 • Closing: 結語のための段落をつくります。 • PS: 追伸のための段落をつくります。 • CC: 配布先のリストのための段落をつくります。 • Encl: 同封した物を書くための段落をつくります。 Name、Signature、Address、Telephone、Place、Backaddress、Specialmail、Location、Title、Subject といった環境は情報を入力するための環境で、どのような情報を入れる かのラベルがついていて、文書クラスによって処理されます7 。これらの環境は対応 する Opening 環境の前に置く必要があります。 6 例えば普通の名前と住所の入った手紙のへッダをつけるにはプリアンブルに次のようなコマンドを 入れます。 \firsthead{\parbox[b]{\textwidth} {\ignorespaces \fromname\\ \ignorespaces \fromaddress}} \nexthead{\parbox[b]{\textwidth} {\ignorespaces \fromname \hfill \ignorespaces \pagename\ \thepage}} 7 上で述べた Letter や Opening がこれらと同じ入力タイプではないのが不合理に見えるかもしれま せん。しかし、この 2 つの環境の特別の役割のために、私はこれらを左余白にマークのある普通の 段落環境として実装しました。それと私の感覚では、Opening 環境と Closing 環境が同じように見 える方がいいと思います。 55 5 特別な文書クラス これらの環境を WYSIWYG の形で実装するのは意味がありません。なぜならつ くられた手紙の外観はどの環境を使っているかだけではなく、他の要素にも影響され るからです。例えば Signature 環境は Closing 環境が同じ手紙に使われたときのみ最 終的な手紙にあらわれます。Telephone 環境の値は通常手紙のどこにもあらわれませ ん。前に脚注の中で示したやり方で手紙のへッダを変えるときに使われるかもしれま せん。 このような入力タイプの環境は、空の段落として使うことができます。これは Signature 環境の場合に特に有効です。Signature 環境が使われていない場合には、Name 環境の値が署名として使われます。空の Signature 環境がある場合には、署名がつき ません。 入力タイプを使うことで手紙のテンプレートもつくることができます。住所、名前 などのいつも使う情報だけは書いておき、日付などの変わっていく情報については空 の入力タイプの環境を入れておけばいいのです。 • Signature: 送り手の署名。通常は Closing 環境の下にあらわれる。もし Signature 環境が無ければ、Name 環境の値が代わりに使われます。 • Address: 送り手の住所。通常はレターへッドの送り手の名前の下に中央揃の段 落で表示されます。 • Telephone: 送り手の電話番号。LATEX 変数 \telephonenum にこれの値が代入さ れるだけです。 • Place: 手紙を書いた場所。 • Date: 手紙を書いた日付。Place と Date は送り手の住所の下に場所と日付を右 詰めの形で挿入します。もし空の Date 環境が使われた場合は、Place の値に関 係なく場所も日付も表示されません。もし Date 環境が無かった場合には、ファ イルが LATEX で処理された日付が代入されます。 • Backaddress: 送り手の返送する場合の住所。送り手の住所の上に小さな sans serif フォントで表示されます。 • Specialmail: 特別な手紙の情報。普通は住所の上、返送用の住所の下に下線つ きで表示されます。 • Location: 追加的な情報。普通は住所の下の右側に表示されます。 • Title: 手紙の題名。表題の上に大きな太い sans serif フォントで表示されます。 • Subject: 手紙の表題。Opening 環境の上に太字で表示されます。 Yourref 、Yourmail、Myref 、Customer、Invoice といったタイプは、Title 行の上にビジネ ス用の手紙のような “Your ref.”、“Your letter of”、“Our ref.”、“Customer no.”、“Invoice no.”、“Date” といったフィールドを含む行をつくります。日付には Date の値が使わ れます。このようなビジネス用のタイプが使われた場合、Place の値は手紙にあらわ れずに、LATEX 変数\fromplace がセットさせるだけになります。通常の住所フィー 56 5.14 Koma-Script ルドの下の右揃での場所と日付の出力は抑制されます。これらのビジネス用のタイプ はラベルを持った入力タイプとして実装されていて、対応する Opening 環境より前に 置く必要があります。 • Yourref: Your ref. • Yourmail: Your letter of. • Myref: Our ref. • Customer: Customer no. • Invoice: Invoice no. 5.14.4 新しい letter class: letter (koma-script v.2) Koma-Script バージョン 2.8 は新しい レタークラス scrlttr2 を導入して、今まで 使われてきた scrlettr はサポートされなくなりました。これは、LATEX の側で、全 く新しいインターフェイスを持ち、今までのクラスと互換性を持ちません。そのため に LYX は新旧二つのクラスをサポートしています。ただし、できるだけ新しいクラ スを使ってください。 このクラスは letter (koma-script) の機能はすべて持っていて、また新しい機能も 付け加えられています。基本的な要素は Address(受取人の住所、古いレイアウトの Letter と同じ)、Opening、Closing です。NextAddress は新しい手紙を始めます(つま り、一つの文章で複数の手紙を書くことができます)。新しい要素は送り手の E-Mail、 URL、Fax、Bank、それとヘッダに(Insert . Graphics を使って)ロゴを入れることが できます。 一番大きな改良点は、ほとんどすべてのニーズを満たすように手紙のレイアウト が設定可能になったことでしょう。これはプリアンブル(Layout . Preamble. . . )かク ラスオプションとして特別のスタイルファイル(レタークラスオプション、拡張子は *.lco)を読み込んで設定します8 。使い方の例として LYX に含まれる koma-letter2 テンプレートを見てください。詳しい説明は Koma-Script の取扱説明書(scrguide ) を見てください。 5.14.5 問題点 Koma-Script 文書クラスを LYX で表示するさいに、LYX の内部構造がいくつかの問 題を引き起こします。 • Chapter 環境の章番号が章の題名と同じ行ではなく、その上の行に表示されま す。これはレイアウトファイルの中の Counter_Chapter ラベルタイプに対する LYX の振る舞いのためです。 8 KOMA パッケージにはいくつかの既定の *.lco ファイルが含まれています。例えば、DIN.lco は ドイツの組版ルールにそったもので、KOMAold.lco は古いクラスの既定の scrlettr レイアウト です。KOMAold クラスオプションをつけるには、Layout . Document . Extra Options フィールドに KOMAold を挿入してください。 57 5 特別な文書クラス • Addchap と Addsec でつけた見出しは本当の LATEX ファイルの目次には挿入さ れますが、LYX の目次(View . Table of Contents)には挿入されません。 • letter 文書クラスでの段落は段落の間に間隔を開けることによって分けられてい て、字下げは使いません。これが通常の振る舞いで、そのために特別な LATEX コ マンドは必要ありません。しかし Layout . Document ダイアログでは Indent ボ タンが押された状態になっています。これは Skip は段落間に間を開ける LATEX コマンドを挿入するボタンですが、この文書クラスの場合、特別な LATEX コマ ンドを挿入する必要がないからです。 5.15 Latex8(IEEE 学会論文) Allan Rae 文 5.15.1 はじめに このクラスは IEEE がスポンサーになっているカンファレンスに投稿するためのもの です。したがって、このクラスを使うには IEEE の Authors Kit を手に入れることを 強くお薦めします。latex.sty パッケージと それに付随する bibliography スタイルファ イルはそのキットに含まれています。Authors Kit は通常初めの投稿が受理されたと きに e-mail で送られてきます。その中にはフォーマットに関する制限等の役に立つ 情報が色々書いてあります。以下ではあなたがこのキットを手にいれて、読んでいる ものとして話を進めていきます。 5.15.2 はじめに [AR. more to come] 未完成 5.15.3 サポートされている環境 • Standard • Title • Author • E-mail • Affiliation • Abstract • Section • SubSection • Caption 58 5.16 Memoir 5.15.4 画面と印刷したものの違い 主に節番号の表示の仕方のために、画面上と印刷したものの間には小さな違いがあり ます。画面上では節番号に続くピリオドが表示されません。印刷したものにはちゃん と表示されるので心配しないでください。 5.16 Memoir Jürgen Spitzmüller 文 5.16.1 概観 Memoir は非常に強力で着実に改良されている文書クラスです。フィクションとノン フィクションの文学作品用にデザインされています。このクラスの目的は、ユーザー が文章の組版に対して最大限にコントロールできることです。Memoir は標準の book クラスをベースにしていますが、article クラスをまねることもできます(やり方は 以下で説明します)。 Memoir の開発者である Peter Wilson は LATEX の世界で多くの便利なパッケージ の作者として知られています。それらのほとんどは Memoir に含まれています。その ために、目次、付録、章のデザインなどを簡単にレイアウトすることができます。た だし、LYX はそれらすべての機能をサポートしているわけではありません。いくつ かのものは将来のバージョンでサポートされるでしょうが9 、LYX のフレームワーク による制限のために多くのものはサポートされないでしょう。もちろん、LATEX コマ ンド(ERT10 )を直接入力することによって、すべての機能を使うことは可能です。 その節では、LYX でサポートされている機能だけについて簡単に見ていくことにし ます。詳しい説明や、LYX で直接サポートされていない機能については、Memoir ク ラスの詳しい取扱説明書11 を見てください。この取扱説明書はこのクラスのユーザー の手引きであるだけでなく、よい組版とはどういうものかという総合的な解説やよい 組版のすばらしい例を含んでいます。 5.16.2 基本的な機能と制限 Memoir は標準の book クラスのすべての機能を基本的にサポートしています。しか し、以下のようないくつかの違いがあります。 フォントサイズ: Memoir の方がより広い範囲のフォントサイズが使えます。9、10、 11、12、14、17 ページスタイル: fancyhdr パッケージと Memoir の間の一つのコマンドの衝突のため (2 つのパッケージが一つのコマンドを同じ名前で定義しているために、LATEX を混乱させるのです)、手の込んだページスタイルは使えません。そのかわりに、 9 提案があれば [email protected] までぜひおくって下さい。 詳しくはセクション 2.3 を見てください。 11 CTAN:/macros/latex/memoir/memman.pdf 10 59 5 特別な文書クラス Memoir はいくつものページスタイルを用意しています(Layout . Document . Page Style を見てください)。それらのページスタイルを章題ページに使いたい 場合は、\chapterstyle コマンドを本文かプリアンブルに記述する必要があり ます(つまり、\chapterstyle{companion} のようなコマンドです)。 節分け: 標準的なクラスでは節分けコマンド(chapter、 section、 subsection 等)は 一つのオプションをとることができます。このオプションで目次とヘッダーの 表示用の題名を指定できます(題名が長い場合などに使います)。LYX では、 chapter や section の始めのところで Insert . Short Title を使って指定できます。 Memoir は 2 つめのオプションを取ることができ、目次用の題名とヘッダー用 の題名を異なるものにできます。つまり、本文中の題名、目次用の題名、ヘッ ダー用の題名の 3 種類の題名を使うことができるのです。残念ながら LYX は 2 つのオプションを取ることをサポートしていません。しかし、この制限は次の ようにして回避できます。一つめと二つめの項の間に ERT モード(C-l)で一組 の括弧を入れればいいのです。つまり、Short Title インセットに <目次用の題 名> ][ <ヘッダ用の題名> と入力すればいいのです( ][ は TEX モードです)。 目次/図、表のリスト: 標準のクラス(とそれ以外の多くのクラス)では、目次、図 のリスト、表のリストは自動的に新しいページから始まります。Memoir はこ れらのクラスとは異なり、新しいページで始めたいなら自分でページの区切り を入れる必要があります。 タイトルページ: 理由はわからないのですが、Memoir はタイトルページにページ番 号をつけます(標準のクラスでは、タイトルページのスタイルは「empty」、つ まりページ番号はつきません)。タイトルページにページ番号を付けたくない場 合は、プリアンブルに\aliaspagestyle{title}{empty}と入力してください。 Article: クラスオプションに article をつけると(Layout . Document . Extra Options を選んで入力します)、article スタイルをまねることができます。つまり、(脚 注、図、表等の)カウンターは新しい章に入ってもリセットされません。また 新しい章は新しいページからはじまりません(ただし、本当の article クラスと は違って、新しいページから始めることもできます)。しかし、parts は book クラスと同様に新しいページからはじまります。 Oldfontcommands: 既定では Memoir は LATEX バージョン 2.09 で使われていた古 いフォントコマンド(つまり、\rm や \it )を使うことを許しません。そのよ うなコマンドが表れた場合は、エラーが発生して LATEX が止まります。クラス オプション oldfontcommands を使うと、警告が出るだけになります(少なくと も LATEX は止まりません)。多くのパッケージ、特に BibTEX のスタイルファ イルはまだ古いフォントコマンドを使っているために、我々は既定でこのオプ ションを使うことに決めました。 60 5.17 mw クラス 5.16.3 追加された機能 LYX でサポートされる機能(今のところそれほど多くはありません)を簡単に説明し ましょう。詳しくは Memoir の取扱説明書12 を見てください。 Abstract: なぜ abstract が追加された機能なのか不思議かもしれませんが、標準の Book クラスには abstract は無いのです。しかし、Memoir にはあります。文章 中のどこにでも、また何回でも abstract を使うことができます。 Chapterprecis: 純文学を読んでいて、これを見たことがあるかも知れません。章の 内容が簡単にタイトルの下と目次に書いてあるものがあります(つまり、 「我々 のヒーローがトロヤに到着する。彼は友人を失うが、新たな友人を得る。」と いうようなものです)。これが Chapterprecis です。したがって、章の下でのみ 意味を持ちます。 Epigraph: epigraph は章の始めに書かれた、標語やモットーです。epigraph 環境は そのような標語をタイプセットする方法を用意します。標語自身(テキスト) とその著者(ソース)が短い線で分けられます。この環境はテキストとソース という 2 つのオプションを必要とするので、LYX をごまかす必要があります。 この場合は、(TEX モードで)2 つのオプションの間に括弧を入れます。<標語 > }{ <標語の著者> としますが、この中の }{ が TEX モードでの入力です。 Poemtitle: Memoir は(複雑で抽象的なものも含めて)詩をタイプセットするため の多くの機能を持っています。LYX では、その中のいくつかしかサポートして いません。その一つが poemtitle です。これは詩のための中央におかれたタイト ルで、目次にも含められます(verse が詩のための標準的な環境です。Memoir は verse を拡張した環境を持っていますが、これを使うためには ERT が必要で す。この環境は verse 環境の中に入れ子にする必要があるのですが、LYX では それがサポートされていないからです)。 Poemtitle*: poemtitle と同じですが、目次には加えられません。 5.17 Article(mwart) ・book(mwbk) ・report (mwrep) Tomasz Luczak 文 LYX の文書クラス article (mwart) 、report (mwrep)、book (mwbk) はそれぞれ LATEX の文書クラス mwart.cls、mwrep.cls、mwbk.cls に対応しています。これらは、標 準的な article.cls、report.cls、book.cls を代替するものでいくつかの点でポー ランド語の組版ルールによりよくしたがっています。 基本的な違いは、次の点です。 • 番号の付かない見出し(Section*のようなアステリスクがついたもの)も目次 に加えられます。 12 CTAN:/macros/latex/memoir/memman.pdf。 61 5 特別な文書クラス • ページスタイルの追加。 uheadings 線で本文と分けられたヘッダ myheadings カスタムヘッダ、ヘッダの内容は \markright と\markboth コマ ンドで指定します myuheadings 線で本文と分けられたカスタムヘッダ outer ページ番号がページの外側に付きます • オプション rmheadings serif のタイトル — 既定 sfheadings sans serif のタイトル authortitle タイトルページにまず著者名、その次にタイトルが配置される — 既定 titleauthor タイトルページにまずタイトル、その次に著者名が配置される withmarginpar 余白のための場所をページ上で確保 5.18 Paper paper 文書クラスは標準的な article クラスの代わりとなるものです。これは article ク ラスと同じような機能を提供しますが、節が sans serif になり ヘッディング等が変 わっているこちらのレイアウトの方が気に入るかも知れません。 5.19 RevTEX4 by Amir Karger Revtex テキストクラスは American Physical Sociey の Revtex 4.0(the β release of May, 1999) クラスと使います。 LYX は RevTEX 3.1 と使う Revtex テキストクラス持っています。v3.1 は LATEX 2.09 で動くもので時代遅れになっています。LYX は LATEX 2ε で動いているので、これを LYX でサポートするのは大変でした。RevTEX 4.0 からは、より LATEX 2ε でうまく動 くようにデザインされているので、LYX で RevTEX テキストクラスを使うのはずっと 簡単になりました。 ここでの説明は RevTEX 4.0 の説明書への追加として考えてください。したがって 特有の RevTEX マクロを説明せず、また必要な場合にプリアンブルにどうすればコ マンドを入れればいいかを知っているものとして説明していきます。 5.19.1 インストール まず、RevTEX 4 の README に説明しているやり方で RevTEX 4 をインストールす る必要があります。このパッケージ自体は The RevTEX 4 Web Site http://publish. aps.org/revtex4/ から手にいれることができます。LATEX が見つけることのできる 62 5.19 RevTEX4 場所にインストールしてください。そして、インストールしたのとは異なる任意の ディレクトリで短い RevTEX 4 の文章を LATEX でコンパイルできるかどうかを確かめ てください。この後、LYX を再設定するとクラスファイルを見つけ、RevTEX4 テキ ストクラスが使えるようになるはずです。 おそらく使い始める一番簡単な方法は RevTEX 4 の文章を reLYX を使ってインポー トするか、またはテンプレートディレクトリにある Revtex 4 テンプレートを使うこ とでしょう。 5.19.2 プリアンブルに関すること \documentclass に与える preprint や aps のような追加的なオプションは、Document Layout ダイアログの Extra Options フィールドに入れます。RevTEX では少なく とも一つのオプションが必要なことに注意してください。 それ以外の\draft 等のようにプリアンブルに入れるものは、Latex Preamble ダイ アログに入れてください。 5.19.3 レイアウト レイアウトは基本的に RevTEX4.0 のコマンドに対応しています。例えば Email レイ アウトは \email{}に対応しています。少なくとも RevTEX 4.0 Beta では、Address と Affiliation はまったく同じものなので、両方を使うことはないことに注意してくだ さい13 。 5.19.4 重要な注意 RevTEX 4 には独特な面があり、これが LYX を混乱させバグを引き起こします。 RevTEX では、\thanks コマンドは \author 環境の外側で使います。LYX でこれ と同じ働きをするのは別の Thanks レイアウトです。したがって、Author レイアウ トに脚注を書かないでください。ムチャクチャになる可能性があります。詳しくは RevTEX 4 の説明書を見てください。 また Author Email、Author URL、Thanks レイアウトは Author レイアウトと対応す る Address(または同等の Affiliation)レイアウトの間に置かなければなりません。も し Thanks を Address の後ろへ置くと、LATEX はコンパイルに失敗します。 5.19.5 問題点 このレイアウトの主な問題点は Email や Title のようなレイアウトに追加的な引数を 使うことができないことです。(これはこのレイアウトだけの問題ではありません。 例えば、Section レイアウトに追加的な引数を使うことができません)。これはあな たがファイルを LATEX ファイルに変換した後(これは APS に投稿するために変換す る必要があります)、テキストエディタを使ってオプションの引数を加える(例えば へッダにランニングタイトルを加える)必要があるということです。これらのレイア 13 LYX には両方が含まれています。そのために \address と \affiliation の両方を reLYX が翻訳で きます。 63 5 特別な文書クラス ウトがないということは\altaffiliation(またそれと同等な \altaddress)を使 えなくするので、手で書き加える必要があります14 。 5.20 Springer 学術誌(svjour) Martin Vermeer 文 5.20.1 説明 これは Springer Verlag のいくつかの学術雑誌のためのレイアウトファイルです。http: //www.springer.de/author/tex/help-journals.html に必要なクラスファイル(LATEX 2ε 用になりました)とそれに対応する雑誌の一覧があります。このレイアウトファイル はモジュール方式になっています。すべてのジャーナルに共通な部分は svjour.inc に まとめてあり、各々の雑誌のレイアウトファイル(例えば、svjog.layout は Journal of Geodesy のためのレイアウトファイルです)にそれが読み込まれます。 したがって、クラスファイルがサポートする他の Springer の雑誌用のレイアウト ファイルをつくるには、svjog.layout に含まれるアウトラインにしたがうと、あな た自身の sv<myjournal>.layout を簡単に作れます。 これは Journal of Geodesy に対してしかちゃんとテストしていません。svjour と svjog は標準的な LYX ディストリビューションに含まれています。関連するクラス ファイルを(Springer からダウンロードして)正しいディレクトリにイントールして、 LATEX がそれらのファイルを探せるように設定し(teTEX の場合は texhash を走らせ ます)、LYX を再設定してください。これで動くはずです。 5.20.2 新しい環境 多くの定理型の環境 — Claim、Conjecture、 . . . Theorem。 Headnote、Dedication、Subtitle、Running_LATEX_Title、Author_Running、Institute、 Mail、Offprints、Keywords、Acknowledgements、Acknowledgement。詳しくは Springer のクラスファイルの説明書を読んでください。 5.20.3 サポートしているジャーナル • Journal of Geodesy: svjog.layout — Martin Vermeer • Probability Theory and Related Fields: svprobth.layout — Jean-Marc Lasgouttes あなた自身のレイアウトファイルをつくってください。難しくはありません。 14 Note from JMarc: 実際、LYX 1.3.0 はいくつかの形の追加オプションをサポートしています。しか し、このレイアウトはこの機能を使うようにまだアップデートされてないのです。 64 5.21 Slides(別名 SliTEX) 5.20.4 Credits これらのファイルは、以前の ejour2.layout をもとにしています。ejour2.layout は Springer の LATEX 2.09 用のスタイルファイルを使った素人細工のようなレイアウト ファイルです。これらのファイルはすでにありません。Jean-Marc Lasgouttes のおか げで LYX のレイアウトファイルのメカニズムをよりよく理解することができました。 5.20.5 バグ 多分あります。以前の ejour2 よりは少なくなっているとは思いますが。 制限事項:定理型の環境の番号は表示されません。#が表示されるだけです。 5.21 Slides(別名 SliTEX) John Weiss 文 5.21.1 はじめに この節では、LYX でどのようにオーバーへッドプロジェクタ用のスライドをつくるか を説明します。そのための文書クラスには、既定の slide クラスと FoilTEX slide クラ スの 2 つがあります。この節は既定の slide クラスを説明します。 間違えないようにもう一度はっきりと言っておきます。 この節は文書クラス “slides (default)” だけを説明しています。 slides (FoilTEX) の説明を探しているなら、セクション 5.9 を見てください。slides (FoilTEX) はこの節で説明している既定の slides クラスよりもよいもののようです15 。 このクラスは古い SLITEX パッケージを LATEX 2ε で改良したものです。すべての LATEX 2ε ディストリビューションがこのクラス(これから単に slides と言うことにしま す)を持っています。前に言ったように、オーバーへッドプロジェクタ用のスライド をつくるためには foils というクラスもあり、よりよいパッケージのようですが、オー バーレイをつくるといったような、slides だけができることもあります。詳しくは以 下を読んでください。 5.21.2 はじめに この文書クラスを使うにはあたりまえですが、まず初めに Document ダイアログの Class エントリから slides (default) を選ばなければなりません。このクラスについて 知っておいた方がいいことがいくつかあります。 15 . . . と FoilTEX の支持者からは聞いています。けれども私は使ったことがないので、本当かどうか確 かめようがありません。 65 5 特別な文書クラス • Document ダイアログの Sides と Columns のオプションは変えないでください。 これらのオプションは slides クラスではサポートされていません。 • このクラスの Document ダイアログの Pagestyle の振る舞いは、他のクラスと 少し違っています。選択肢とそれの説明を書いておきます。 plain 最終的な出力ではページ番号が右下につきます。 headings plain と似ていますが、それ以外にあなたの指定したタイムマーカを 印刷します。これが既定です。 empty 最終的な印刷物にはページ番号も、タイムマーカも位置を揃えるための 目印も印刷されません。 • slides クラスは clock という追加的なオプションを持っています。これを使うに は Document ダイアログの Extra Option ボックスに clock と入力してください。 このオプションを使うことでタイムマーカを Notes に加えることができます。 詳しくはセクション 5.21.4.3 を見てください。 自動的に文章を slides クラスを使うようにするには、テンプレートファイル slides.lyx を使うこともできます。File . New from template を使ってください。このテンプレー トファイルにはこのクラスで使われる特別な段落環境も含まれています。それを次に 説明しましょう。 5.21.3 段落環境 5.21.3.1 サポートされている環境 新しく slides クラスで文章を書き始めてまず気が付くことは、フォントの大きさと 形でしょう。これは Sans フォントの Largest サイズと同じフォントです。このフォン トが印刷には使われます。これをスライドを作っているのだという目印にして下さ い。印刷したスライドにはもっと大きな文字を使うこともできますが、そのかわり 書くことのできる量は少なくなります。もちろん、より大きいスクリーンフォントは WYSIWYG ではありません。分かるようにしてあるだけです。 次に気が付くことは、段落環境プルダウンボックス(ツールバーの左端です)の内 容が変わっていることでしょう。いつも見慣れた環境の多くは無くなっていて、5 つ の新しい環境が入っています。これは slides クラスがそれらの環境しかサポートして いないためです。 • Standard • Itemize • Enumerate • Description • List 66 5.21 Slides(別名 SliTEX) • Quotation • Quote • Verse • Caption • LYX-Code • Comment これ以外の標準的な環境、例えば節見出し用の環境などは slides クラスでは使えま せん。 一方、次の新しい環境があります。 • Slide • Overlay • Note • InvisibleText • VisibleText これらの 5 つは、LYX の機能のために少し使い方に癖があります。LYX では空の段落 環境に他の段落を入れることはできません。それ自体はなかなかよいデザインなので すが、これはスライドを始めるのに普通の文しか使えないことを意味します。これを 扱うために、ちょっとした LATEX マジックが必要になります。 5.21.3.2 新しい環境の振る舞い 5 つの新しい環境すべてに LYX の制約から来る少し変な癖があります。前に指摘し たように、LYX は空の環境のなかに別の環境を入れるのを禁じています。これを回避 するために、Slide 環境はユーザーの手引きで述べられているような段落環境ではあ りません。 Slide、Overlay、Note は「疑似環境」だと考えてください。それらは節の見出しや キャプションのように見えますが、実際は(必要なら前の段落環境を終わって)新し い段落環境を開始します。同様に、InvisibleText と VisibleText は「疑似コマンド」だ と考えてください。この 2 つは何らかのことを行います。 Slide、Overlay、Note、InvisibleText、VisibleText の 5 つの環境に共通の機能は長い ラベルです。このラベルに続くテキスト— 通常の段落環境なら段落の内容にあたり ます —は、Slide、Overlay、Note、InvisibleText、VisibleText にとってまったく無関係 で、LYX は完全にそれを無視します。実際これらの 5 つの環境は、完全に中身がから のままにしておけるのです。 長いラベルの後にテキストを入れる必要がないからと言っても、テキストを入れた い場合にはどうしたらいいでしょう。例えばこのスライドについての短い説明等をい 67 5 特別な文書クラス れる場合です。このような場合は、いつもと同じように説明を入力して Return を押 すだけです。 もしテキスト以外のものを入れようとした場合には、LYX の別の制約に直面しま す。自然が真空を憎むように、LYX は古い環境に何かを置くまで新しい環境を古い環 境のなかには入れることができません。次のようにしてください。 • 新しい Slide、Overlay、Note、InvisibleText、VisibleText に入れるテキストを入 力してください。 • 段落の先頭に移動します。 • 次に Return を押します。 • 最後にこの新しいからの段落を Slide、Overlay、Note、InvisibleText、VisibleText に変えます。 将来の LYX ではこんなややこしいことをしなくてもよくなることを祈っているので すが. . . 。 5.21.4 Slide、Overlay、Note で発表用のスライドを作る 5.21.4.1 Slide 環境を使う この節はどうやれば実際のスライドを作ることができるのかを説明していると思っ ている人がいるかもしれません。ここでは slides クラスがどのように発表用の準備を するのに使うことができるのかを説明しているだけです。内容は自分で考えてくだ さい。 まず Slide 環境を選んで、新しいスライドを作ることを LYX に知らせてください。 この環境(疑似環境)のラベルが下線に続く NewSlide という青い文字であらわれま す。このラベルに続くテキスト、環境が新しいスライドに入ります。簡単でしょう。 スライドは LYX の中で強制的にページを終えなければならない多分唯一の環境で す(これは Paragraph Layout ダイアログで設定できます)。必要な内容を入れたら、 スライドを終わってください。一枚のスライドに入りきらない内容の場合は、次の新 しいスライドにまわされます。しかしこれはしない方がいいでしょう。ページ番号が その新しいスライドにはつかないからです。そのうえ、一枚に収まらないスライドは Overlay を使う場合にうまく行かないかもしれません。 Overlay と Note 環境も Slide 環境と同じように動きます。これらの環境を選ぶと、 線とそれに続くラベル、NewOverlay:または NewNote:が表示されます。ただし色は 青でなくピンクになり、線も違うものが使われます。ラベルのフォントもこれら 3 つ の環境で異なるものが使われます。 Slide と同じように内容が 1 枚のシートに収まらない場合は、新しいシートにまわ されます。しかし、これは避けたほうがいいでしょう。Note や Overlay の目的を台無 しにしてしまいます。 68 5.21 Slides(別名 SliTEX) 5.21.4.2 Overlay を Slide といっしょに使う Overlay の基本的な機能は重ね合わせて使うスライドを作ることです。例えば、発表 でまず図を見せてそれからテキストを見せたいような場合があるでしょう。一つの方 法は見せたくない部分を紙で隠してしまうことですが、これはいつもうまく行くとは 限りません。グラフにグラフを重ねる場合などは、見せたくない方を紙で隠すことは できません。別々のスライドをきっちり重なるように作るのは難しいものです。この ような場合は Overlay 環境を使うことで作業を簡単にすることができます。 各々の Overlay のページ番号はそれの親スライドのページ番号をもらい、それに -a、-b などを続けます。もちろん、Slide も Overlay もちゃんと 1 枚のスライドに収ま るようになってなければなりません。Overlay は Slide の一部であると考えた方がいい でしょう。実際、LYX では Overlay のラベルを Slide のラベルよりも短くすることで これを目に見える形で表しています。最後ですが、印刷した場合には親スライドと Overlay の 4 隅にマークがついているのがわかるでしょう。これは 2 枚のシートを重 ねるのが便利なようについているのです。 2 つのスライドを重ね合わせる場合の一番の問題は、2 枚のスライドの内容の配 置でしょう。どれだけのスペースを 2 番目のスライドの図のために残しておくべき か、1 枚目のスライドの段落が 2 枚目のスライドの図とテキストの間に入るようには どのようにしたらいいかという問題です。これを解決するいい方法が InvisibleText と VisibleText を使うことです。 InvisibleText と VisibleText はコマンドのような段落環境で、その名前の通りそれに 続くテキストを各々見えなくしたり、見えるようにします。セクション 5.21.3.2 で書い ておいたように、この 2 つの環境の中には何も入れることができません。InvisibleText を挿入すると、その位置に<Invisible Text Follows>と書いた青いラベルが行の真ん 中に表示されます。このラベルに続く文章は、その文章分のスペースは空くのですが 何も印刷されません。これは Slide でも Overlay でも同じです。 VisibleText の場合は、挿入した位置に <Visible Text Follows>と書いた緑のラベル が行の中央にあらわれます。そして、このラベル以降の文章は普通に印刷されます。 新しい Slide、Overlay、Note を始めると自動的に InvisibleText は終わります。そのた めに Slide の最後で次のスライド用に VisibleText を使う必要はありません。 これで Slide と Overlay の上で InvisibleText と VisibleText を使って重ね合わせるこ とのできるシートを作る方法が分かったでしょう。 1. メインのスライド、重ね合わせるものに関わらず表示するものをすべて含んだ スライドを作ります。 2. Overlay のみで表示される図、段落の前に InvisibleText 環境を挿入し、Overlay の みのものが終わったところに VisibleText 環境を挿入します。 3. Slide のすぐ後から、Overlay を始めます。 4. この Slide の中身を Overlay にコピーします。 5. Overlay の InvisibleText を VisibleText に入れ替え、VisibleText を InvisibleText に 入れ替えます。 69 5 特別な文書クラス これで出来上がりです。重ね合わせるシートができました。 ただし、LYX の slides クラスのデザインによる問題があります。段落の途中を見え なくしたり、見えない段落の途中だけを見えるようにしたりはできないのです。それ をするためには、LATEX コードを文章に埋め込む必要があります16 。 5.21.4.3 Note を Slide といっしょに使う Overlay と同じように Note にも元になる親スライドがあります。Note の見出しは Slide より短く、はでな赤紫色をしていてすぐに気が付くようになっています。そのうえ、 印刷した Note には親スライドのページ番号に “-1”, “-2”, “-3” 等がくっついたページ 番号がつきます。1 つの Slide には Slide と Overlay のようにいくつものノートをつけ ることができます。これは長い説明をシートに収まるように分けるのに便利です。 Note の目的はその Slide について、話したいことを何でも書いておくことです。ま た、特定の Slide についてのメモとして使うこともできます。その場合はタイムマー カを使いたくなるかもしれません。今のところ、LYX の slides クラスは SliTEX の機 能であるタイムマーカをサポートしていません。使いたい場合は LATEX コードを書く 必要があります。 タイムマーカを使うには、追加的なクラスオプション clock を設定する必要があ ります(セクション 5.21.2 を見てください)。このオプションはタイムマーカ機能を 起動して、すべての Note の左下にタイムマーカを印刷します。タイムマーカの記述 には \settime{}と\addtime{}という LATEX コマンドを使います。この 2 つのコマ ンドの引数は秒で計られた時間です。\settime{}はタイムマーカを与えられた時間 にセットします。\addtime{}は指定された量だけタイムマーカを増やします。タイ ムマーカと Notes をこのように使うと、特定のスライドにどのくらいの時間を使うこ とができるのかを思い出すことができます。 最後に一つの機能の説明をしておきましょう。印刷するときは Slides と Overlays は OHP シートに、Notes は普通の紙に印刷したいでしょう。しかし、Note は親スライ ドのすぐ後に印刷されます。どうしたらいいのでしょう。 幸いなことに、印刷をコントロールする 2 つの LATEX コマンドがあります。2 つと もプリアンブルに記述する必要があるコマンドです。\onlyslides{\slides}は Slide と Overlay のみを印刷します。そして \onlynotes{\notes}は Note のみを印刷しま す。この 2 つのコマンドを両方ともプリアンブルに書いてコメントアウトしておくと いいでしょう。最終的に印刷するときになってどちらかのコメントをはずせばいいの です。私は\onlyslides{\slides}のコメントをはずして*-slide.ps という名前のファ イルに出力し、それからまたコメントマークをつけて今度は \onlynotes{\notes} の方のコメントをはずして*-notes.ps という名前のファイルに出力して、それらの ファイルをプリンタに送るという方法を使っています。 16 コマンドは • {\invisible ... • {\visible ... } } で TEX としてマークする必要があります。見え方を変えたいテキストを括弧の中の(\invisible または\visible コマンドの後ろへ)入れてください。TEX としてマークする方法を知らない場合 はユーザーの手引きを見てください。 70 5.21 Slides(別名 SliTEX) これ以外にも別の引数を \onlyslides{}、\onlynotes{}コマンドに与えることも できます。詳しくは何かいい LATEX の本を見てください。 5.21.5 slides クラスのテンプレートファイル slides クラス用のテンプレートファイル slides.lyx が用意してあります。File . New from Template から選んでください。このテンプレートは Slide、Overlay、Note の例になっています。 また Slide と Overlay には、InvisibleText と VisibleText の例も含まれています。そして プリアンブルは次のようになっています。 % Uncomment to print out only slides and overlays % %\onlyslides{\slides} % Uncomment to print out only notes % %\onlynotes{\notes} 最後に一言いっておくと、私は LATEX 2ε の SLITEX emulation クラス(標準的な LATEX 2ε クラスの一つです)をサポートするためにこのクラスを作りました。他にもスライド の準備をする Foils(セクション 5.9 を見てください)や seminar(まだ LYX ではサ ポートしていません17 )などの LATEX 2ε パッケージがあります。私はそれらを使った ことがないので分かりません。自分で試してみて、どのクラスを使うのかを決めてく ださい。 17 あなたがやってみませんか。 71 6 ソフトウェアを追加する必要がある LYX 機能 6.1 TEX チェック Asger Alstrup 文 6.1.1 はじめに chktex プログラムが導入されていると1 、ツールメニューの下に、TEX 構文チェックとい う項目が表示されます。chktex は CTANhttp://www.ctan.org/tex-archive/help/Catalogue/entries/chkte から入手することができます。 ChkTEX パッケージは、LATEX のいくつかの構成物が直感的でなく、すぐに忘れて しまうのに欲求不満を感じていた Jens T. Berger Thielemann によって書かれた プログラムです。このプログラムは LATEX ファイルの上を走り、ファイルの整合性を チェックして、いくつかのよくあるエラーを見つけ出します。別の技術的な言い方を すると、これは LATEX 用の Lint です。 ところで LYX は正しい LATEX ファイルをつくるのに、なぜ LATEX の文法チェッカー が LYX に必要なのでしょう。それは Lint が C プログラムの文法チェックをするだけ でなくタイプエラーに対応するため意味もチェックするように、ChkTEX は文法上の エラーだけでなく、よくある写植上のエラーも見つけてくれるからです。次の例を見 てください。このようなエラーを見つけてくれます。 • 省略記号の検出: ... のかわりに. . . を使ってください。 • 括弧の前または後ろのスペースがない: ( wrong spacing ) • よくある省略形の後ろのスペースを正規のスペースにする: e. g. is too wide spacing. • 文章が大文字で終わっているときに、文の終りのスペースに直す: This is a TEST. And this is wrong spacing. • ラベルやそれに似たコマンドの前のスペース: ラベルとテキストの間にスペースがある場合、ラベルが別のページに行ってし まう可能性があります。 2 そうなるとラベルと本文が離れすぎてしまいます。 1 A L TEX 2 頒布版として MiKTEX を使用している場合には、chktex はまだ利用可能ではありません。 この脚注は別のページに行く可能性があります。 73 6 ソフトウェアを追加する必要がある LYX 機能 • レファレンスの前にハードスペースのかわりにスペース: 運が悪ければ、レファレンスされたテキストとレファレンス番号の間で行が変 わります。セクション 6.1.1 を見てください。 • 掛け算に × のかわりに x が使われている: 2x2 は 2 × 2 より安っぽく見えるでしょう。 これ以外にも色々な間違いを探してくれます。文章を仕上げるのに非常に価値のある ツールです。スペルチェックが終わって、文章の微調整をする前にはかならず使った 方がいいでしょう。 6.1.2 使いかた プログラムをインストールしたら、ツール . TEX 構文チェックを選ぶだけです。そう すると書いている文章の LATEX ファイルが生成され、ChkTEX がその LATEX ファイル をチェックします。ChkTEX からの警告があった場合は、エラーボックスが LYX の文章 中に挿入されます。エラーボックスは間違いのある場所の近くに挿入され、メニュー アイテムの移動 . エラー、または既定の cua バインドファイルを使っている場合は C-g で簡単にエラーの場所を見つけることができます。エラーボックスを開けるには マウスでクリックするか、cua バインドの場合は C-i、emacs バインドの場合は C-o の ショートカットキーを使います。警告を読んで、間違いを直してください。警告の意 味が分からない場合は無視しても大丈夫です。画面上の文章と ChkTEX が扱う文章の 間にギャップがあるために変な警告がでる場合があるのです。 この文章自体が ChkTEX の機能を確かめるよい材料になります。ChkTEX をこの文章 に走らせてみると、些細なことで多くの警告がでるのがわかるでしょう。しかし、こ れはコンピュータが敏感すぎるだけで、ほとんどが気にすることはない誤警報です。 6.1.3 微調整のしかた しばしば、ChkTEX は無駄な警告を出しすぎると感じることがあります。そういう場 合は ChkTEX が出す警告の種類を調整することができます。またひどい状況の場合の 別の選択は、表示 . すべてのエラーボックスを削除を使ってすべての警告を消してし まうことです。 ChkTEX は非常に多くの面を調整できるのですが、それですべての問題が解決する とは思わないでください。LYX は ChkTEX の出力3 から内部の構造と一致する行番号 を得ることができるようなある種の特別な LATEX ファイルを生成するのですが、それ でもいくつかの警告は正しい位置にあらわれません。これを解消するには 2 つの方法 があります。 • 設定(出力 . LATEX タブ)の ChkTEX を起動するコマンドラインを調整するか、 グローバルな ChkTEX の設定ファイル(通常は/usr/local/share/chktexrc で す)を調整します。どの警告がコマンドラインから有効、無効にできるかは以 下の節を見てください。 3 ChkTEX の出力は ChkTEX を走らせたすぐ後で Edit . View LATEX Log を使えば見ることができます。 74 6.1 TEX チェック • ファイル . エクスポート . LATEX を使って文章を LATEX ファイルに変換して、そ れに chktex を走らせます。この方法では警告に対応する場所を LYX の画面上 で見つけるのがすこし面倒ですが、可能でしょう。 設定で警告を有効、無効にするやり方を説明しましょう。メッセージを無効にするに は、-n#を使い、有効にするには-w#を使ってください。以下でイタリックで書いて あるメッセージは既定で無効になっています。既定の設定は"chktex -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38"です。 メッセージを有効、無効にする以外の chktex のオプションを使わないでください。 LYX がそれ以外のいくつかのコマンドラインパラメータを特定の方法で使って chktex と通信しているからです。 1. Command terminated with space. 2. Non-breaking space (“~”) should have been used. 3. You should enclose the previous parenthesis with “{} ”. 4. Italic correction (“\/”) found in non-italic buffer. 5. Italic correction (“\/”) found more than once. 6. No italic correction (“\/ ”) found. 7. Accent command “cmd” needs use of “cmd”. 8. Wrong length of dash may have been used. 9. “%s ” expected, found “%s ”. 10. Solo “%s” found. 11. You should use “%s” to achieve an ellipsis. 12. Inter-word spacing (“\ “) should perhaps be used. 13. Inter-sentence spacing (“\@”) should perhaps be used. 14. Could not find argument for command. 15. No match found for “%s”. 16. Math mode still on at end of LATEX file. 17. Number of “char” doesn’t match the number of “char”. 18. You should use either “ or ” as an alternative to “"”. 19. You should use "’" (ASCII 39) instead of "" (ASCII 180). 20. User-specified pattern found. 75 6 ソフトウェアを追加する必要がある LYX 機能 21. This command might not be intended. 22. Comment displayed. 23. Either ”\,’ or ’\,” will look better. 24. Delete this space to maintain correct page references. 25. You might wish to put this between a pair of “{} ”. 26. You ought to remove spaces in front of punctuation. 27. Could not execute LATEX command. 28. Don’t use \/ in front of small punctuation. 29. $\times$ may look prettier here. 30. Multiple spaces detected in output. 31. This text may be ignored. 32. Use “ to begin quotation, not ’. 33. Use ’ to end quotation, not “. 34. Don’t mix quotes. 35. You should perhaps use “cmd” instead. 36. You should put a space in front of/after parenthesis. 37. You should avoid spaces in front of/after parenthesis. 38. You should not use punctuation in front of/after quotes. 39. Double space found. 40. You should put punctuation outside inner/inside display math mode. 41. You ought to not use primitive TEX in LATEX code. 42. You should remove spaces in front of “%s” 43. “%s” is normally not followed by “%c”. 将来的には LYX にこのツール(それとよく似たツール lacheck)のためのより使い やすいインターフェイスを用意できればと考えています。しかし今の状態でもまった く役に立たないということはないでしょう。ある程度の長さの文章に使ってみてくだ さい。きっとびっくりしますよ。 76 6.2 LYX でのバージョン管理 6.2 LYX でのバージョン管理 Lars Bullik Bjønnes 文 Pavel Sanda 改訂 6.2.1 はじめに 私の友人が LYX をグループプロジェクトに使おうとしましたが、LYX がバージョン 管理またはファイルロック機能を持っていないために LYX を使うのをあきらめまし た。これが私が LYX で RCS(将来的には CVS や SCCS も)をサポートしようと考 えた理由です。LYX は今ではもっとも基本的な RCS コマンドをサポートしています。 もしあなたがより複雑なことをしたい場合は xterm 上で自分で行う必要があります。 LYX のバージョン管理機能を使う前に rcsintro(man ファイルです。man rcsintro で読めます)を読んでください。このファイルには基本的な RCS の機能のすべてが 説明してあります。特に RCS ディレクトリに関するコメントと、マスター RCS ファ イル(,v で終わっているファイルです)の概念に気をつけてください。 LYX の実装にあたっては GNU RCS パッケージの最新のバージョンを使うことを 想定しています。古いバージョンを使っている場合は動くかどうか保証できません。 6.2.2 LYX での RCS コマンド 以下の節では LYX でサポートされている RCS コマンドを説明します。それらのコマ ンドはファイル . バージョン管理の下位メニューにあります。 6.2.2.1 登録 あなたの書いている文章がバージョン管理の下にないならば、これがメニューにあら われる唯一の項目です。もし文章がバージョン管理の下にあるならば、登録は灰色に なって使えなくなっています。 このコマンドはあなたの文章を RCS に登録します。このコマンドを実行すると対 話的にその文章の最初の説明を入れるように頼んできます。そしてその文章は ReadOnly モードになり、変更を加えるためにはチェックアウトして編集を実行する必要 があります。バージョン管理の管理下にある文章はミニバッファのファイル名の後ろ に [RCS:<version> <locker>] が付きます。 このコマンドは次の RCS コマンドを実行します:ci -q -u -i -t-"<initial description>" <file-name> スイッチについて知りたければ man ci を読んでください。 6.2.2.2 変更をチェックインする ファイルの編集が終わると、その変更をチェックインします。これを実行すると変更 についての説明を求められ、それは履歴ログに記録されます。そしてバージョンナン バーは上がり、変更がマスター RCS ファイルに反映され、その文章はアンロックさ れ Read-Only モードになります。 RCS command: ci -q -u -m"<description>" <file-name> 77 6 ソフトウェアを追加する必要がある LYX 機能 6.2.2.3 チェックアウトして編集 このコマンドは文章をロックして編集できるようにします。そして文章をあなただけ が読み書きできるようにします。しばらく文章を編集して、それが終わったらチェッ クインしてください。文章がロックされるとステータスラインが変わります。 RCS command: co -q -l <file-name> 6.2.2.4 保存されたバージョンに戻す このコマンドは最後のチェックイン以降のすべての変更を破棄します。変更を破棄す る前には警告がでます。 RCS command: co -f -u<version> <file-name> 6.2.2.5 最後のチェックインを取り消す これは最後のチェックインがなされなかったようにします。LYX に読み込まれる文章 は変わりませんが、マスター RCS ファイルから最後のチェックインの変更が取り除 かれます。 RCS command: rcs -o<version> <file-name> 6.2.2.6 履歴を表示 RCS ドキュメントの完全なヒストリーが表示されます。これは rlog <file-name>の 出力を表示しています。詳しくは rlog の man ページを見てください。 6.3 文芸的プログラミング(Literate Programming) Kayvan Sylvan([email protected])改訂 Edmar Wienskoski Jr.([email protected])原文 6.3.1 はじめに この節の目的は、どのように LYX を文芸的プログラミング(literate programming) に使うかを説明することです。ここではあなたがこのプログラミングテクニックを 使っていて、tangling や weaving が何を意味するかを知っているものとして説明しま す。知らない場合は以下の節にあるウェブリンクをたどってください。古い開発の歴 史から、最新のツールに関するものまで様々な文章があります。 またあなたが LYX にもなれていて、LYX の設定やX リソースファイルを書き換える ことができることも前提にしています。そうでない場合は LYX の他の取扱説明書で 調べてください。 6.3.2 文芸的プログラミング 文芸的プログラミング FAQ からの抜粋です。 78 6.3 文芸的プログラミング(Literate Programming) 文芸的プログラミングは、人間が読むのに適した形でのドキュメント とソースの組合わせです。実際、文芸的プログラムは楽しい読み物でなけ ればならず、またそうするように勧められています。一般に文芸的プログ ラムでは、同じファイルの中でドキュメントとソースが結合しています。 そして文芸的プログラム用のツールが、そのファイルを読むことのでき るドキュメントとコンパイルできるソースをつくるように解析します。文 芸的プログラミングの WEB スタイルは D.E. Knuth が彼の TEX タイプ セットソフトウエアを開発中に作ったものです。 他のエキスパートがいうには、 文芸的プログラミングはコメントを多くするのとどう違うのでしょう? 3 つの際立った違いがあります。重要な順にあげていくと、 • 推敲の順序が柔軟 • 自動的なブラウズのサポート • ドキュメントのタイプセット、特に図と数式 興味がわいてきたでしょう。次の節に進みましょう。 6.3.2.1 参考文献 完全な文芸的プログラミング FAQ は Literate Programming FAQ http://shelob.ce.ttu.edu/daves/lpfaq/ faq.html にあります。 この FAQ には 23(二十三です)の異なった文芸的プログラミング用のツールがのっ ています。いくつかのツールはあるプログラミング言語に特化したものですが、一般 的に使えるものもあります。私はいくつかの理由から NOWEB を選びました。 • ドキュメントを LATEX と html で出力できる。 • 開放的な構造を持っている。つまり、新しいフィルタを加えたり、自分が必要 な特別な処理を行える。 • すでに利用可能なよく選ばれたフィルタがある。(html はその一つです)。 • フリーである。 Noweb のウェブページは次のところです。 Noweb home page http://www.cs.virginia.edu/~nr/noweb/ ここから色々な興味深いリンクが張られていて、またいくつかの文芸的プログラミン グの例もあります。 79 6 ソフトウェアを追加する必要がある LYX 機能 6.3.3 LYX と文芸的プログラミング LYX は文芸的プログラミングをサポートするために、汎用の LYX のコンバータメカ ニズムを使っています。したがって、LYX のコンバータの設定を変えることによって Noweb 以外の文芸プログラミングのツールを使うことができます。 6.3.3.1 ドキュメントとコードの生成(weaving と tangling) 文書クラスの選択 Noweb と LYX のインストールに成功すると次の 3 つの新しい文 書クラスが利用できるようになります。 • Article (Noweb) • Book (Noweb) • Report (Noweb) 文芸的プログラムをつくる場合にはこの中から文書クラスを選んでください。 文芸的プログラムはこれらのクラスに限定されないことに注意してください。他 のスタイル(例えば letter)から新しいクラスをつくることも、Article (AMS) 等の クラスのバリエーションと組み合わせて作ることもできます。この 3 つのクラスで カバーできない特別なことがしたい場合には、LYX の開発者用のメーリングリスト ([email protected])に連絡してください。新しいエントリを加えるようにする か、どうすれば自分でできるかをお教えします4 。また Noweb 以外の文芸プログラム 用のツールを使う場合も、新しい文書クラスをつくる必要があります。 コードの入力 LYX でコードを入力するには SCRAP5 環境を使ってください。Noweb は次のように scrap を区切ります。 <<My scrap>>= code more code even more code @ 問題は<<と@の間にあるものを完全にそのままの形で扱わなければならないことで す。つまり LYX はこの間に書かれたものへのどんな変更も禁止しなくてははなりま せん。これは Scrap と呼ぶ特別なレイアウトで扱われます。この環境は通常の段落の ようですが、自由に空白を入れることができます。 Scrap 段落環境の欠点は、連続したコードの段落の間に空行がソースコードにも印 刷したドキュメントにも入ることです。これを回避するためには、Scrap 環境の中の 改行には (ctrl-return) を使ってください。上の例では次のようにします6 。 4 実に簡単です。4 行入ったファイルをつくって、自動設定を走らせるだけです。 Noweb での名前は Chunk です。歴史的な理由から、別の文芸プログラムツール Nuweb で使われて いる scrap という名前を使っています。私が Noweb に乗り換える前に長年使っていたツールです。 6 印刷したバージョンを読んでいる場合にはこの例と上の例の違いが分かりません。 5 80 6.3 文芸的プログラミング(Literate Programming) <<My scrap>>= code more code even more code @ この環境はうまく働きます。不便な点は普通のリターンのかわりに ctrl-return を使わ なければならないことです7 。 また、Scrap の中に Noweb の %def を使うことができます。これを使うことで Noweb の identifier の相互参照に項目を加えることができます。次の例を見てくだ さい。 <<My scrap>>= def some_function(args): "This is the doc string for this function." print "My args: ", args @ %def some_function これをどのように使って、その結果相互参照がどうなるかは LIBDIR/examples/listerrors.lyx の中の文芸 python プログラムを見るとよくわかります。 ドキュメントの生成 新しい文章ファイルを正しい文書クラスでつくり、その中に コードとテキストも入れました。これをどうやって印刷したらいいのでしょう。簡単 です。表示 . DVI 等を選ぶだけです。普通の文章の場合と同じで、特別なことは必要 ありません。 LYX の内部で何が起っているかを説明しておきましょう。 1. 表示 . DVI が選ばれると、LATEX ファイルがつくられます。 ドキュメントが文芸プログラミング用のクラスであった場合には、拡張子に(設 定パネルで設定した)文芸プログラム用のものがつけられます。それ以外は.tex が拡張子に使われます。 2. 違いがファイル名だけなのに注意してください。LYX による特別な処理は必要 ありません。Scrap 環境でコードを入力するのだけがポイントです。 3. ドキュメントが文芸プログラムクラスなら、LYX は内部の LYX から Noweb の コンバータを使い、それから Noweb から LATEX のコンバータ8 を使って LATEX ファイルを生成します。 それ以外の場合はこのステップを飛ばします。 4. 最後に LATEX が実行され、普通の文章と同じ後処理が行われます。 様々なコンバータから走らせるコマンドを変えることによって、特定の文芸プログラ ム用のソフトウエアにしばられないようになっています。 7 8 これは改善しなければならない点でしょう。 これらのコンバータは、Edit . Preferences パネルの Conversion タブで設定できます。 81 6 ソフトウェアを追加する必要がある LYX 機能 コードの生成 ビルドメニューが選ばれた場合や、それに対応するツールバーのボタ ンが押された場合、上のステップ 1 と同様に LATEX ファイルが生成されます。それか ら LYX は Noweb->Program のコンバータを起動します。通常は、このコンバータは (他のコンバータと同じように)2 つの部分からできています。 1. コンバータプログラム。このプログラムは、一つのフォーマットから他のフォー マットへの変換を行います(この場合は、Noweb フォーマットからプログラム の疑似フォーマットへ変換します)。 2. エラーログパーサー。これはエラーメッセージを LYX が理解できる形へ書き直 します。これによって、LYX はファイルバッファの正しい位置へエラーボック スを配置することができます。 はじめのパートのために、 「変換子」設定で、“build-script$$i” と指定します。これ は基本的に、LYX が build-script(プログラムかスクリプト名)を(一般には LYX の一時ファイル用のディレクトリにつくられる)Noweb ファイルの名前とともに起 動することを意味しています。 以下に build-script の一例を書いておきます。パスが通っているディレクトリに置 いて使います。 #!/bin/sh # notangle -Rbuild-script $1 | env NOWEB_SOURCE=$1 sh コンバータの設定の次の部分は Flags です。これを “originaldir,parselog=listerrors” と指定してください。これで、build-script が出すすべてのエラーを listerrors プ ログラムに渡します。 コンバータコードが listerrors プログラムを探す順序は、はじめに MYLYXDIR/scripts 、 次に LIBDIR/scripts 、最後にパスです。 文章中でのプログラムの構築操作の説明 LYX と Noweb の統合の最後の部分は、 “build-script” scrap です。一般に、あなたのプログラムの構築操作の説明それ自身 を scrap に入れて文章中に含めなければなりません。上の例の noweb 用の build-script では、scrap を見つけるのに notangle コマンドを使い、sh を使って起動します。 以下に典型的な scrap がどのようなものかを書いておきます。 <<build-script>>= #!/bin/sh if [ -z "${NOWEB_SOURCE}" ] then NOWEB_SOURCE=myfile.nw fi [... code to extract files ...] [... code to compile files ...] @ 82 6.3 文芸的プログラミング(Literate Programming) LIBDIR/examples/listerrors.lyx と LIBDIR/examples/Literate.lyx を見てください。 この 2 つのファイルには異なる実装の listerrors プログラムが含まれていて、これま で説明してきた各々の部分が全体としてどのようになるかをわかってもらうための例 です。また、LIBDIR/examples/noweb2lyx.lyx も見てください。面白いことに、これ らの 3 つのファイルは、Python、C、Perl が各々使われていて、LYX の文芸プログラ ミングのサポートがプログラム言語に依存しないことを示しています。 6.3.3.2 LYX の設定 すべての文芸プログラムのための設定は、ツール . 設定パネルの「変換子」タブです ることができます。重要な部分を見ておきましょう。 the “literate” format 書式タブで設定します。ここで、Noweb 特有の設定を行いま す。GUI 名を NoWeb に、拡張子を.nw に設定してください。これによって、LYX に変換プロセスの第一段階でつくられるファイルに.nw という拡張子をつける ことを指示します。 the Program format これは空にしてください。この項目のただひとつの目的は変 換の最終的なフォーマットを指定することです(これが設定されていると、こ のフォーマットからの変換を行えます)。 NoWeb->LATEX このコンバータは、weaving の段階を行います。Noweb の場合は、 “noweave -delay -index $$i > $$o” に設定してください。 NoWeb->Program これは、tangling を行います。以前に説明したように、build-script $$i と設定して、 Flags に “originaldir,parselog=listerrors” を入れてく ださい。 6.3.3.3 デバッグ機能の拡張 ddd/gdb または他のデバッガで使える server-goto-file-row という関数が新たに LYX サーバに実装されました。 ddd/gdb でデバッグしているとき、一つのキーストロークで現在実行している位 置でテキストエディタを起動できます。既定の ddd の設定では Shift-Ctrl-V になって います。この設定は ddd でツール . 設定 . ファイル書式ウインドウを表示して、編集 プログラムエントリを変えると変えることができます。 新しい LYX サーバの関数と、この ddd の機能を使うために編集プログラムを次の ように設定してください。 echo "LYXCMD:monitor:server-goto-file-row:@FILE@ @LINE@" >~/.lyxpipe.in こうしておくと ddd を使っていてプログラムの編集したい場所があったとき、(ddd のウインドウで)Shift-Ctrl-V を押すだけで ddd は LYX サーバに情報を送り、LYX は 同じファイルを表示し、カーソルは ddd が示した場所へあらわれます。これでもうデ バッグの最中に推測しながらスクロールして場所を探す必要がなくなります。 83 6 ソフトウェアを追加する必要がある LYX 機能 この機能が動くには LYX サーバが利用可能でなければなりません(既定では LYX サーバーは使えないようになっています)。LYX サーバを使えるようにするには、設定 (パスタブ)の LYX サーバーパイプに“/home/<your-home-directory>/.lyx/lyxpipe” のようにパスを指定してください。 詳しくは『取扱説明書カスタマイズ篇』の LYX サーバの説明を読んでください。 6.3.3.4 ツールバーの拡張 ツールバーに加えることのできる 6 つの新しいボタンがあります。そのうちの 5 つのボ タンは段落環境へのショートカットです。Standard、Section、LATEX、LYX-Code、Scrap 環境用のボタンを用意しています。最後の一つはファイルメニューの Build Program エントリへのショートカットです。 LYX はツールバーで使うためのいくつものボタンを用意しています。私のツール バーはこの 6 つのショートカットに表示 . 更新 . DVI と表示 . DVI を組み合わせたも のになっています。 Toolbar Layouts Icon "layout Standard" Icon "layout Section" Icon "layout LATEX" Icon "layout LYX-Code" Icon "layout Scrap" Separator Icon "buffer-view" Icon "buffer-typeset" Icon "build-program" Separator . . . End 6.3.3.5 色を変える LYX ではいくつもの色を設定で変えることができます。まず変えたいと思うのは LATEX フォントカラーでしょう。既定では赤になっていますが、Scrap は LATEX フォントを 使い、文芸的プログラミングでは多くの Scrap があるためにそれらがすべて赤では疲 れてしまいます。操作性 . 色タブでこの色を変えることができます。 次にすることは画面の改行文字を見えなくすることです。改行文字の色を背景の色 と同じにすることで改行文字を見えなくできます。私は改行文字を背景の色に似てい るが少し違う色にすることを勧めます。こうすると、改行文字があるのはわかります が、じゃまにならないでしょう。 84 7 LATEX の達人の秘密 LYX は強力な道具ですが、TEX/LATEX でできることをすべてサポートしているわけ ではありません。しかし、ツールバーの TEX ボタンを押したり、LATEX プリアンブ ルに追加するのをためらわなければ、多くの TEX や LATEX のトリックを使うことが できます。この節ではそのようなトリック、ヒント、アイデアを紹介します。まず家 で、あまり重要でない文章で試してください。自分の博士論文でまず試そうとは考え ない方がいいでしょう。 この節で紹介するものの多くは、通常の LATEX ディストリビューションにはあまり 入っていないファイルを使います。teTEX を使っている場合には、ほとんどのファイ ルは含まれていますが、それでもいくつかは近くの CTAN アーカイブからダウンロー ドする必要があります。しばしば、同じことをするのにいくつもの方法があったり、 同じことをするいくつもの LATEX ファイルがあります。ここで紹介しているのは、い くつもの方法を比べてその中で我々が推薦するものではなく、単にあることをある特 定のファイルでできるということの紹介です。 7.1 多段組み Lars Gullik Bjønnes 文 7.1.1 目的 この章1 の目的は、LYX の文章でどのように LATEX パッケージ multicol を使うこと ができるのかを説明することです。LYX は multicol パッケージをサポートしていな いので、ちょっとしたトリックが必要です。この節を読むとどのようなトリックか明 らかになるはずです。 7.1.2 制限事項 multicol パッケージでは同じページ内で一段組みと多段組みを切り替えることがで きます。脚注も(ほとんどの場合)正しく扱われますが、カラムの下ではなくページ の下におかれます。しかし、LATEX のフロートメカニズムは現在の実装では部分的に 使うことができなくなっています。今のところこの環境の範囲では、ページ幅のフ ロートしか使えません。 1 編集者註:もともとの章は multicol パッケージの使い方を説明した見事な章でした。ただし、こ の取扱説明書にそのまま載せるには長すぎました。そのために重要な節のみを選んであります。も との章(ほとんど物語です)は examples/multicol.lyx にあります。 85 7 LATEX の達人の秘密 7.1.3 例 7.1.3.1 二段組み 二段組みを使いたい場合には、二段組みのレイアウトを始めたい場所に LATEX モード で\begin{multicols}{2}を挿入してください。そして二段組みを終わりたい場所に \end{multicols}を入れます。次の例を見てください。 The Adventure of the Empty House by Sir Arthur Conan Doyle It was in the spring of the year 1894 that all London was interested, and the fashionable world dismayed, by the murder of the Honourable Ronald Adair under most unusual and inexplicable circumstances. The public has already learned those particulars of the crime which came out in the police investigation, but a good deal was suppressed upon that occasion, since the case for the prosecution was so overwhelmingly strong that it was not necessary to bring forward all the facts. Only now, at the end of nearly ten years, am I allowed to supply those missing links which make up the whole of that remarkable chain. The crime was of interest in itself, but that interest was as nothing to me compared to the inconceivable sequel, which afforded me the greatest shock and surprise of any event in my adventurous life. Even now, after this long interval, I find myself thrilling as I think of it, and feeling once more that sudden flood of joy, amazement, and incredulity which utterly submerged my mind. Let me say to that public, which has shown some interest in those glimpses which I have occasionally given them of the thoughts and actions of a very remarkable man, that they are not to blame me if I have not shared my knowledge with them, for I should have considered it my first duty to do so, had I not been barred by a positive prohibition from his own lips, which was only withdrawn upon the third of last month. 7.1.3.2 多段組み 二段以上の多段組みをする場合も同じようにできます。 It can be imagined that my close intimacy with Sherlock Holmes had interested me deeply in crime, and that after his disappearance I never failed to read with care the various problems which came before the public. And I even attempted, more than once, for my own private satisfaction, to employ his methods in their solution, though with indifferent success. There was none, however, which appealed to me like this tragedy of Ronald Adair. As I read the evidence at the inquest, which led up to a verdict of willful murder against some person or persons unknown, I realized more clearly than I had ever done the loss which the community had sustained by the death of Sherlock Holmes. There were points about this strange business which would, I was sure, have specially appealed to him, and the efforts of the police would have been supplemented, or more probably anticipated, by the trained observation and the alert mind of the first criminal agent in Europe. All day, as I drove upon my round, I turned over the case in my mind and found no explanation which appeared to me to be adequate. At the risk of telling a twicetold tale, I will recapitulate the facts as they were known to the public at the conclusion of the inquest. 三段組み以上も可能ですが、読みにくくなり実用的ではないでしょう。 86 7.2 箇条書き(連番)の番号振り 7.1.3.3 カラムの中のカラム カラムの中にカラムを入れることもできます。 The Honourable Ronald Adair was the second son of the Earl of Maynooth, at that time governor of one of the Australian colonies. Adair’s mother had returned from Australia to undergo the operation for cataract, and she, her son Ronald, and her daughter Hilda were living together at 427 Park Lane. The youth moved in the best society–had, so far as was known, no enemies and no particular vices. He had been engaged to Miss Edith Woodley, of Carstairs, but the engagement had been broken off by mutual consent some months before, and there was no sign that it had left any very profound feeling behind it. For the rest {sic} the man’s life moved in a narrow and conventional circle, for his habits were quiet and his nature unemotional. Yet it was upon this easy-going young aristocrat that death came, in most strange and unexpected form, between the hours of ten and eleven-twenty on the night of March 30, 1894. Ronald Adair was fond of cards–playing continually, but never for such stakes as would hurt him. He was a member of the Baldwin, the Cavendish, and the Bagatelle card clubs. It was shown that, after dinner on the day of his death, he had played a rubber of whist at the latter club. He had also played there in the afternoon. The evidence of those who had played with him– Mr. Murray, Sir John Hardy, and Colonel Moran– showed that the game was whist, and that there was a fairly equal fall of the cards. Adair might have lost five pounds, but not more. His fortune was a considerable one, and such a loss could not in any way affect him. He had played nearly every day at one club or other, but he was a cautious player, and usually rose a winner. It came out in evidence that, in partnership with Colonel Moran, he had actually won as much as four hundred and twenty pounds in a sitting, some weeks before, from Godfrey Milner and Lord Balmoral. So much for his recent history as it came out at the inquest. より複雑な形でカラムの中にカラムを入れる例や、へッダのスペース、縦のカラ ムを分ける線の入れ方などの例は、ファイル examples/multicol.lyx を読んでくだ さい。 7.2 箇条書き(連番)段落環境での番号振り John Weiss 文 既定での箇条書き(連番)段落環境での番号の付け方はアラビア数字で始まり、ア ルファベットの大文字で終わります。違う番号の付け方をしたい場合にはどうしたら いいのでしょうか。次の例を見てください。 \renewcommand{\labelenumi}{\Roman{enumi}.} \renewcommand{\labelenumii}{\Alph{enumii}.} \renewcommand{\labelenumiii}{\arabic{enumiii}.} \renewcommand{\labelenumiv}{\alph{enumiv}.)} これは番号の付け方をまず大文字のローマ数字、次に大文字のアルファベット、アラ ビア数字、小文字のアルファベットにします。 87 7 LATEX の達人の秘密 前の例にはもう少しおまけがついていて、番号の後に点が入ります。例えば初めの レベルのレベルは “I.” のようになります。読みやすいように、番号の付け方を説明す るのに<“I.”, ”A.”, ”1.”, “a.)”>のような表示方法を使うことにしましょう。 例を見て分かるように、各々のネストのレベルにラベルコマンド\labelenumi . . . \labelenumiv とカウンタ enumi . . . enumiv があります。使うことのできる番号印 刷用のコマンドは \arabic{}、\roman{}、\Roman{}、\alph{}、\Alph{}の 5 つでカ ウンタを一つ引数として取ります。これらの前または後ろに好きな文字を加えること ができます。ただしスペースを加える必要はありません。 これらの機能を使った例をお見せしましょう。 \renewcommand{\labelenumi}{\#\Alph{enumi}\#} \renewcommand{\labelenumii}{\Alph{enumi}.\arabic{enumii}} \renewcommand{\labelenumiii}{\alph{enumiii}+} \renewcommand{\labelenumiv}{(\roman{enumiv})} この例は番号の付け方を <“#A#”, ”A.1”, ”a+”, “(i)”>のようにします。 7.3 Dropped Capitals Mike Ressler 文 hose of you who like the style of old books probably also like “dropped capitals”—those large capital letters which begin each new chapter or section. 昔の本のスタイルが好きならこの例のように、dropped capitals も多分好きでしょ う。これは新しい章、または節が大きな大文字で始まるものです。これを LYX/LATEX で実現するのは(少しは plain TEX を知る必要はありますが)簡単ですが、この節の 初めの TEX モードを見てもらうと分かるように多くの仕事と繰り返しが必要になり ます。 \bigdrop{-1em}{3}{ptmri}{T}こちらの方が簡単でしょう。CTAN にある dropcaps (またはより新しい dropping)パッケージを使えば簡単にこのような文字をあなたの 文章に入れることができます。このパッケージは teTEX に含まれていないのでこの 文章の中でお見せできませんが、この段落を新しい文章にコピーして、先頭の\verb と+を取り除き、プリアンブルに\usepackage{dropcaps}を加えると、Times Roman Italic の T が 3 行文の高さで余白に 1em でた形で印刷されます(TEX が探せるディレ クトリに dropcaps.sty があることを確認してください)。最初の引数は字下げの量 です。この例では負ですから余白に突き出します。2 番目の引数は行数で表した文字 の高さです。3 番目の引数はフォント名です。tfm ファイルも持つ物なら何でも動き ます(.../texmf/fonts/tfm ディレクトリで色々探してみてください)。私が気に 入っているは yinit で、これは dropped capital 用に特にデザインされたドイツ文字 のフォントです。4 番目の引数が使う文字です。dropping パッケージは\bigdrop コ マンド以外にも少し簡単な\dropping コマンドも持っています。 T 88 7.4 標準的でない形の段落 7.4 標準的でない形の段落 Mike Ressler 文 長方形の段落の形 を変えたい場合が あ る で しょう。そ ういう場合は楽 しい TEX コマンド \parshape を 使 い ま しょう。こ の 例 で 分 か るように適当に行の長さ を設定することで好きな形 の段落が作れます。馬鹿げてい るように見えるかもしれま せんが、dropped capital を最終調整したり、長 方形ではない図のま わりを文章で囲った りするのにこのよ うな手作業が必要 なのです。 文 法 は\parshape numlines #1indent #1length #2indent #2length ... #nindent #nlength です。numlines は段落をつくる行数です。その段落の本文が これより短い場合はそこで終わり、長い場合には最後の行の定義がそれ以後も使わ れます。#nindent と#nlength エントリは左余白からの字下げの量と、字下げされ たところからの行の長さを指定します。この形は現在の段落にだけ適応されて、次 の段落では通常の形にリセットされます。 7.5 まとめ 見てきたように、この節には有用な例も馬鹿げた例も入っています。たとえば、最後 の節のように段落の形を変えることが必要な人がそれほどいるとは思えませんが、重 要な点は、TEX や LATEX でどのようにすればいいかを理解する気があれば、ほとん どすべてを LYX の中でできるということです。TEX は、すばらしく強力な組版シス テムであり、LYX はそれをバックエンドとして使用しているので、そのすべての力が あなたの前に利用可能なのです。Happy LYXing! 89
© Copyright 2024 Paperzz