#LyX 2.1 created this file. For more info see http://www.lyx.org/ \lyxformat 474 \begin_document \begin_header \textclass jbook \begin_preamble % DO NOT ALTER THIS PREAMBLE!!! % % This preamble is designed to ensure that this document prints % out as advertised. If you mess with this preamble, % parts of this document may not print out as expected. If you % have problems LaTeXing this file, please contact % the documentation team % email: lyx-docs@lists.lyx.org \usepackage{ifpdf} % part of the hyperref bundle \ifpdf % if pdflatex is used % set fonts for nicer pdf view \IfFileExists{lmodern.sty} {\usepackage{lmodern}}{} \fi % end if pdflatex is used % the pages of the TOC is numbered roman % and a pdf-bookmark for the TOC is added \let\myTOC\tableofcontents \renewcommand\tableofcontents{% \frontmatter \pdfbookmark[1]{\contentsname}{} \myTOC \mainmatter } % Added only for Japanese translation % This is needed to use \textquotedbl (this doesn't exist in OT1 encoding) \usepackage[T1]{fontenc} % Below is to correct PDF bookmarks % but doesn't work because hyperref is automatically called. % Modify \usepackage{hyperref} line manually %\usepackage[dvipdfm,bookmarks=true,bookmarksnumbered=true,bookmarkstype=toc]{hyperref} %\ifnum 42146=\euc"A4A2 \AtBeginDvi{\special{pdf:tounicode EUC-UCS2}}\else %\AtBeginDvi{\special{pdf:tounicode 90ms-RKSJ-UCS2}}\fi \end_preamble \options fleqn,bibliography=totoc,index=totoc,BCOR7.5mm,titlepage,captions=tableheading \use_default_options false \begin_modules logicalmkup \end_modules \maintain_unincluded_children false \begin_local_layout Format 7 InsetLayout CharStyle:MenuItem LyxType charstyle LabelString menu LatexType command LatexName menuitem Font Family Sans EndFont Preamble \newcommand*{\menuitem}[1]{{\sffamily #1}} EndPreamble End \end_local_layout \language japanese \language_package default \inputencoding auto \fontencoding global \font_roman default \font_sans default \font_typewriter default \font_math auto \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false \font_sf_scale 100 \font_tt_scale 100 \graphics default \default_output_format pdf3 \output_sync 0 \bibtex_command default \index_command default \paperfontsize 12 \spacing single \use_hyperref true \pdf_title "LyX Configuration Manual" \pdf_author "LyX Team" \pdf_subject "LyX-Documentation Customization" \pdf_keywords "LyX, documentation, customization" \pdf_bookmarks true \pdf_bookmarksnumbered true \pdf_bookmarksopen true \pdf_bookmarksopenlevel 1 \pdf_breaklinks false \pdf_pdfborder false \pdf_colorlinks true \pdf_backref false \pdf_pdfusetitle false \pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue,pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false" \papersize default \use_geometry false \use_package amsmath 0 \use_package amssymb 0 \use_package cancel 0 \use_package esint 0 \use_package mathdots 0 \use_package mathtools 0 \use_package mhchem 0 \use_package stackrel 0 \use_package stmaryrd 0 \use_package undertilde 0 \cite_engine basic \cite_engine_type default \biblio_style plain \use_bibtopic false \use_indices false \paperorientation portrait \suppress_date false \justification true \use_refstyle 0 \branch OutDated \selected 0 \filename_suffix 0 \color #f5fae7 \end_branch \index 索引 \shortcut idx \color #008000 \end_index \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \paragraph_indentation default \quotes_language english \papercolumns 1 \papersides 2 \paperpagestyle headings \tracking_changes false \output_changes false \html_math_output 0 \html_css_as_file 0 \html_be_strict true \end_header \begin_body \begin_layout Title LyXの高度設定 \begin_inset Newline newline \end_inset 熟練ユーザのための各機能 \end_layout \begin_layout Author LyX開発チーム \begin_inset Foot status collapsed \begin_layout Plain Layout \noindent もしコメントや誤りの修正をお持ちでしたら、LyX文書化メーリングリスト \begin_inset CommandInset href LatexCommand href target "lyx-docs@lists.lyx.org" type "mailto:" \end_inset 宛お送りください。件名ヘッダに「[Customization]」という文字を入れ、このファイルの現在のメンテナRichard Heck をccにして送ってください。 \end_layout \end_inset \begin_inset Newline newline \end_inset \begin_inset Newline newline \end_inset 第2.1.x版 \end_layout \begin_layout Standard \begin_inset CommandInset toc LatexCommand tableofcontents \end_inset \begin_inset Note Note status open \begin_layout Plain Layout 本文書を修正する際には、変更追跡機能を使用してください。これによって、 \end_layout \begin_layout Plain Layout LyX翻訳者陣が変更点を認識しやすくなり、メンテナが最新の状態を維持することが容易になります。 \end_layout \end_inset \end_layout \begin_layout Chapter はじめに \end_layout \begin_layout Standard この取扱説明書は、LyXに備わっている高度設定機能を取り扱います。ここでは、短絡キーや画面プレビューオプション、プリンタオプション、LyXサーバ経由でのLyXへ のコマンド送信、国際化、新しいLaTeXクラスやLyXレイアウトの導入などの題材について論じます。おそらくは変更可能なことすべてについて触れることは無理でしょう が—私たちの開発者たちは私たちが文書化できる速さよりも速く新しい機能を付け加えてしまうので—、もっとも一般的な高度設定については説明を行い、わかりにくいものにつ いては正しい方向を指し示すことができるようにしていくつもりです。 \end_layout \begin_layout Standard \begin_inset Branch OutDated status collapsed \begin_layout Standard Information from previous versions of this document that now seems to be outdated is contained in the OutDated branch of this document. By default, this information will not appear in the LaTeX output. \end_layout \end_inset \end_layout \begin_layout Chapter LyX設定ファイル \end_layout \begin_layout Standard 本章の目的は、LyX設定ファイル群を理解するための一助となることです。本章を読み進める前に、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ヘルプ\SpecialChar \menuseparator L \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset yXについて \end_layout \end_inset を使って、LyXライブラリとユーザディレクトリがどこにあるかを確認しておいてください。ライブラリディレクトリは、LyXがシステム全体の設定ファイルを置いておくと ころです。一方、ユーザディレクトリは、自身がそれを修正した版を置いておくところです。私たちは、本書の以下の部分で、前者を \begin_inset Flex Code status collapsed \begin_layout Plain Layout L \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset yXDir \end_layout \end_inset と呼び、後者を \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout UserDir \end_layout \end_inset と呼ぶことにします。 \end_layout \begin_layout Section \begin_inset Flex Code status collapsed \begin_layout Plain Layout L \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset yXDir \end_layout \end_inset にはなにがあるの? \end_layout \begin_layout Standard \begin_inset Flex Code status collapsed \begin_layout Plain Layout L \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset yXDir \end_layout \end_inset とそのサブディレクトリには、多くのファイルがあり、LyXの挙動を高度設定するのに使用されます。これらのファイルの多くは、LyX内の \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ツール\SpecialChar \menuseparator 設定 \end_layout \end_inset ダイアログから変更することができます。LyX中で行いたいと思うような高度設定は、ほとんどこのダイアログから行うことができるようになっています。しかしながら、Ly Xの他の多くの内部動作は、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout L \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset yXDir \end_layout \end_inset のファイルを修正することで高度設定されます。これらのファイルは様々なカテゴリに分類しうるので、以下の各小節で説明します。 \end_layout \begin_layout Subsection 自動的に生成されるファイル \end_layout \begin_layout Standard \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout UserDir \end_layout \end_inset にある各ファイルは、LyXが自動設定を行ったときに生成されます。これらのファイルは、内部調査中に推測された様々な既定値が置かれています。これらは、随時上書きされ てしまうので、一般的には修正しないことが望まれます。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout lyxrc.defaults \end_layout \end_inset このファイルには、様々な既定コマンドが置かれています。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout packages.lst \end_layout \end_inset このファイルには、LyXが認識したパッケージの一覧が収められています。現在のところ、これはLyXプログラム自体には使用されていませんが、抽出された情報その他は 、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ヘルプ\SpecialChar \menuseparator LaT \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset eXの設定 \end_layout \end_inset で見ることができます。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout textclass.lst \end_layout \end_inset ユーザの \begin_inset Flex Code status collapsed \begin_layout Plain Layout layout/ \end_layout \end_inset ディレクトリで検出されたテキストクラスと、関連したLaTeX文書クラスおよびその説明の一覧です。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout lyxmodules.lst \end_layout \end_inset ユーザの \begin_inset Flex Code status collapsed \begin_layout Plain Layout layout/ \end_layout \end_inset ディレクトリで検出されたレイアウトモジュールの一覧です。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout *files.lst \end_layout \end_inset ご使用のシステムで検出された様々な種類のLaTeX関連ファイルの一覧です。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout doc/LaT \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset eXConfig.lyx \end_layout \end_inset このファイルは、自動設定中に \begin_inset Flex Code status collapsed \begin_layout Plain Layout LaT \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset eXConfig.lyx.in \end_layout \end_inset から自動的に生成されます。ご使用中のLaTeXの設定に関する情報が納められています。 \end_layout \begin_layout Subsection ディレクトリ \end_layout \begin_layout Standard 以下の各ディレクトリは、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout L \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset yXDir \end_layout \end_inset と \begin_inset Flex Code status collapsed \begin_layout Plain Layout UserDir \end_layout \end_inset に重複して存在します。特定のファイルが両方の場所にある場合には、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout UserDir \end_layout \end_inset の方にあるものが使用されます。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout bind/ \end_layout \end_inset このディレクトリには、LyXで使用されるキー割当を定義している、拡張子が \begin_inset Flex Code status collapsed \begin_layout Plain Layout .bind \end_layout \end_inset のファイルが置かれています。 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $LANG_xxx.bind \end_layout \end_inset という名称の割当ファイルの各国語版がある場合には、そちらが用いられます。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout clipart/ \end_layout \end_inset このディレクトリには、文書に取り込むことのできる画像ファイルが納められています。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout doc/ \end_layout \end_inset このディレクトリには、LyXの取扱説明書ファイル(今お読みのものも含めて)が納められています。上述のように、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout LaT \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset eXConfig.lyx \end_layout \end_inset ファイルは特に注目に値します。各国語版のヘルプ文書は、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout doc/xx \end_layout \end_inset (「xx」はISO言語コード)サブディレクトリにあります。詳しくは、第 \begin_inset CommandInset ref LatexCommand ref reference "cha:LyXの各国語対応" \end_inset 章をご覧ください。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout examples/ \end_layout \end_inset このディレクトリには、何らかの機能の使い方を説明する例示ファイルが納められています。ファイルブラウザ中で \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 用例 \end_layout \end_inset ボタンを押すと、このディレクトリが表示されます。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout images/ \end_layout \end_inset このディレクトリには、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 文書 \end_layout \end_inset ダイアログで使用される画像ファイルが納められています。さらに、ツールバーの各アイコンや、LyXを起動したときに現れるバナーも納められています。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout kbd/ \end_layout \end_inset このディレクトリには、キーボードのキー割当ファイルが納められています。詳細については、第 \begin_inset CommandInset ref LatexCommand ref reference "sec:国際キー配列" \end_inset 章をご覧ください。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout layouts/ \end_layout \end_inset このディレクトリには、第 \begin_inset CommandInset ref LatexCommand ref reference "cha:新規文書を導入" \end_inset 章に述べられているテキストクラスおよびモジュールのファイルが納められています。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout lyx2lyx \end_layout \end_inset このディレクトリには、LyXの各バージョン間の変換に使用される \begin_inset Flex Code status collapsed \begin_layout Plain Layout lyx2lyx \end_layout \end_inset Pythonスクリプトが納められています。たとえば、複数のファイルの変換をバッチ処理したい場合には、これらをコマンドラインから実行することもできます。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout scripts/ \end_layout \end_inset このディレクトリには、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 外用ひな型 \end_layout \end_inset 機能の有用性を示すためのファイルがいくつか納められています。LyX自身が使用するスクリプトもいくつか収められています。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout templates/ \end_layout \end_inset このディレクトリには、第 \begin_inset CommandInset ref LatexCommand ref reference "sec:ひな型を作成する" \end_inset 章で述べられている標準のLyXひな型ファイルが納められています。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout ui/ \end_layout \end_inset このディレクトリには、LyXの操作画面を定義する拡張子 \begin_inset Flex Code status collapsed \begin_layout Plain Layout .ui \end_layout \end_inset のファイルが納められています。つまり、これらのファイルは、どのメニュー項目がどのメニューに現れるかを定義し、どの項目がツールバーに現れるかを定義しています。 \end_layout \begin_layout Subsection 変更を加えない方がよいファイル \end_layout \begin_layout Standard これらのファイルはLyXが内部的に使用するもので、あなたが開発者でない限りは、凡そこれらに変更を加える必要はありません。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout CREDITS \end_layout \end_inset このファイルは、LyX開発陣の名簿です。この内容は、メニュー項目 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ヘルプ\SpecialChar \menuseparator L \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset yXについて \end_layout \end_inset で表示されます。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout chkconfig.ltx \end_layout \end_inset これは、自動設定プロセスによって使用されるLaTeXスクリプトです。直接実行しないでください。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout configure.py \end_layout \end_inset これは、LyXの再設定によって使用されるスクリプトです。これは、このスクリプトを実行したディレクトリに設定ファイルを生成します。 \end_layout \begin_layout Subsection ひとこと必要なファイル群 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout encodings \end_layout \end_inset このファイルには、各文字エンコーディングがどのようにUnicodeにマップされるかを示した表が載っています。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout external_templates \end_layout \end_inset このファイルには、新しく導入された \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 外用ひな型 \end_layout \end_inset 機能で使用できるひな型が載っています \lang english , see \lang japanese \begin_inset CommandInset ref LatexCommand ref reference "chap:外部素材を取り込む" \end_inset 。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout languages \end_layout \end_inset このファイルには、現在LyXがサポートしている言語の全一覧が載っています。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout latexfonts \end_layout \end_inset \lang english contains information about the supported fonts. \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout layouttranslations \end_layout \end_inset \lang english this file contains translations for internationalized paragraph styles (see \lang japanese \begin_inset CommandInset ref LatexCommand ref reference "sub:段落様式の国際化" \end_inset )。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout unicodesymbols \end_layout \end_inset \lang english this file contains information about unicode-encoded glyphs and the way they are supported by LyX via LaTeX. \end_layout \begin_layout Section ユーザのローカル設定ディレクトリ \end_layout \begin_layout Standard LyXを非特権ユーザとして利用している場合でも、自分自身で使うために、LyXの設定を変更したいと思うかもしれません。 \begin_inset Flex Code status collapsed \begin_layout Plain Layout UserDir \end_layout \end_inset ディレクトリには、すべての個人設定ファイルが収められています。これは、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ヘルプ\SpecialChar \menuseparator L \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset yXについて \end_layout \end_inset で「ユーザーディレクトリ」として言及されているディレクトリです。このディレクトリは、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout L \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset yXDir \end_layout \end_inset のミラーとして使用されており、これは \begin_inset Flex Code status collapsed \begin_layout Plain Layout UserDir \end_layout \end_inset 内のすべてのファイルが、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout L \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset yXDir \end_layout \end_inset の対応するファイルを置き換えるものとして機能していることを意味します。前節で述べられた設定はどれも、全ユーザに影響する全システム用ディレクトリに置くこともできま すし、自分自身で使うために個人のローカルディレクトリに置くこともできます。 \end_layout \begin_layout Standard わかりやすくするために、いくつか例を挙げましょう。 \end_layout \begin_layout Itemize \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ツール\SpecialChar \menuseparator 設定 \end_layout \end_inset ダイアログで設定されるユーザ設定は、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout UserDir \end_layout \end_inset 中の \begin_inset Flex Code status collapsed \begin_layout Plain Layout preferences \end_layout \end_inset ファイルに保存されます。 \end_layout \begin_layout Itemize \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ツール\SpecialChar \menuseparator 再設定 \end_layout \end_inset を使用して再設定を行うと、LyXは \begin_inset Flex Code status collapsed \begin_layout Plain Layout configure.py \end_layout \end_inset スクリプトを実行し、その結果のファイルは、ご自身のローカル設定ディレクトリに書き込まれます。これはすなわち、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout UserDir/layouts \end_layout \end_inset にご自身で追加したテキストファイルは、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 文書\SpecialChar \menuseparator 設定 \end_layout \end_inset ダイアログのクラス一覧に表示されるようになることを意味します。 \end_layout \begin_layout Itemize たとえば、LyXのFTPサイトから最新の取扱説明書をとってきたものの、使用中のシステム上で管理者権限がないために、それをインストールすることができなかったとして も、それらのファイルを \begin_inset Flex Code status collapsed \begin_layout Plain Layout UserDir/doc/ \end_layout \end_inset ディレクトリにコピーすれば、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ヘルプ \end_layout \end_inset メニュー項目はこれらを開くようになります! \end_layout \begin_layout Section LyXを複数の設定を使って実行するには \end_layout \begin_layout Standard ローカル設定ディレクトリにおいて設定の自由度があるだけでは、2つ以上の設定を自由に使いこなしたい場合には充分ではないかもしれません。たとえば、使用する度に異なる キー割当を使用したり、異なるプリンタ設定を使用したいことがあるかもしれません。これは、複数の設定ディレクトリを作ることで実現することができます。そして、実行時に どのディレクトリを使用するか指定するのです。 \end_layout \begin_layout Standard LyXをコマンドラインスイッチ \begin_inset Flex Code status collapsed \begin_layout Plain Layout -userdir \end_layout \end_inset \emph on <ディレクトリ名> \emph default と共に起動すると、設定を既定のディレクトリではなく、指定したディレクトリから読み込むように、指示することになります(LyXを \begin_inset Flex Code status collapsed \begin_layout Plain Layout -userdir \end_layout \end_inset スイッチなしで実行すれば、既定ディレクトリを指定することになります)。指定したディレクトリが存在しない場合には、LyXは、初めてLyXを実行したときに既定ディレ クトリを訊いてくるのと同様に、そのディレクトリを作るかどうか訊いてきます。この追加したユーザディレクトリでは、既定ディレクトリで行うのと全く同じように設定オプシ ョンを修正することができます。これらのディレクトリは完全に独立しています(が、読み進めてください)。また、環境変数 \begin_inset Flex Code status collapsed \begin_layout Plain Layout LYX_USERDIR_20x \end_layout \end_inset を特定の値に設定しても、全く同じ効果があります。 \end_layout \begin_layout Standard 複数の設定を持つことはまた、維持の手間も増えるということです。もし新しいレイアウトを \begin_inset Flex Code status collapsed \begin_layout Plain Layout NewUserDir/layouts \end_layout \end_inset に加えて、これをすべての設定で利用できるようにしたいならば、これをすべての設定ディレクトリで個々に付け加えなくてはなりません。これを避けるには、次のようなトリッ クを使用してください。LyXが新しい設定ディレクトリを生成すると、そのサブディレクトリ(上記参照)はほとんど空です。新しい設定が既存のものをミラーするようにする には、空のサブディレクトリを、既存の設定の対応するサブディレクトリへのシンボリックリンクに置き換えてください。ただし \begin_inset Flex Code status collapsed \begin_layout Plain Layout doc/ \end_layout \end_inset サブディレクトリには、設定スクリプト( \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ツール\SpecialChar \menuseparator 再設定 \end_layout \end_inset で使用可能)が書き出した、設定毎に異なるファイルが含まれていますので、注意を払ってください。 \end_layout \begin_layout Chapter 設定ダイアログ \end_layout \begin_layout Standard 設定ダイアログのオプションのすべては、 \emph on ユーザーの手引き \emph default の付録 \emph on 設定ダイアログ \emph default に述べられています。オプションのうちいくつかについて、ここでさらに詳細に説明します。 \end_layout \begin_layout Section ファイル形式 \begin_inset CommandInset label LatexCommand label name "sec:ファイル形式" \end_inset \end_layout \begin_layout Standard ファイル形式が定義されていない場合、はじめの一歩は、使いたいと思うファイル形式を定義することです。それには、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ツール\SpecialChar \menuseparator 設定 \end_layout \end_inset ダイアログを開いてください。 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ファイル処理\SpecialChar \menuseparator ファイル形式 \end_layout \end_inset の中で \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 新規\SpecialChar \ldots{} \end_layout \end_inset ボタンを押して、登録する新しい形式を定義してください。 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 形式 \end_layout \end_inset フィールドは、GUI中で形式を認識するために用いられる名称です。 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 短縮名 \end_layout \end_inset は、形式を内部的に識別するために用いられます。さらにファイル拡張子も入力する必要があります。これらはすべて必須事項です。オプションの \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 短絡キー \end_layout \end_inset フィールドは、メニュー中で短絡キーを提供するのに使用されます(たとえば、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout Alt-V D \end_layout \end_inset を押すと \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 表示\SpecialChar \menuseparator DVI \end_layout \end_inset となります)。 \end_layout \begin_layout Standard 形式には、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 閲覧プログラム \end_layout \end_inset と \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 編集プログラム \end_layout \end_inset を関連づけることができます。たとえば、PostScriptファイルを閲覧するのに \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout Ghostview \end_layout \end_inset を使用したいとしましょう。このプログラムを起動するのに必要なコマンドを対応するフィールドに入力します。ここで、コマンドを定義するのに、次節に掲げる4つの変数を用 いることができます。この閲覧プログラムは、LyX中で画像を閲覧したり \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 表示 \end_layout \end_inset メニューを使用したときに起動されます。一方、編集プログラムは、たとえば、画像を右クリックして現れるコンテクストメニューで \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 外部で編集 \end_layout \end_inset を選択したときに起動します。 \end_layout \begin_layout Standard ファイル形式の \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout MIME \end_layout \end_inset 型は必須ではありませんが、指定するときには、すべての形式の中で一意的なものでなくてはなりません。これは、この形式のファイルをファイル内容から検出するのに用いられ ます。重要なファイル形式のうちには、 \begin_inset CommandInset href LatexCommand href name "IANA" target "http://www.iana.org/assignments/media-types/" \end_inset に公式に登録されたMIME型がないものがあります。そこで、LyXは、 \begin_inset CommandInset href LatexCommand href name "freedesktop.org" target "http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec" \end_inset で指定されているMIME型拡張表を使用しています。 \end_layout \begin_layout Standard \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 文書形式 \end_layout \end_inset オプションは、LyXに、この形式が文書として書き出すのに適していることを指示するものです。このオプションが有効となっていて、適切な変換経路が存在する場合には(第 \begin_inset CommandInset ref LatexCommand ref reference "sec:変換子" \end_inset 節を参照)、この形式が \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ファイル\SpecialChar \menuseparator 書き出し \end_layout \end_inset メニューに表示されます。また、この形式に閲覧プログラムが指定されている場合には、この形式は \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 表示 \end_layout \end_inset メニューにも表示されます。 \begin_inset Flex Code status collapsed \begin_layout Plain Layout png \end_layout \end_inset のような純粋な画像形式は、このオプションを有効にしてはいけません。 \begin_inset Flex Code status collapsed \begin_layout Plain Layout pdf \end_layout \end_inset のようにベクター画像であると同時に文書でもあるような形式は、これを有効にします。 \end_layout \begin_layout Standard \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ベクター画像形式 \end_layout \end_inset オプションは、LyXにこの形式がベクター画像を含みうることを教示するものです。この情報は、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout pdflatex \end_layout \end_inset を書き出す際に、内包されている画像をどの形式に変換するかを決定するのに使用されます。 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout pdflatex \end_layout \end_inset は、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout pdf \end_layout \end_inset ・ \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout png \end_layout \end_inset ・ \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout jpg \end_layout \end_inset 以外の画像形式を取り扱うことができないので、内包されている画像は、これらの形式に変換される必要があるかもしれない為です。内包されている画像が既に \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout pdf \end_layout \end_inset ・ \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout png \end_layout \end_inset ・ \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout jpg \end_layout \end_inset のいずれかになっていない場合には、ベクター画像形式オプションが有効になっている場合には \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout pdf \end_layout \end_inset に変換され、そうでない場合には \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout png \end_layout \end_inset に変換されます。 \end_layout \begin_layout Section 複写子 \end_layout \begin_layout Standard 形式の変換はすべて、LyXの一時ディレクトリで行われるため、変換用にファイルを一時ディレクトリにコピーする前段階で、ファイルに変更を加える必要のあることがありま す \begin_inset Foot status collapsed \begin_layout Plain Layout たとえば、ファイルが他のファイル—たとえば画像—を、相対ファイル名を用いて参照している場合、このファイルが一時ディレクトリにコピーされると参照が無効になる場合が あります。 \end_layout \end_inset 。これは複写子によって取り扱われ、複写子は、ファイルを一時ディレクトリに(あるいは一時ディレクトリから)コピーすると同時に、その過程でファイルに変更を加えます。 \end_layout \begin_layout Standard 複写子の定義においては、以下の4つの変数を用いることができます。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$s \end_layout \end_inset LyXのシステムディレクトリ(例: \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout /usr/share/lyx \end_layout \end_inset ) \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$i \end_layout \end_inset 入力ファイル \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$o \end_layout \end_inset 出力ファイル \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$b \end_layout \end_inset \lang english The base name (without filename extension) in the LyX temporary directory \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$p \end_layout \end_inset \lang english The full directory path of the LyX temporary directory \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$r \end_layout \end_inset \lang english The full pathname to the original LyX file being processed \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$f \end_layout \end_inset \lang english The filename (without any directory path) of the LyX file. \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$l \end_layout \end_inset 「LaTeX名」 \end_layout \begin_layout Standard 最後の変数は、LaTeXの \series bold \backslash include \series default コマンドで使用されるのと同形式のファイル名です。これは、書き出すファイルがそのようなインクルードに適している場合のみ、使用さるべきものです。 \end_layout \begin_layout Standard 複写子は、出力ファイルに関する操作であれば、ほとんどすべてに対応することができます。たとえば、生成したPDFファイルを、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout /home/you/pdf/ \end_layout \end_inset という特別なディレクトリにコピーしたいものとしましょう。その場合には、以下のようなシェルスクリプトを書きます。 \end_layout \begin_layout Standard \begin_inset listings inline false status open \begin_layout Plain Layout #!/bin/bash \end_layout \begin_layout Plain Layout FROMFILE=$1 \end_layout \begin_layout Plain Layout TOFILE=`basename $2` \end_layout \begin_layout Plain Layout cp $FROMFILE /home/you/pdf/$TOFILE \end_layout \end_inset これを、自身のローカルLyXディレクトリ—たとえば \begin_inset Flex Code status collapsed \begin_layout Plain Layout /home/you/.lyx/scripts/pdfcopier.sh \end_layout \end_inset —に保存し、お使いのプラットフォームが必要とするならば、実行可能属性を付与します。それから、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ツール\SpecialChar \menuseparator 設定 \end_layout \end_inset ダイアログの \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ファイル処理\SpecialChar \menuseparator ファイル形式 \end_layout \end_inset の中で、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout PDF(pdflatex) \end_layout \end_inset 形式—あるいは他のPDF形式のうちどれか—を選択し、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 複写子 \end_layout \end_inset フィールドに \begin_inset Flex Code status collapsed \begin_layout Plain Layout pdfcopier.sh $$i $$o \end_layout \end_inset と入力します。 \end_layout \begin_layout Standard 複写子は、LyX自身が様々な変換に使用します。たとえば、適切なプログラムが検出された場合、LyXは自動的に \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout HTML \end_layout \end_inset 形式と \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout HTML \begin_inset space ~ \end_inset (MS Word) \end_layout \end_inset 形式の複写子を導入します。これらの形式を書き出す際、複写子は、本体のHTMLファイルだけでなく、関連した様々なファイル(スタイルファイルや画像など)もコピーされ るように手配します。これらのファイルはすべて、元のLyXファイルのあるディレクトリのサブディレクトリに書き込まれます \begin_inset Foot status collapsed \begin_layout Plain Layout この複写子の挙動は調整することができます。非必須の「-e」オプションは、コピーする拡張子をコンマ区切りで羅列したものを引数にとります。これを省略した場合には、す べてのファイルがコピーされます。「-t」引数は、生成したディレクトリに書き加える拡張子を指定するものです。既定値では、これは「 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout L \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset yXconv \end_layout \end_inset 」となっているので、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout /path/to/filename.lyx \end_layout \end_inset から生成されたHTMLファイルは、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout /path/to/filename.html.L \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset yXconv \end_layout \end_inset となります。. \end_layout \end_inset 。 \end_layout \begin_layout Section 変換子 \begin_inset CommandInset label LatexCommand label name "sec:変換子" \end_inset \end_layout \begin_layout Standard 各形式間でファイルを変換するために、ご自身の変換子を定義することができます。これは、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ツール\SpecialChar \menuseparator 設定\SpecialChar \menuseparator ファイル処理\SpecialChar \menuseparator 変換子 \end_layout \end_inset ダイアログで行います。 \end_layout \begin_layout Standard 新規に変換子を定義するには、ドロップダウンリストから \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 変換元の形式 \end_layout \end_inset と \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 変換先の形式 \end_layout \end_inset を選択し、変換に必要なコマンドを入力してから \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 追加 \end_layout \end_inset ボタンを押してください。変換子の定義には、以下のような変数を使用することができます。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$s \end_layout \end_inset LyXシステムディレクトリ \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$i \end_layout \end_inset 入力ファイル \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$o \end_layout \end_inset 出力ファイル \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$b \end_layout \end_inset 入力ファイルのベースファイル名(拡張子をとった部分) \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$p \end_layout \end_inset 入力ファイルのパス \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$r \end_layout \end_inset 元の入力ファイルのパス(変換子が連鎖して呼び出されたときの挙動が$$pとは異なります) \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$e \end_layout \end_inset 文書エンコーディングのiconv名 \end_layout \begin_layout Standard \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 追加フラグ \end_layout \end_inset フィールドには、以下のフラグをコンマで区切って入力することができます。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout latex \end_layout \end_inset この変換子がLaTeXの一種を実行することを示します。これによって、LyXのLaTeXエラーログに記録を残せるようになります。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout needaux \end_layout \end_inset 変換にLaTeXの \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout .aux \end_layout \end_inset ファイルが必要であることを示します。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout nice \end_layout \end_inset \lang english Needs a \begin_inset Quotes eld \end_inset nice \begin_inset Quotes erd \end_inset file from the backend, which in practice means a LaTeX file like the one we would export, without \begin_inset Flex Code status collapsed \begin_layout Plain Layout \lang english input@path \end_layout \end_inset \lang japanese 。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout xml \end_layout \end_inset 出力がXMLであることを示します。 \end_layout \begin_layout Standard 以下の3つのフラグは \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout key \begin_inset space ~ \end_inset = \begin_inset space ~ \end_inset value \end_layout \end_inset 形式の引数をとります(したがって厳密にはフラグとは呼べません)。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout parselog \end_layout \end_inset これを指定すると、変換子の標準エラーが \begin_inset Flex Code status collapsed \begin_layout Plain Layout infile.out \end_layout \end_inset ファイルにリダイレクトされ、引数に指定されたスクリプトが \begin_inset Flex Code status collapsed \begin_layout Plain Layout script < infile.out > infile.log \end_layout \end_inset の形で実行されるようになります。引数には \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$s \end_layout \end_inset を指定することができます。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout resultdir \end_layout \end_inset これには、変換子が生成したファイルをダンプするディレクトリ名を指定します。LyXはこのディレクトリを作成せず、ここに何もコピーしませんが、このディレクトリを宛 先にコピーします。引数には、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$b \end_layout \end_inset を使用することができ、これはディレクトリがコピーされる際に、入力ファイルおよび出力ファイルのベース名で置換されます。 \begin_inset Newline newline \end_inset resultdirとusetempdirは、同時に用いることはできませんのでご注意ください。前者が指定されているときには、後者は無視されます。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout resultfile \end_layout \end_inset これは出力ファイル名を指定するもので、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout $$b \end_layout \end_inset を使用することができます。resultdirが指定されているときのみ有効で、必ず用いる必要はありません。指定されていなければ、既定値は「index」です。 \end_layout \begin_layout Standard 最後の3つは、LyXとともに導入される変換子には、現在いずれも使用されておりません。 \end_layout \begin_layout Standard 変換しようとするすべての形式のあいだに変換子を定義する必要はありません。たとえば、「LyXからPostScript」変換子が定義されていないのに、LyXはPos tScriptを書き出していることに気づかれることでしょう。これは、まずLaTeXファイルを生成した後に(これには変換子を定義する必要はありません)、「LaTe XからDVI」変換子を使用してDVIに変換し、最後に、得られたDVIをPostScriptに変換することによって実現しています。LyXはこのような変換子の「連鎖 」を自動的に見つけ、つねに最も短い連鎖を選択します。しかしながら、なお形式間に複数の変換方法を定義することも可能です。たとえば、標準的なLyX設定は、LaTeX からPDFへ変換するのに、以下の3つの方法を用意しています。 \end_layout \begin_layout Enumerate 直接 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout pdflatex \end_layout \end_inset を使用するもの \end_layout \begin_layout Enumerate (DVIと)PostScriptを経由して \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ps2pdf \end_layout \end_inset を使用するもの \end_layout \begin_layout Enumerate DVI経由で \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout dvipdfm \end_layout \end_inset を使用するもの \end_layout \begin_layout Enumerate 直接 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout XeTeX \end_layout \end_inset を使用するもの \end_layout \begin_layout Enumerate 直接 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout LuaTeX \end_layout \end_inset を使用するもの \end_layout \begin_layout Standard このように代替連鎖を定義するには、第 \begin_inset CommandInset ref LatexCommand ref reference "sec:ファイル形式" \end_inset 節に述べられているように、ターゲットとなる「ファイル形式」を複数定義しなくてはなりません。たとえば、標準設定では、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout pdf \end_layout \end_inset ( \lang english for \lang japanese \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ps2pdf \end_layout \end_inset )・ \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout pdf2 \end_layout \end_inset ( \lang english for \lang japanese \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout pdflatex \end_layout \end_inset )・ \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout pdf3 \end_layout \end_inset ( \lang english for \lang japanese \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout dvipdfm \end_layout \end_inset )・ \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout pdf4 \end_layout \end_inset ( \lang english for \lang japanese \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout XeTeX \end_layout \end_inset )・ \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout pdf5 \end_layout \end_inset ( \lang english for \lang japanese \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout LuaTeX \end_layout \end_inset ) と命名された形式が定義されていて、すべて共通の拡張子 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout .pdf \end_layout \end_inset を持ち、上記で言及した各変換方法に対応しています。 \end_layout \begin_layout Chapter LyXの各国語対応 \begin_inset CommandInset label LatexCommand label name "cha:LyXの各国語対応" \end_inset \end_layout \begin_layout Standard LyXは、翻訳された操作画面の利用をサポートしています。私たちが最後に確かめたところでは、LyXは30言語の翻訳を提供しています。選択した言語は、使用する \emph on ロケール \emph default と呼ばれます(ロケール設定についての詳しい資料は、お使いの基本ソフトに添付のロケール関連説明書をご覧ください。Linuxの場合は、マニュアルページの \begin_inset Flex Code status collapsed \begin_layout Plain Layout locale(5) \end_layout \end_inset から見ると良いかもしれません)。 \end_layout \begin_layout Standard これらの翻訳は適切に機能しますが、欠点もいくつかあることに注意してください。たとえば、ダイアログはすべて英文を念頭にデザインされているため、翻訳文の一部は、割り 当てられたスペースに収めるには大きすぎるかもしれません。これは表示上の問題に過ぎず、他の障害は引き起こしません。また、翻訳によっては、すべての短絡キーが定義され ていないことに気づかれるでしょう。短絡キーのために空いている文字が十分ないことが時々あるのです。単に翻訳者がまだ短絡キーを定義していないこともあるでしょう。もち ろん、私たちの各国語対応チーム—あなたも参加したいと思われるかもしれません \begin_inset Foot status collapsed \begin_layout Plain Layout もしあなたが英語以外の言語を流暢に操れるならば、これらのチームに参加することは、LyXコミュニティに報いるたいへん素晴らしい方法です! \end_layout \end_inset —は、LyXの将来のバージョンでこれらの欠点を修正しようとするでしょう。 \end_layout \begin_layout Section LyXを翻訳する \end_layout \begin_layout Subsection グラフィカル・ユーザ・インタフェース(テキスト・メッセージ)を翻訳する \begin_inset Argument 1 status collapsed \begin_layout Plain Layout GUI(テキストメッセージ)を翻訳する \end_layout \end_inset \end_layout \begin_layout Standard LyXは、操作画面の国際化対応にGNU \begin_inset Flex Code status collapsed \begin_layout Plain Layout gettext \end_layout \end_inset ライブラリを使用します。LyXのすべてのメニューやダイアログでお好みの言語を話させたいときには、その言語の \begin_inset Flex Code status collapsed \begin_layout Plain Layout po \end_layout \end_inset ファイルが必要です。このファイルが利用可能であれば、そこから \begin_inset Flex Code status collapsed \begin_layout Plain Layout mo \end_layout \end_inset ファイルを生成して、この \begin_inset Flex Code status collapsed \begin_layout Plain Layout mo \end_layout \end_inset ファイルをインストールしなくてはなりません。この全過程は、GNU \begin_inset Flex Code status collapsed \begin_layout Plain Layout gettext \end_layout \end_inset の取扱説明書に説明があります。この作業をあなたのためだけに行うこともできますが、もしせっかくするのであれば、あなたの骨折りの結果をLyXコミュニティの他の人々と 分かち合いませんか。どのように段取りを進めればよいか、詳しくはLyX開発者メーリングリストにメールを送ってください。 \end_layout \begin_layout Standard 要約すれば、以下のように行います(xxは言語コードを表します)。 \end_layout \begin_layout Itemize LyXソースコードをチェックアウトしてください( \begin_inset CommandInset href LatexCommand href name "ウェブ上の情報" target "http://www.lyx.org/devel/cvs.php" \end_inset 参照)。 \end_layout \begin_layout Itemize \begin_inset Flex Code status collapsed \begin_layout Plain Layout lyx.pot \end_layout \end_inset ファイルを \begin_inset Flex Code status collapsed \begin_layout Plain Layout **.po \end_layout \end_inset ファイルのあるフォルダにコピーして、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout xx.po \end_layout \end_inset に名前を付け替えてください( \begin_inset Flex Code status collapsed \begin_layout Plain Layout lyx.pot \end_layout \end_inset がどこにもない場合には、コンソールからそのディレクトリで \begin_inset Flex Code status collapsed \begin_layout Plain Layout make lyx.pot \end_layout \end_inset コマンドを実行し、作成し直すか、他言語の既存のpoファイルをひな型として使用することができます)。 \end_layout \begin_layout Itemize \begin_inset Flex Code status collapsed \begin_layout Plain Layout xx.po \end_layout \end_inset を編集します \begin_inset Foot status collapsed \begin_layout Plain Layout これは単なるテキストファイルなので、どのテキストエディタでも編集できます。しかし、 \family typewriter Poedit \family default (全プラットフォーム用)や \family typewriter KBabel \family default (KDE用)のように、この目的の編集をサポートする特別なプログラムがあります。 \family typewriter Emacs \family default にも \begin_inset Flex Code status collapsed \begin_layout Plain Layout po \end_layout \end_inset ファイルを編集するための「モード」があります。 \end_layout \end_inset 。メニューラベルやウィジェットラベルのうちには、翻訳しなくてはならない短絡キーがある場合があります。これらのキーは「|」の後に記されており、当該言語の単語やフレ ーズに対応して翻訳しなくてはなりません。さらに、新しい \begin_inset Flex Code status collapsed \begin_layout Plain Layout po \end_layout \end_inset ファイルの冒頭に、あなたの電子メールアドレスなどの情報も書き加えて、人々があなたに提案や、滑稽な怒りのメッセージを届けることができるようにしてください。 \end_layout \begin_layout Standard もし、あなたがこれを自身のためだけに行っているのであれば、 \end_layout \begin_layout Itemize \begin_inset Flex Code status collapsed \begin_layout Plain Layout xx.mo \end_layout \end_inset を生成してください。これは \begin_inset Flex Code status collapsed \begin_layout Plain Layout msgfmt -o xx.mo < xx.po \end_layout \end_inset でできます。 \end_layout \begin_layout Itemize この \begin_inset Flex Code status collapsed \begin_layout Plain Layout mo \end_layout \end_inset ファイルを、お使いのロケールツリー中、言語xxのアプリケーションメッセージ用の正式なディレクトリにコピーして、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout lyx.mo \end_layout \end_inset という名称にしてください(例: \begin_inset Flex Code status collapsed \begin_layout Plain Layout /usr/local/share/locale/xx/LC_MESSAGES/lyx.mo \end_layout \end_inset )。 \end_layout \begin_layout Standard しかしながら前述のように、この新しい \begin_inset Flex Code status collapsed \begin_layout Plain Layout po \end_layout \end_inset ファイルを他の人たちが使用できるよう、LyX頒布版に追加できることが最善です。これを追加するには、LyXに変更を加える必要がありますので、もしその気があれば、開 発者メーリングリストに電子メールを送ってください。 \end_layout \begin_layout Subsubsection 多義訳語メッセージ \end_layout \begin_layout Standard 時には、一つの英語のメッセージが、翻訳先の言語では複数のメッセージに翻訳されなくてはならないことが判明することがあります。一つの例は、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout To \end_layout \end_inset というメッセージで、これは英語で「to」がどういう意味を持っているかによって、独語ではNachと訳されたりBisと訳されたりします。GNU \begin_inset Flex Code status collapsed \begin_layout Plain Layout gettext \end_layout \end_inset は、このような多義訳語を \begin_inset Flex Code status collapsed \begin_layout Plain Layout To \end_layout \end_inset の代わりに、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout To[[as in 'From format x to format y']] \end_layout \end_inset や \begin_inset Flex Code status collapsed \begin_layout Plain Layout To[[as in 'From page x to page y']] \end_layout \end_inset としなくてはなりません。これによって、これら2つの \begin_inset Flex Code status collapsed \begin_layout Plain Layout To \end_layout \end_inset は、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout gettext \end_layout \end_inset には別物と解釈され、それぞれ正しくNachとBisに訳すことができるようになります。 \end_layout \begin_layout Standard もちろん、この文脈情報は、翻訳が存在しないときには取り去られる必要がありますので、メッセージの終わりに二重大括弧で囲わなくてはなりません(上例参照)。LyXの翻 訳機構では、メッセージの終わりに二重大括弧で囲われているものはすべて、メッセージを表示する前に取り去るようにされています。 \end_layout \begin_layout Subsection 説明書を翻訳する \end_layout \begin_layout Standard ( \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout Help \end_layout \end_inset メニュー中の)オンライン説明書は翻訳することができます(そして翻訳されるべきです!)。説明書の翻訳版が利用可能であり \begin_inset Foot status collapsed \begin_layout Plain Layout 2008年3月現在、説明書の少なくとも一部が翻訳されている言語は14言語に上り、入門編が訳されているものはさらにいくつかあります。 \end_layout \end_inset 、ロケールがその言語に設定されている場合、LyXはこれを自動的に使用します。LyXは、翻訳版を \begin_inset Flex Code status collapsed \begin_layout Plain Layout L \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset yXDir/doc/xx/DocName.lyx \end_layout \end_inset ( \begin_inset Flex Code status collapsed \begin_layout Plain Layout xx \end_layout \end_inset は現在使用している言語コード)で探します。翻訳文書がない場合には、既定の英語版が表示されます。翻訳版は、原典と同じファイル名(上述の \begin_inset Flex Code status collapsed \begin_layout Plain Layout DocName \end_layout \end_inset )を持っていなくてはならないことに注意してください。説明書を翻訳する気がおありであれば(これは原典の校正としてもたいへん役立ちます!)、以下のような点をすぐに行 うべきです。 \end_layout \begin_layout Itemize 説明書翻訳ウェブページ \begin_inset CommandInset href LatexCommand href name "http://www.lyx.org/Translation" target "http://www.lyx.org/Translation" \end_inset を確認してください。ここで、どの文書が(もしあれば)お使いの言語に既に翻訳されているかを見つけることができます。また、説明書をお使いの言語に翻訳する作業の面倒を 見ている人を(もしいれば)見つけることができます。この作業の面倒を見ている人がいない場合には、私たちにあなたが興味をお持ちであることを知らせてください。 \end_layout \begin_layout Standard いったん実際の翻訳の仕事に取りかかったならば、トラブルを回避するいくつかのヒントがあります。 \end_layout \begin_layout Itemize 文書化チームに所属してください!そのための情報が \begin_inset Flex Code status collapsed \begin_layout Plain Layout Intro.lyx \end_layout \end_inset ( \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ヘルプ\SpecialChar \menuseparator はじめの一歩 \end_layout \end_inset )にあります。また、この \begin_inset Flex Code status collapsed \begin_layout Plain Layout Intro.lyx \end_layout \end_inset が最初に訳すべき文書です。 \end_layout \begin_layout Itemize 翻訳しようとする言語での印刷慣行を学んでください。活版印刷は古来の技術であり、何世紀にもわたって世界の至る所で、様々な慣行を発達させてきました。また、あなたの国 で活版工が用いる専門用語も学んでください。自分で勝手な専門用語を捻出するとユーザを混乱させるだけです。( \emph on 警告!活版技術は病みつきになる可能性があるので注意してくさい! \emph default ) \end_layout \begin_layout Itemize 文書のコピーをとってください。これを作業用コピーとします。これをお使いの \begin_inset Flex Code status collapsed \begin_layout Plain Layout UserDir/doc/xx/ \end_layout \end_inset ディレクトリにコピーすれば、個人用の翻訳ヘルプファイルとして使用することができます。 \end_layout \begin_layout Itemize (LyXチームが維持している)原典の説明書は、時折更新されます。変更点については、 \begin_inset CommandInset href LatexCommand href name "http://www.lyx.org/trac/timeline" target "http://www.lyx.org/trac/timeline" \end_inset のソースビューアでご覧ください。この方法で、翻訳文書のどの部分を更新しなくてはならないか、たやすく見つけることができます。 \end_layout \begin_layout Standard もし原典に誤りを見つけたならば、修正して文書化チームの他のメンバーに変更したことを知らせてください(文書化チームに参加することをお忘れになっていませんよね)。 \end_layout \begin_layout Standard \begin_inset Branch OutDated status collapsed \begin_layout Section International Keyboard Support \end_layout \begin_layout Standard \emph on [Editor's Note: The following section is by \emph default \shape smallcaps \emph on Ivan Schreter \shape default . It needs to be fixed to conform to the new Documentation Style sheet and to make use of the new v1.0 features. The whole thing also needs to be merged with the section following it.-jw It may also be badly out of date.-rh (2008)] \end_layout \begin_layout Subsection Defining Own Keymaps: Keymap File Format \end_layout \begin_layout Standard Let's look at a keyboard definition file a little closer. It is a plain text file defining \end_layout \begin_layout Itemize key-to-key or key-to-string translations \end_layout \begin_layout Itemize dead keys \end_layout \begin_layout Itemize dead keys exceptions \end_layout \begin_layout Standard To define key-to-key or key-to-string translation, use this command: \end_layout \begin_layout Quotation \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash kmap \end_layout \end_inset \begin_inset Flex Code status collapsed \begin_layout Plain Layout key \end_layout \end_inset outstring \end_layout \begin_layout Standard where \begin_inset Flex Code status collapsed \begin_layout Plain Layout key \end_layout \end_inset is the key to be translated and \begin_inset Flex Code status collapsed \begin_layout Plain Layout outstring \end_layout \end_inset is the string to be inserted into the document. To define dead keys, use: \end_layout \begin_layout Quotation \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash kmod \end_layout \end_inset \begin_inset Flex Code status collapsed \begin_layout Plain Layout key \end_layout \end_inset deadkey \end_layout \begin_layout Standard where \begin_inset Flex Code status collapsed \begin_layout Plain Layout key \end_layout \end_inset is a keyboard key and \begin_inset Flex Code status collapsed \begin_layout Plain Layout deadkey \end_layout \end_inset is dead key name. The following dead keys are supported (shortcut name is in parentheses): \end_layout \begin_layout Quotation \emph on Name \begin_inset space \hfill{} \end_inset Example \end_layout \begin_layout Quotation acute (acu) \begin_inset space \hfill{} \end_inset \lang english áéíóú \end_layout \begin_layout Quotation grave (gra) \begin_inset space \hfill{} \end_inset \lang english àèìòù \end_layout \begin_layout Quotation macron (mac) \begin_inset space \hfill{} \end_inset \lang english ō \end_layout \begin_layout Quotation tilde (til) \begin_inset space \hfill{} \end_inset \lang english ñÑ \end_layout \begin_layout Quotation underbar (underb) \begin_inset space \hfill{} \end_inset \begin_inset ERT status open \begin_layout Plain Layout \backslash b o \end_layout \end_inset \end_layout \begin_layout Quotation cedilla (ced) \begin_inset space \hfill{} \end_inset \lang english çÇ \end_layout \begin_layout Quotation underdot (underd) \begin_inset space \hfill{} \end_inset \begin_inset ERT status open \begin_layout Plain Layout \backslash d o \end_layout \end_inset \end_layout \begin_layout Quotation circumflex (circu) \begin_inset space \hfill{} \end_inset \lang english âêîôû \end_layout \begin_layout Quotation circle (circl) \begin_inset space \hfill{} \end_inset \lang english ÅůŮ \end_layout \begin_layout Quotation tie (tie) \begin_inset space \hfill{} \end_inset \begin_inset ERT status open \begin_layout Plain Layout \backslash t o \end_layout \end_inset \end_layout \begin_layout Quotation breve (bre) \begin_inset space \hfill{} \end_inset \lang english ă \lang japanese \begin_inset ERT status open \begin_layout Plain Layout \backslash u o \end_layout \end_inset \end_layout \begin_layout Quotation caron (car) \begin_inset space \hfill{} \end_inset \lang english čšž \end_layout \begin_layout Quotation hungarian umlaut (hug) \begin_inset space \hfill{} \end_inset \lang english őű \end_layout \begin_layout Quotation umlaut (uml) \begin_inset space \hfill{} \end_inset \lang english äöü \end_layout \begin_layout Quotation dot (dot) \begin_inset space \hfill{} \end_inset \lang english ż \lang japanese \begin_inset ERT status open \begin_layout Plain Layout \backslash .s \end_layout \end_inset \end_layout \begin_layout Standard Since in many international keyboards there are exceptions to what some dead keys should do, you can define them using \end_layout \begin_layout Quotation \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash kxmod \end_layout \end_inset deadkey key outstring \end_layout \begin_layout Standard For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o , so you put in \end_layout \begin_layout Quotation \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash kxmod \end_layout \end_inset caron o " \backslash ^o" \end_layout \begin_layout Standard to make it work correctly. Also, you have to define as exceptions dead keys over i and j, to remove the dot from them before inserting an accent mark. I will change this when the time comes, but so far I haven't had time. \end_layout \begin_layout Standard Oh, and about characters: backslash is escaped, so to enter it, you'll need double backslash. Also, quotes and \begin_inset Flex Code status collapsed \begin_layout Plain Layout # \end_layout \end_inset have different meaning. \begin_inset Flex Code status collapsed \begin_layout Plain Layout # \end_layout \end_inset marks comments, quotes start and end LaTeX-style commands. To enter quote, you'll need to use \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash " \end_layout \end_inset , to enter \begin_inset Flex Code status collapsed \begin_layout Plain Layout # \end_layout \end_inset , use \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash # \end_layout \end_inset . \end_layout \begin_layout Standard If you make a keyboard description file that works for your language, please mail it to me, so I can include it in the next keymap distribution. \end_layout \begin_layout Standard More keywords will be supported in keymap configuration file in future, like \end_layout \begin_layout Itemize \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash kinclude filename \end_layout \end_inset \emph on \begin_inset space \hfill{} \end_inset \begin_inset Flex Code status collapsed \begin_layout Plain Layout include \end_layout \end_inset another file \end_layout \begin_layout Itemize \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash kprog program \end_layout \end_inset \emph on \begin_inset space \hfill{} \end_inset \begin_inset Flex Code status collapsed \begin_layout Plain Layout define \end_layout \end_inset an external keymap translation program \end_layout \begin_layout Standard Also, it should look into \begin_inset Flex Code status collapsed \begin_layout Plain Layout lyxrc \end_layout \end_inset file for defaults, too (for example, a \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash kinclude \end_layout \end_inset option to include default keyboard). \end_layout \end_inset \end_layout \begin_layout Section 国際キー配列 \begin_inset CommandInset label LatexCommand label name "sec:国際キー配列" \end_inset \end_layout \begin_layout Standard \begin_inset Note Note status open \begin_layout Plain Layout 2008年3月にこの文書を改訂するに当たって、改訂者が本節の内容に詳しくなかったために、本節は改訂されていません。他に改訂してくださる方がおられれば幸いです。 \end_layout \begin_layout Plain Layout (RH) \end_layout \end_inset \end_layout \begin_layout Standard 以下の2節では、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout .kmap \end_layout \end_inset および \begin_inset Flex Code status collapsed \begin_layout Plain Layout .cdef \end_layout \end_inset ファイルの文法を詳細に解説します。これらの節は、提供されているキー配列があなたのニーズに合わない場合に、自身用のキー配列をデザインする手助けとなるでしょう。 \end_layout \begin_layout Subsection .kmapファイル \end_layout \begin_layout Standard \begin_inset Flex Code status collapsed \begin_layout Plain Layout .kmap \end_layout \end_inset ファイルは、打鍵したものを文字や文字列に割り当てます。名前が示唆するように、これはキーボード配列表を定義します。 \begin_inset Flex Code status collapsed \begin_layout Plain Layout .kmap \end_layout \end_inset ファイルは、以下の各項で説明するように、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout kmap \end_layout \end_inset ・ \begin_inset Flex Code status collapsed \begin_layout Plain Layout kmod \end_layout \end_inset ・ \begin_inset Flex Code status collapsed \begin_layout Plain Layout ksmod \end_layout \end_inset ・ \begin_inset Flex Code status collapsed \begin_layout Plain Layout kcomb \end_layout \end_inset のキーワードを定義します。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout kmap \end_layout \end_inset 文字を文字列に割り当てる \end_layout \begin_layout LyX-Code \backslash kmap \family roman \emph on 文字 \family default \emph default \family roman \emph on 文字列 \end_layout \begin_layout Standard これは、 \emph on 文字 \emph default を \emph on 文字列 \emph default に割り当てます。 \emph on 文字列 \emph default 中では、二重引用符(")とバックスラッシュ( \backslash )は、前にバックスラッシュ( \backslash )を付けてエスケープしなくてはならないことに注意してください。 \end_layout \begin_layout Standard \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout & \end_layout \end_inset を打鍵すると \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout / \end_layout \end_inset 記号が出力される \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout kmap \end_layout \end_inset ステートメントを、一例としてあげると、 \end_layout \begin_layout LyX-Code \backslash kmap & / \end_layout \begin_layout Standard のようになります。 \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout kmod \end_layout \end_inset アクセント文字を指定する \end_layout \begin_layout LyX-Code \backslash kmod \family roman \emph on 文字 アクセント 許可文字 \end_layout \begin_layout Standard これは \emph on 文字 \emph default を \emph on 許可文字 \emph default のアクセントとするものです。これはデッドキー \begin_inset Foot status collapsed \begin_layout Plain Layout \emph on デッドキー \emph default という用語は、それ自身で文字を出力しないけれども、別のキーを続けて打つと、望んだアクセント文字を出力するキーのことを指し示します。たとえば、独語で \emph on ä \emph default のようなウムラウトのついた文字は、このようにして出すことができます。 \end_layout \end_inset 機構です。 \end_layout \begin_layout Standard \emph on 文字 \emph default を打鍵してから \emph on 許可文字 \emph default にないキーを打鍵すると、 \emph on 文字 \emph default の後に許可文字ではないその文字が出力として表示されます。 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout Backspace \end_layout \end_inset はデッドキーを取り消しますので、 \emph on 文字 \emph default → \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout Backspace \end_layout \end_inset と打鍵すると、カーソルは一文字戻ることなく、文字が次の打鍵したものに及ぼしたはずの効力を取り消します。 \end_layout \begin_layout Standard 以下の例は、'文字をacuteアクセントとして、a・e・i・o・u・A・E・I・O・Uの文字に許可するものです。 \end_layout \begin_layout LyX-Code \backslash kmod ' acute aeiouAEIOU \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout ksmod \end_layout \end_inset アクセント文字に例外を指定する \end_layout \begin_layout LyX-Code \backslash kxmod \family roman \emph on アクセント 文字 結果 \end_layout \begin_layout Standard これは \emph on 文字 \emph default 上の \emph on アクセント \emph default について例外を指定するものです。ここで \emph on アクセント \emph default には、前出の \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash kmod \end_layout \end_inset 宣言で打鍵キーを既に割り当てられてなくてはならず、 \emph on 文字 \emph default は \emph on アクセント \emph default の \emph on 許可文字 \emph default の集合に属していてはなりません。こうして \emph on アクセント \emph default → \emph on 文字 \emph default の順に入力すると、 \emph on 結果 \emph default が出力されるようになります。 \begin_inset Flex Code status collapsed \begin_layout Plain Layout .kmap \end_layout \end_inset ファイルにこの宣言がない場合には、 \emph on アクセント \emph default → \emph on 文字 \emph default と入力すると、 \emph on アクセントキー \emph default → \emph on 文字 \emph default ( \emph on アクセントキー \emph default は \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash kmod \end_layout \end_inset 宣言の最初の変数)と出力されます。 \end_layout \begin_layout Standard 以下のコマンドを用いると、acute-i('i)と入力した場合、äiと出力されるようになります。 \end_layout \begin_layout LyX-Code \backslash kxmod acute i " \backslash \backslash '{ \backslash \backslash i}" \end_layout \begin_layout Labeling \labelwidthstring 00.00.0000 \begin_inset Flex Code status collapsed \begin_layout Plain Layout kcomb \end_layout \end_inset 2つのアクセント文字を結合する \end_layout \begin_layout LyX-Code \backslash kcomb \family roman \emph on アクセント1 アクセント2 許可文字 \end_layout \begin_layout Standard これはなかなか難解になってきます。これは \emph on アクセント1 \emph default と \emph on アクセント2 \emph default を(この順番で)結びつけて、 \emph on 許可文字 \emph default に効果を及ぼすようにします。 \emph on アクセント1 \emph default と \emph on アクセント2 \emph default の打鍵キーは、ファイル内のこのコマンド \emph on よりも前に \emph default 、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash kmod \end_layout \end_inset コマンドで設定されていなくてはなりません。 \end_layout \begin_layout Standard \begin_inset Flex Code status collapsed \begin_layout Plain Layout greek.kmap \end_layout \end_inset ファイル上にある例をとってみましょう。 \end_layout \begin_layout LyX-Code \backslash kmod ; acute aeioyvhAEIOYVH \backslash kmod : umlaut iyIY \backslash kcomb acute umlaut iyIY \end_layout \begin_layout Standard これは \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ;:i \end_layout \end_inset を押すと \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash '{ \backslash "{i}} \end_layout \end_inset という効果を得るようにするものです。この場合のバックスペースは、最後のデッドキーを取り消すので、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ;: Backspace i \end_layout \end_inset と押した場合には、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash '{i} \end_layout \end_inset となります。 \end_layout \begin_layout Subsection .cdefファイル \end_layout \begin_layout Standard \begin_inset Flex Code status collapsed \begin_layout Plain Layout .kmap \end_layout \end_inset による割り当てが行われた後、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout .cdef \end_layout \end_inset ファイルは、記号の作り出す文字列を現在のフォントの文字に割り当てます。LyX頒布版には、現在のところ、少なくとも \begin_inset Flex Code status collapsed \begin_layout Plain Layout iso8859-1.cdef \end_layout \end_inset ファイルと \begin_inset Flex Code status collapsed \begin_layout Plain Layout iso8859-2.cdef \end_layout \end_inset ファイルが含まれています。 \end_layout \begin_layout Standard 一般的に \begin_inset Flex Code status collapsed \begin_layout Plain Layout .cdef \end_layout \end_inset ファイルは、 \end_layout \begin_layout LyX-Code \family roman \emph on セット中の文字番号 \family default \emph default \family roman \emph on 文字列 \end_layout \begin_layout Standard という形の宣言の羅列です。たとえば、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout \backslash '{e} \end_layout \end_inset をiso-8859-1セットの対応する文字(233)に割り当てるには、以下の宣言を用います。 \end_layout \begin_layout LyX-Code 233 " \backslash \backslash '{e}" \end_layout \begin_layout Standard ここで、 \emph on 文字列 \emph default 中の \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash \end_layout \end_inset と \begin_inset Flex Code status collapsed \begin_layout Plain Layout " \end_layout \end_inset はエスケープされています。同一の文字を二つ以上の文字列に充てることができることに注意してください。 \begin_inset Flex Code status collapsed \begin_layout Plain Layout iso-8859-7.cdef \end_layout \end_inset ファイルには、 \end_layout \begin_layout LyX-Code 192 " \backslash \backslash '{ \backslash \backslash \backslash "{i}}" \begin_inset Newline newline \end_inset 192 " \backslash \backslash \backslash "{ \backslash \backslash '{i}}" \end_layout \begin_layout Standard という例があります。LyXは、キー打鍵やデッドキーの組み合わせで生成される文字列の割り当てを見つけることができないとき、それがアクセント付き文字のように解釈がで きないかどうかチェックして、画面上の文字にアクセントを引くことを試みます。 \end_layout \begin_layout Subsection デッドキー \end_layout \begin_layout Standard 国際文字のサポートを追加する第2の方法として、いわゆるデッドキーによる方法があります。デッドキーは文字と一緒に用いて、アクセント付き文字を生成します。ここではそ の機能を説明するために、きわめて単純なデッドキーの作り方を説明します。 \end_layout \begin_layout Standard 仮に、曲折アクセント記号「 ̂」が必要になったものとしましょう。この場合、自身の \begin_inset Flex Code status collapsed \begin_layout Plain Layout lyxrc \end_layout \end_inset ファイル中で、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ^ \end_layout \end_inset キー(すなわち \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout Shift-6 \end_layout \end_inset キー)を、LyXコマンドの \begin_inset Flex Code status collapsed \begin_layout Plain Layout accent-circumflex \end_layout \end_inset に結びつけることができます。すると \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ^ \end_layout \end_inset キーの後に文字を打ったときはいつでも、この文字上に曲折アクセントが付けられるようになります。たとえば「 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ^e \end_layout \end_inset 」という打鍵順は「ê」という文字を生成します。しかしながら、もし「 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ^t \end_layout \end_inset 」と打鍵したならば、「 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout t \end_layout \end_inset 」は曲折アクセントをとることは決してないために、LyXはビープを鳴らして文句を付けます。デッドキーの後に \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout スペース \end_layout \end_inset を打つと、アクセントだけが生成されます。この最後の点に注意してください。あるキーをデッドキーに割り当てる場合には、このキー上の文字を別のキーに割り当て直す必要が あります。たとえば、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ,キー \end_layout \end_inset をセディーユに割り当てるのはよくありません。コンマを入力しようとすると必ずセディーユが出てくるようになるためです。 \end_layout \begin_layout Standard デッドキーを割り当てるのによく用いられる方法は、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout Meta- \end_layout \end_inset ・ \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout Ctrl- \end_layout \end_inset ・ \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout Shift- \end_layout \end_inset キーを、「 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ~ \end_layout \end_inset 」・「 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout , \end_layout \end_inset 」・「 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ^ \end_layout \end_inset 」のようなアクセントと一緒に用いる方法です。また、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout xmodmap \end_layout \end_inset や \begin_inset Flex Code status collapsed \begin_layout Plain Layout xkeycaps \end_layout \end_inset を使って、特別な \begin_inset Flex Code status collapsed \begin_layout Plain Layout Mode_Switch \end_layout \end_inset キーを設定する方法もあります。 \begin_inset Flex Code status collapsed \begin_layout Plain Layout Mode_Switch \end_layout \end_inset キーは、ちょうど \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout Shift \end_layout \end_inset キーのように機能するので、アクセント文字を割り当てるのに使用できます。また、特定のキーを \begin_inset Flex Code status collapsed \begin_layout Plain Layout usldead_cedilla \end_layout \end_inset などに割り当てることで、これらのキーをデッドキーに仕立て、このシンボリックキーを対応するLyXコマンドに割り当てることもできます \begin_inset Foot status collapsed \begin_layout Plain Layout \noun on John Weiss \noun default からの註:これはまさに私が、自分の \begin_inset Flex Code status collapsed \begin_layout Plain Layout ~/.lyx/lyxrc \end_layout \end_inset と \begin_inset Flex Code status collapsed \begin_layout Plain Layout ~/.xmodmap \end_layout \end_inset で行っていることです。私は、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout Scroll \begin_inset space ~ \end_inset Lock \end_layout \end_inset キーを \begin_inset Flex Code status collapsed \begin_layout Plain Layout Mode_Shift \end_layout \end_inset に仕立てて、多数の \begin_inset Flex Code status collapsed \begin_layout Plain Layout usldead_* \end_layout \end_inset シンボリックキーを \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout Scroll \begin_inset space ~ \end_inset Lock-^ \end_layout \end_inset や \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout Scroll \begin_inset space ~ \end_inset Lock-~ \end_layout \end_inset などに割り当てています。私はこの方法でアクセント文字を入力しています。 \end_layout \end_inset 。この \begin_inset Flex Code status collapsed \begin_layout Plain Layout Mode_Switch \end_layout \end_inset キーには、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout Ctrl- \end_layout \end_inset キーの片方や使われていないファンクションキーなど、ほぼ何でも指定することができます。アクセントを生み出すLyXコマンドについては、 \emph on LyX関数説明書 \emph default の \begin_inset Flex Code status collapsed \begin_layout Plain Layout LFUN_ACCENT_* \end_layout \end_inset の項をご覧ください。ここには完備した一覧があります。 \end_layout \begin_layout Subsection 自分の言語設定を保存する \end_layout \begin_layout Standard \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ツール\SpecialChar \menuseparator 設定 \end_layout \end_inset ダイアログを使えば、LyXを起動したときに、ご希望の言語環境に自動的に設定されるように、設定を編集することができます。 \end_layout \begin_layout Chapter 文書クラス・レイアウト・ひな型の新規導入 \begin_inset CommandInset label LatexCommand label name "cha:新規文書を導入" \end_inset \begin_inset Argument 1 status collapsed \begin_layout Plain Layout 文書クラスを新規に導入する \end_layout \end_inset \end_layout \begin_layout Standard この章では、新しくLyXのレイアウトファイルやひな型ファイルを作成して、導入する手順を説明すると共に、新規にLaTeX文書クラス(ドキュメントクラス)を正しく導 入する方法を復習します。 \end_layout \begin_layout Standard まず、LyXとLaTeXの間の関係をどのように考えるべきか、若干の注釈を加えておくことにしましょう。理解していただきたいことは、ある意味において、LyXは、La TeXについて何も知らないと云うことです。実際のところ、LyXの観点からは、LaTeXは、LyXが出力を生成することができる、複数の「バックエンド形式」のうちの 一つに過ぎないということです。同種のバックエンド形式には、DocBook・平文・XHTMLがあります。もちろんLaTeXは、とくに重要な形式ですが、LyXがLa TeXについて持っている情報のほとんどは、実はプログラム本体には含まれていないのです \begin_inset Foot status collapsed \begin_layout Plain Layout 過度に複雑なため、LyXに「ハードコード化」されているコマンドもありますが、一般的に開発者は、これを「わるいこと」とみなしています。 \end_layout \end_inset 。このような情報は、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout article.cls \end_layout \end_inset のような標準クラスでも、「レイアウトファイル」に保管されています。同様に、LyXは、DocBookやXHTMLについてもほとんど知りません。LyXが知っているこ とは、レイアウトファイルの中にあります。 \end_layout \begin_layout Standard 文書クラス用のレイアウトファイルは、LyX構成体---対応する様式や何らかの差込枠などを有する段落群---と、それに対応するLaTeX構成体・DocBook構成 体・XHTML構成体との間の翻訳指南書のようなものです。たとえば、LyXが \begin_inset Flex Code status collapsed \begin_layout Plain Layout article.cls \end_layout \end_inset について知っていることのほとんど総ては、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout article.layout \end_layout \end_inset と、それが呼び出す他の様々なファイルに書き込まれています。このことから、レイアウトファイルを書こうとする人は、既存のファイルを研究することを勧めます。とっかかり としては、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout article.layout \end_layout \end_inset や \begin_inset Flex Code status collapsed \begin_layout Plain Layout book.layout \end_layout \end_inset や、文書クラス用の他のレイアウトファイルに取り込まれている \begin_inset Flex Code status collapsed \begin_layout Plain Layout stdsections.inc \end_layout \end_inset から見始めるのがよいでしょう。このファイルは、節などの定義が為されている場所です。 \begin_inset Flex Code status collapsed \begin_layout Plain Layout stdsections.inc \end_layout \end_inset は、節様式や小節様式などとしてマークされている段落を、対応するLaTeX・DocBook・XHTMLのコマンドやタグにどのように翻訳すべきかをLyXに知らせるも のです。基本的に \begin_inset Flex Code status collapsed \begin_layout Plain Layout article.layout \end_layout \end_inset ファイルは、これらの \begin_inset Flex Code status collapsed \begin_layout Plain Layout std*.inc \end_layout \end_inset ファイルを取り込んでいるだけのものです。 \end_layout \begin_layout Standard しかしながら、LyX--LaTeX間の対応を定義するだけが、レイアウトファイルが行うことではありません。レイアウトファイルが行うもう一つの仕事は、LyX構成体自 身が画面上にどのように表示されるべきかを定義することです。この2つの仕事は全く独立したものであるので、レイアウトファイルが2つの仕事を行うという事実は、しばしば 混乱を引き起こす元となります。ある段落様式をLaTeXに翻訳する仕方をLyXに指示することは、その表示の仕方をLyXに指示するものではありません。逆に、ある段落 様式の表示の仕方をLyXに指示することは、その段落様式をどのようにLaTeXに翻訳するかをLyXに指示するものではありません(ましてやLaTeXに表示の仕方を指 示するものではありません)。つまり、一般的に、新しいLyX構成体を定義する際には、(i) \begin_inset space ~ \end_inset LaTeXにどのように翻訳するかをLyXに指示する、(ii) \begin_inset space ~ \end_inset それをどのように表示するかをLyXに指示する、という、二つのかなり異なることを行わなくてはならないのです。 \end_layout \begin_layout Standard もちろん、LyXの他のバックエンド形式に関しても、ほぼ同じことが言えますが、XHTMLの場合には若干事情が異なり、LyXが、ブラウザ中での段落の表示方法を(CS Sの形で)出力するにあたって、当該段落をLyXが画面上に出力する仕方の情報を、ある程度利用することができます。しかし、この場合でも、LyXが内部的に行うことと、 外部的に行う物事の間の区別は、依然として有効であり、この2つは独立して制御することができます。詳細に関しては、第 \begin_inset CommandInset ref LatexCommand ref reference "sec:XHTML出力のタグ" \end_inset 節をご覧ください。 \end_layout \begin_layout Section 新しいLaTeXファイルの導入 \end_layout \begin_layout Standard 頒布版によっては、LyXで使いたいLaTeXパッケージやクラスファイルが含まれていないことがあるかもしれません。たとえば、オーバーヘッドプロジェクタ用のスライド を準備するためのパッケージである、FoilTeXがないかもしれません。TeXLive(2008年以降)やMiKTeXのような最近のLaTeX頒布版には、これらの パッケージを導入するためのユーザーインタフェースが用意されています。たとえば、MiKTeXでは、付属の「Package \begin_inset space ~ \end_inset Manager」プログラムを起動すると、利用できるパッケージの一覧を得ることができます。どれかを導入するには、その上で右クリックするかツールバーボタンを押してく ださい。 \end_layout \begin_layout Standard お使いのLaTeX頒布版がこのような「パッケージマネジャー」を提供していなかったり、使用中の頒布版にそのパッケージが入っていない場合には、以下のステップに従って 手動で導入してください。 \end_layout \begin_layout Enumerate \begin_inset CommandInset href LatexCommand href name "CTAN" target "http://www.ctan.org/" \end_inset などから欲しいパッケージを入手してください。 \end_layout \begin_layout Enumerate パッケージに「 \begin_inset Flex Code status collapsed \begin_layout Plain Layout .ins \end_layout \end_inset 」で終わるファイル名が入っている場合(FoilTeXがその一例です)は、コンソールを開いて、このファイルのフォルダに移動し、コマンド \begin_inset Flex Code status collapsed \begin_layout Plain Layout latex foiltex.ins \end_layout \end_inset を実行してください。すると、パッケージが解凍されて、導入すべきすべてのファイルが展開されます。たいていのLaTeXパッケージは圧縮されていないので、このステップ は飛ばすことができます。 \end_layout \begin_layout Enumerate ここで、パッケージを全ユーザーに使用可能にするか自分自身だけで使うかを決定する必要があります。 \end_layout \begin_deeper \begin_layout Enumerate (Linux・OSXなどの)*nix系システムでは、システム上の全ユーザーに新パッケージを利用可能にしたければ、「ローカル」TeXツリーに導入し、そうでなければ 「ユーザー」TeXツリーに導入してください。これらのツリーが存在しない場合にどこに作成すればよいかは、お使いのシステムに依存します。これを見いだすには、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout texmf.cnf \end_layout \end_inset ファイルを参照してください \begin_inset Foot status collapsed \begin_layout Plain Layout このファイルは、通常 \family sans $TEXMF/web2c \family default ディレクトリにありますが、コマンド \begin_inset Flex Code status collapsed \begin_layout Plain Layout kpsewhich texmf.cnf \end_layout \end_inset を実行してその場所を見つけることもできます。 \end_layout \end_inset 。「ローカル」TeXツリーの場所は、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout TEXMFLOCAL \end_layout \end_inset 変数で定義されており、通常は \begin_inset Flex Code status collapsed \begin_layout Plain Layout /usr/local/share/texmf/ \end_layout \end_inset のような場所になっています。「ユーザー」TeXツリーの場所は、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout TEXMFHOME \end_layout \end_inset で定義されており、通常は \begin_inset Flex Code status collapsed \begin_layout Plain Layout $HOME/texmf/ \end_layout \end_inset です(もしこれらの変数が事前定義されていなければ、定義しなくてはなりません)。「ローカル」ツリーを作成したり変更したりするには、おそらくroot権限が必要ですが 、「ユーザー」ツリーにはこのような制限はありません。 \begin_inset Newline newline \end_inset 一般的に、システムをアップグレードした際に、ユーザーが修正されたり上書きされたりということが起こらないので、ユーザーツリーに導入することが推奨されます。こうする と、自分のホームディレクトリをバックアップする際に、パッケージも他のものと一緒にバックアップされます(もちろん通常行われるようにすればの話です)。 \end_layout \begin_layout Enumerate Windowでは、システム上の全ユーザーに新パッケージを利用可能にしたければ、LaTeXの導入されているフォルダに移動し、それからサブフォルダ \begin_inset Flex Code status collapsed \begin_layout Plain Layout ~ \backslash tex \backslash latex \end_layout \end_inset に移動します(MiKTeXでは、これは既定では \begin_inset Flex Code status collapsed \begin_layout Plain Layout ~:Programs \backslash MiKTeX \backslash tex \backslash latex \end_layout \end_inset です) \begin_inset Foot status collapsed \begin_layout Plain Layout これは、英語版でのみ正しいパスになっています。独語版では \begin_inset Flex Code status collapsed \begin_layout Plain Layout ~:Programme \backslash MiKTeX \backslash tex \backslash latex \end_layout \end_inset となり、他の言語でも同様です。 \end_layout \end_inset 。ここに新規フォルダ \begin_inset Flex Code status collapsed \begin_layout Plain Layout foiltex \end_layout \end_inset を作成し、パッケージの全ファイルをそこにコピーしてください。パッケージを自分だけで使用したい場合や、admin権限を持っていない場合には、ローカルLaTeXフォ ルダで同じことを行います。たとえばMiKTeX \begin_inset space ~ \end_inset 2.8では、これはWinXP上では \begin_inset Newline newline \end_inset \begin_inset Flex Code status collapsed \begin_layout Plain Layout ~: \backslash Documents and Settings \backslash <ユーザー名> \backslash Application Data \backslash \end_layout \end_inset \begin_inset Newline newline \end_inset \begin_inset Phantom HPhantom status open \begin_layout Plain Layout \family typewriter ~: \backslash \end_layout \end_inset \begin_inset Flex Code status collapsed \begin_layout Plain Layout MiKTeX \backslash 2.8 \backslash tex \backslash latex \end_layout \end_inset \begin_inset Newline newline \end_inset フォルダ、WinVista上では \begin_inset Newline newline \end_inset \begin_inset Flex Code status collapsed \begin_layout Plain Layout ~: \backslash Users \backslash <ユーザー名> \backslash AppData \backslash Roaming \backslash 2.8 \backslash MiKTeX \backslash tex \backslash latex \end_layout \end_inset \begin_inset Newline newline \end_inset フォルダになります。 \end_layout \end_deeper \begin_layout Enumerate ここまで来れば、あとはLaTeXに新しいファイルがあることを告げるだけです。これは使用しているLaTeX頒布版に依存します。 \end_layout \begin_deeper \begin_layout Enumerate TeXLiveの場合には、コンソールから \begin_inset Flex Code status collapsed \begin_layout Plain Layout texhash \end_layout \end_inset コマンドを実行してください。パッケージを全ユーザー用に導入した場合には、おそらくroot権限で行う必要があります。 \end_layout \begin_layout Enumerate MiKTeXでは、パッケージを全ユーザー用に導入した場合には、「Settings \begin_inset space ~ \end_inset (Admin)」を起動し、「Refresh FNDB」と記してあるボタンを押してください。そうでない場合には、「Settings」を起動して同様に行ってください 。 \end_layout \end_deeper \begin_layout Enumerate 最後に、LyXに新しいパッケージがあることを告げなくてはなりません。そこで、LyXからツール\SpecialChar \menuseparator 再初期設定メニューを実行して、LyXを再起動します。 \end_layout \begin_layout Standard これでパッケージが導入されました。この例では、文書クラス \begin_inset Flex Code status collapsed \begin_layout Plain Layout Slides \begin_inset space ~ \end_inset (FoilTe \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset X) \end_layout \end_inset が \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 文書\SpecialChar \menuseparator 設定\SpecialChar \menuseparator 文書クラス \end_layout \end_inset で利用可能になっているはずです。 \end_layout \begin_layout Standard \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 文書\SpecialChar \menuseparator 設定\SpecialChar \menuseparator 文書クラス \end_layout \end_inset メニューに列挙されてもいないLaTeX文書クラスを使用したい場合には、その「レイアウト」ファイルを作り出さなくてはなりません。これが次節のトピックです。 \end_layout \begin_layout Section レイアウトファイルの型 \end_layout \begin_layout Standard この節は、レイアウト情報を含む各種LyXファイルについて述べます。これらのファイルは、各種段落様式や文字様式についての記述がされているものであり、LyXがそれら をどのように表示すべきなのか、また、それらをどのようにLaTeXやDocBook、XHTMLその他の出力形式に翻訳すればよいのかが記されています。 \end_layout \begin_layout Standard ここでは、レイアウトファイル作成過程の包括的な解説を試みたいと思いますが、LaTeXクラスだけでもサポートする文書の種類があまりにたくさんあるので、読者が出会い うるケースや問題をすべてカバーすることはとても望めません。LyXユーザーメーリングリストには、自身の経験を人々と分かち合いたいと望む、レイアウトデザインの経験豊 かな人々がよく顔を出していますので、気軽に質問を投げかけてみてください。 \end_layout \begin_layout Standard 新しいレイアウトを準備するに当たっては、LyXと共に頒布されているレイアウトの例を見るのがたいへん役立ちます。他の人々も使用できるLaTeX文書クラス用のLyX レイアウトを作ったり、他の人々にも有用なモジュールをお書きになった場合には、 \begin_inset CommandInset href LatexCommand href name "LyX Wikiのレイアウトに関する節" target "http://wiki.lyx.org/Layouts/Layouts" \end_inset か、LyX開発者メーリングリストに投稿して、LyX頒布版に同梱することができるようにしてください \begin_inset Foot status collapsed \begin_layout Plain Layout LyXはGeneral Public Licenseの下でライセンスされていますので、LyXに寄贈されたものは総て同じライセンス下に置かれることに注意してくださ い。 \end_layout \end_inset 。 \end_layout \begin_layout Subsection レイアウトモジュール \begin_inset CommandInset label LatexCommand label name "sub:レイアウトモジュール" \end_inset \end_layout \begin_layout Standard ここまで、「レイアウトファイル」についてお話してきました。しかし、レイアウト情報を含むものには、他の種類のファイルもあります。厳密にレイアウトファイルと呼ぶとき 、それは \begin_inset Flex Code status collapsed \begin_layout Plain Layout .layout \end_layout \end_inset 拡張子を持ち、文書クラスに関する情報をLyXに提供するものを指します。しかしながら、LyX 1.6以降、レイアウト情報は、拡張子が \begin_inset Flex Code status collapsed \begin_layout Plain Layout .module \end_layout \end_inset のレイアウト \emph on モジュール \emph default にも含めることができます。レイアウトがLaTeXクラスに対応しているように、モジュールはLaTeXパッケージに対応するものであり、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout endnotes \end_layout \end_inset モジュールのように、特定のパッケージにサポートを提供するためのモジュールもあります。レイアウトモジュールは、特定の文書レイアウトに特化したものではなく、多くのレ イアウトで使用できるという意味において、一面、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout stdsections.inc \end_layout \end_inset 等のインクルードファイル \begin_inset Foot status collapsed \begin_layout Plain Layout これらは任意の拡張子をつけることができますが、慣習的に \begin_inset Flex Code status collapsed \begin_layout Plain Layout .inc \end_layout \end_inset 拡張子が用いられます。 \end_layout \end_inset のようなものです。相異なる点といえば、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout article.cls \end_layout \end_inset でインクルードファイルを使用するには、そのファイルを編集しなくてはなりませんが、モジュールの場合は、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 文書\SpecialChar \menuseparator 設定 \end_layout \end_inset ダイアログで選択するだけですみます。 \end_layout \begin_layout Standard モジュール作成は、新しく段落様式を一つ加えたり、自由差込枠を加えたりするだけで済むことも多いので、レイアウト編集を学ぶ上でもっとも易しい方法です。しかし原理的に は、レイアウトファイルに入れることのできるものはすべて入れることができます。 \end_layout \begin_layout Standard 新しいモジュールを作成し、それを \begin_inset Flex Code status collapsed \begin_layout Plain Layout layout/ \end_layout \end_inset フォルダにコピーした後、モジュールがメニューに現れるようにするためには、LyXの再設定を行って再起動しなくてはなりません。しかしながら、モジュールの修正の場合に は、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 文書\SpecialChar \menuseparator 設定 \end_layout \end_inset を開いてどれかを選択し「OK」を押せば、直ちに反映されます。 \emph on これを実行する前に、作業中の文書を保存しておくことを強く勧めます \emph default 。もっと言えば、 \emph on 実際の文書で作業しているときに、同時にモジュールの編集をしようとしないことを強く勧めます \emph default 。もちろん開発陣は、そのような場合でもLyXが安定性を維持するように努力していますが、あなたが作成したモジュール中の文法エラー等によって、奇妙な挙動が引き起こさ れることがあるからです。 \end_layout \begin_layout Subsubsection ローカルレイアウト \end_layout \begin_layout Standard LyXに於けるモジュールは、LaTeXに於けるパッケージに当たります。しかしながら、特定の差込枠や文字様式を、ひとつの文書のためだけに作りたいこともあるでしょう から、そのような場合に、他の文書でも利用できるようなモジュールをわざわざ書くことには、あまり意味がありません。このような場合に必要となるのが、「ローカルレイアウ ト」なのです。 \end_layout \begin_layout Standard これは、 \family sans 文書\SpecialChar \menuseparator 設定\SpecialChar \menuseparator ローカルのレイアウト \family default にあります。そこにある大きなテキストボックスは、本来ならレイアウトファイルやモジュールに入力すべきものを、入力するためのものです。特定の文書のローカルレイアウト は、その文書専属のモジュールだと考えることができます。したがって、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout Format \end_layout \end_inset タグは挿入しなくてはなりません。どの書式を使用しても構いませんが、通常は、執筆時点の最新書式を用いることになるでしょう(LyX 2.1では、最新書式は48です)。 また、ローカルレイアウトは、LyX 1.6より前の版ではサポートされていないことを認識しておく必要があります。したがって、文書をLyX 1.5またはそれ以前の版に( ローカルレイアウト情報を失うことなく)書き出せることを望むならば、使用するべきではありません。第1.6版へ---第1.6版はUIはありませんがローカルレイアウトをサ ポートしています---書き出せることを望むならば、書式11を用いて、さらにLyX 1.6で使用できるレイアウト要素のみを使用してください。 \end_layout \begin_layout Standard \begin_inset Flex Code status collapsed \begin_layout Plain Layout ローカルのレイアウト \end_layout \end_inset 面に何かを入力すると、下部にある「検証」ボタンが有効になります。このボタンを押すと、ユーザーの入力したものが、指定された書式に沿って、有効なレイアウト情報になっ ているかどうかが検証されます。すると、LyXがその結果を返しますが、残念ながら、エラーがあった場合にそれが何のエラーであるかは返しません。しかしながら、LyXを ターミナル(擬似端末)から起動した場合には、そのエラーがターミナルに返されます。ローカルレイアウトは、正しい書式で入力されないうちは、保存することができません。 \end_layout \begin_layout Standard ここで、前節と同じ警告があります。ローカルレイアウトは、作業中の文書上で、特に保存していない文書上ではいじらないでください。それに注意すれば、テスト用文書上でロ ーカルレイアウトを用いるのは、レイアウトのアイディアを試すのに便利ですし、モジュール開発の第一歩としても便利です。 \end_layout \begin_layout Subsection \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout .sty \end_layout \end_inset ファイル用のレイアウト \end_layout \begin_layout Standard 新しくLaTeX文書クラスをサポートしようとするとき、LaTeX2eクラス( \begin_inset Flex Code status collapsed \begin_layout Plain Layout .cls \end_layout \end_inset )ファイルが絡む場合と、スタイル( \begin_inset Flex Code status collapsed \begin_layout Plain Layout .sty \end_layout \end_inset )ファイルが絡む場合の2つの状況があり得ます。スタイルファイルのサポートは、通常は、かなり容易ですが、新しくクラスファイルをサポートすることは、もう少し難しくな ります。この節では、前者について述べることとし、後者については次節に譲ります。当然のことながら、新しくDocBook DTDをサポートしたい場合にも、同様の所見 が当てはまります。 \end_layout \begin_layout Standard この易しい方の場合では、新しい文書クラスは、既にサポートされている文書クラスと共に使うスタイルファイルとして提供されています。例示のために、スタイルファイルは \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout myclass.sty \end_layout \end_inset という名称で、標準的なクラスである \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout report.cls \end_layout \end_inset と共に用いられるものと仮定しましょう。 \end_layout \begin_layout Standard 既存の文書クラスのレイアウトファイルを、以下のように、お使いのローカルディレクトリにコピーすることから始めてください \begin_inset Foot status collapsed \begin_layout Plain Layout もちろん、どのディレクトリがローカルディレクトリとなるかは、プラットフォームに依存します。LyXでは、起動時に \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout -userdir \end_layout \end_inset オプションを指定することによって、ローカルディレクトリを指定することも可能です。 \end_layout \end_inset 。 \end_layout \begin_layout LyX-Code cp report.layout ~/.lyx/layouts/myclass.layout \end_layout \begin_layout Standard それから、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout myclass.layout \end_layout \end_inset を編集して、 \end_layout \begin_layout LyX-Code \backslash DeclareLaT \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset eXClass{report} \end_layout \begin_layout Standard という行を \end_layout \begin_layout LyX-Code \backslash DeclareLaT \bar under \lang english \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset \bar default \lang japanese eXClass[report, myclass.sty]{report (myclass)} \end_layout \begin_layout Standard のように変更してください。それから、ファイル冒頭辺りに \end_layout \begin_layout LyX-Code Preamble \begin_inset Newline newline \end_inset \backslash usepackage{myclass} \begin_inset Newline newline \end_inset EndPreamble \end_layout \begin_layout Standard と書き加えてください。 \end_layout \begin_layout Standard LyXを起動して \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ツール\SpecialChar \menuseparator 再設定 \end_layout \end_inset を選択してください。それからLyXを再起動し、新規文書を作成してみてください。すると、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 文書\SpecialChar \menuseparator 設定 \end_layout \end_inset ダイアログの文書クラスオプションに「 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout report (myclass) \end_layout \end_inset 」が現れるはずです。新しいクラスにおいて、節区切り用コマンドなどの一部が、基礎となったクラス—この例では \begin_inset Flex Code status collapsed \begin_layout Plain Layout report \end_layout \end_inset —とは違う挙動をすることはよくありますので、希望に応じて、各節の設定をいじると良いでしょう。各節のレイアウト情報は、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout stdsections.inc \end_layout \end_inset に含まれていますが、このファイルをコピーしたり変更したりする必要はありません。代わりに、自身のレイアウトファイル中、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout stdsections.inc \end_layout \end_inset も取り込む \begin_inset Flex Code status collapsed \begin_layout Plain Layout Input stdclass.inc \end_layout \end_inset の後に変更を加えるだけです。たとえば、章見だしのフォントをサンセリフ体に変更するには、以下のような行を加えます。 \end_layout \begin_layout LyX-Code Style Chapter \end_layout \begin_layout LyX-Code Font \end_layout \begin_layout LyX-Code Family Sans \end_layout \begin_layout LyX-Code EndFont \end_layout \begin_layout LyX-Code End \end_layout \begin_layout Standard これは、既存の章様式宣言を上書き(あるいはこの場合には追加)します。 \end_layout \begin_layout Standard 新しいパッケージでは、基礎となったクラスには存在しないコマンドや環境を提供することもできます。この場合には、これらをレイアウトファイルに加えます。そのやり方につ いては、第 \begin_inset CommandInset ref LatexCommand ref reference "sec:テキストクラス" \end_inset 節の情報を参照してください。 \end_layout \begin_layout Standard もし \begin_inset Flex Code status collapsed \begin_layout Plain Layout myclass.sty \end_layout \end_inset が他の文書クラスで使用することができたり、あるいはできない場合でも、基礎となるクラスから読み込むことのできるモジュールを書くのが最も簡単であることがわかるでしょ う。最も簡単なモジュールの例としては、以下のようなものになります。 \end_layout \begin_layout LyX-Code # \backslash DeclareLyXModule{My Package} \end_layout \begin_layout LyX-Code #DescriptionBegin \end_layout \begin_layout LyX-Code #Support for mypkg.sty. \end_layout \begin_layout LyX-Code #DescriptionEnd \begin_inset Newline newline \end_inset \end_layout \begin_layout LyX-Code Format 35 \begin_inset Newline newline \end_inset \end_layout \begin_layout LyX-Code Preamble \begin_inset Newline newline \end_inset \backslash usepackage{mypkg} \begin_inset Newline newline \end_inset EndPreamble \end_layout \begin_layout Standard もう少し複雑なモジュールでは、既存の構成物の挙動を修正したり、新しい構成物を定義したりすることになるでしょう。この辺りの議論については、第 \begin_inset CommandInset ref LatexCommand ref reference "sec:テキストクラス" \end_inset 節を参照してください。 \end_layout \begin_layout Subsection \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout .cls \end_layout \end_inset ファイル用のレイアウト \end_layout \begin_layout Standard これには2つのケースがありえます。ひとつは、クラスファイル自体が既存の文書クラスに立脚している場合です。たとえば、多くの学位論文用クラスは \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout book.cls \end_layout \end_inset に基づいています。お使いのものがどうであるかを見るには、クラスファイル中に \end_layout \begin_layout LyX-Code \backslash LoadClass{book} \end_layout \begin_layout Standard という行がないかどうか探してください。もしこれがあれば、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout DeclareLaTeXClass \end_layout \end_inset 行は異なりますが、おおよそ前節のように進めることができます。あなたが新しく作るクラスが \begin_inset Flex Code status collapsed \begin_layout Plain Layout thesis \end_layout \end_inset であり、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout book \end_layout \end_inset クラスに基づいていれば、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout DeclareLaTeXClass \end_layout \end_inset 行は以下のようにします \begin_inset Foot status collapsed \begin_layout Plain Layout さらにLyXは、文書クラス名がレイアウトファイル名と同じだと仮定するので、クラスファイルを \begin_inset Flex Code status collapsed \begin_layout Plain Layout thesis.layout \end_layout \end_inset という名前で保存するのが最も簡単です。 \end_layout \end_inset 。 \end_layout \begin_layout LyX-Code \backslash DeclareLaT \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset eXClass[thesis,book]{thesis} \end_layout \begin_layout Standard 他方、新しいクラスが既存のクラスに基づいていない場合には、おそらくあなた自身のレイアウトをしたためる必要があります。もし可能であれば、類似したLaTeXクラスを 使用している既存のレイアウトファイルをコピーして、それに修正を加えるようにすることを強くお勧めします。少なくとも、どの項目を考慮すべきかがわかるように、既存のフ ァイルを作業の開始点としてください。 \end_layout \begin_layout Subsection ひな型を作成する \begin_inset CommandInset label LatexCommand label name "sec:ひな型を作成する" \end_inset \end_layout \begin_layout Standard 新しい文書クラス用のレイアウトファイルを書いたならば、そのレイアウト用のひな型も書くことを検討されるかもしれません。ひな型は、内容はダミーですが、レイアウトの使 い方を示す一種のチュートリアルとして動作します。もちろん、イメージを得るために、LyX添付のひな型をあれこれ見てみるのもよいでしょう。 \end_layout \begin_layout Standard ひな型は、通常の文書と同様、LyXを使って作成することができます。唯一違う点は、通常の文書では、フォント構成や用紙寸法を含め、すべてのあり得る設定が為されている 点です。これらの場合、通常ユーザーはひな型が彼の設定値を上書きすることを望みません。この理由から、ひな型の設計者は、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash fontscheme \end_layout \end_inset や \begin_inset Flex Code status collapsed \begin_layout Plain Layout \backslash papersize \end_layout \end_inset などの対応するコマンドをひな型LyXファイルから取り除く必要があります。これは、たとえば \begin_inset Flex Code status collapsed \begin_layout Plain Layout vi \end_layout \end_inset や \begin_inset Flex Code status collapsed \begin_layout Plain Layout notepad \end_layout \end_inset のような、どの軽いテキストエディタでも行うことができます。 \end_layout \begin_layout Standard 編集したひな型を \begin_inset Flex Code status collapsed \begin_layout Plain Layout UserDir/templates/ \end_layout \end_inset に置き、グローバルなひな型ディレクトリ \begin_inset Flex Code status collapsed \begin_layout Plain Layout LyXDir/templates/ \end_layout \end_inset から使用したいものを同じ場所にコピーし、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ツール\SpecialChar \menuseparator 設定\SpecialChar \menuseparator パス \end_layout \end_inset ダイアログのひな型パスを再定義してください。 \end_layout \begin_layout Standard ところで、特別な意味を持つひな型 \begin_inset Flex Code status collapsed \begin_layout Plain Layout defaults.lyx \end_layout \end_inset があることに注意してください。このひな型は、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ファイル\SpecialChar \menuseparator 新規 \end_layout \end_inset を使って新規文書を作成する際、便利な既定値を提供する目的で必ず読み込まれます。このひな型をLyX内部から作成するのにしなくてはならないことは、対応する設定を持つ 文書を開き、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 文書既定値として保存 \end_layout \end_inset ボタンを押すことです。 \end_layout \begin_layout Subsection 旧レイアウトファイルの更新 \end_layout \begin_layout Standard レイアウトファイルの書式は、LyXのリリース毎に変更されますので、古いレイアウトファイルは変換されなくてはなりません。LyXが古い書式のレイアウトファイルを読み 込むと、LyXは、自動的に変換ツール \begin_inset Flex Code status collapsed \begin_layout Plain Layout LyXDir/scripts/layout2layout.py \end_layout \end_inset を呼び出し、それを現在の書式の一時ファイルに変換します。元のファイルは変更を加えられずに措かれます。もしこのレイアウトファイルをよく使うならば、LyXがこれを毎 回行なわくて済むように、レイアウトファイルを恒久的に変換しておきたいと思うかもしれません。これを行うには、以下のように変換子を手動で呼び出してください。 \end_layout \begin_layout Enumerate \lang english rename the file \begin_inset Flex Code status collapsed \begin_layout Plain Layout \lang english myclass.layout \end_layout \end_inset to \begin_inset Flex Code status collapsed \begin_layout Plain Layout \lang english myclass.old \end_layout \end_inset \end_layout \begin_layout Enumerate \lang english Call the command \lang japanese \begin_inset Newline newline \end_inset \begin_inset Flex Code status collapsed \begin_layout Plain Layout python LyXDir/scripts/layout2layout.py myclass.old myclass.layout \end_layout \end_inset \begin_inset Newline newline \end_inset \lang english where \begin_inset Flex Code status collapsed \begin_layout Plain Layout \lang english LyXDir \end_layout \end_inset is the name of your LyX system directory. \end_layout \begin_layout Standard 手動変換は、インクルードされているファイル内部の変更までは取り扱いませんので、それらのファイルは別に変換されなくてはなりません。 \end_layout \begin_layout Section \begin_inset CommandInset label LatexCommand label name "sec:テキストクラス" \end_inset レイアウトファイルの書式 \end_layout \begin_layout Standard 以下の各節では、いよいよ自分の手を汚してレイアウトファイルを作成したり編集したりする段階になった際、直面することの説明を行います。私たちからのアドバイスとしては 、ゆっくりと進めるようにして、ちょっと進むごとに保存やテストを行い、心休まる音楽を聴き、好きな大人の飲み物を一二杯口にしながら行うのがいいでしょう。特に行き詰ま ってしまったときにはそうです。実際にはそんなに難しいことではないのですが、特に一度に多くのことをやろうとすると、選択肢が多くありすぎて圧倒されてしまうのです。さ て、もう一杯大人向け飲料をどうぞ。適量ね。 \lang english It becomes easier if you use existing layouts of LyX as examples/reference or if you modify an existing layout to your needs. \end_layout \begin_layout Standard この章で述べられているタグは、すべて大文字小文字を区別しません。つまり、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout Style \end_layout \end_inset ・ \begin_inset Flex Code status collapsed \begin_layout Plain Layout style \end_layout \end_inset ・ \begin_inset Flex Code status collapsed \begin_layout Plain Layout StYlE \end_layout \end_inset は同じコマンドとなります。機能名の後にある角括弧は、その機能が取り得る値を示します。テキストクラス設定内で機能が特定されていない場合には、既定値は \begin_inset Flex Code status collapsed \begin_layout Plain Layout \emph on 強調 \end_layout \end_inset で表記されます。引数が「文字列」や「浮動小数点型」などのデータ型をとる場合には、既定値は \begin_inset Flex Code status collapsed \begin_layout Plain Layout 浮動小数点型= \emph on 既定値 \end_layout \end_inset のように表示されます。 \end_layout \begin_layout Subsection 文書クラス宣言 \lang english and classification \end_layout \begin_layout Standard レイアウトファイル中の \begin_inset Flex Code status collapsed \begin_layout Plain Layout # \end_layout \end_inset で始まる行はコメントです。この規則には一つだけ例外があります。すべての \begin_inset Flex Code status collapsed \begin_layout Plain Layout *.layout \end_layout \end_inset ファイルは、以下のような行で始めなくてはならないのです。 \end_layout \begin_layout LyX-Code \size small #% Do not delete the line below; configure depends on this \end_layout \begin_layout LyX-Code \size small # \backslash DeclareLaT \size default \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset \size small eXClass{Article (Standard Class)} \end_layout \begin_layout LyX-Code \size small # \backslash DeclareCategory{Articles} \end_layout \begin_layout Standard \lang english The second and third lines are used when you (re)configure LyX \lang japanese 。このレイアウトファイルは、LaTeXスクリプト \begin_inset Flex Code status collapsed \begin_layout Plain Layout chkconfig.ltx \end_layout \end_inset が、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout # \end_layout \end_inset を無視する特別なモードで読み込みます。1行目は単なるLaTeXコメントですが、2行目にはテキストクラスの宣言が書かれています \lang english and the third line contains the optional classification of the class \lang japanese 。これらの行が \begin_inset Flex Code status collapsed \begin_layout Plain Layout article.layout \end_layout \end_inset と名付けられたファイルにあると、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout article \end_layout \end_inset (レイアウトファイル名)という名称のテキストクラスを定義し、LaTeX文書クラス \begin_inset Flex Code status collapsed \begin_layout Plain Layout article.cls \end_layout \end_inset を使用するようになります(既定ではレイアウトと同じ名称のものを使用します)。上記に現れる「Article (Standard Class)」という文字列は、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 文書\SpecialChar \menuseparator 設定 \end_layout \end_inset ダイアログのテキストクラスの説明に使用されます。 \lang english The category ( \begin_inset Quotes eld \end_inset Articles \begin_inset Quotes erd \end_inset in the example) is also used in the \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout \lang english Document\SpecialChar \menuseparator Settings \end_layout \end_inset dialog: the text classes are grouped by these categories (which are usually genres, so typical categories are \begin_inset Quotes eld \end_inset Articles \begin_inset Quotes erd \end_inset , \begin_inset Quotes eld \end_inset Books \begin_inset Quotes erd \end_inset , \begin_inset Quotes eld \end_inset Reports \begin_inset Quotes erd \end_inset , \begin_inset Quotes eld \end_inset Letters \begin_inset Quotes erd \end_inset , \begin_inset Quotes eld \end_inset Presentations \begin_inset Quotes erd \end_inset , \begin_inset Quotes eld \end_inset Curricula Vitae \begin_inset Quotes erd \end_inset etc.). If no category has been declared, the class will be put in the \begin_inset Quotes eld \end_inset Uncategorized \begin_inset Quotes erd \end_inset group. \end_layout \begin_layout Standard 節見出し表示に変更を加えた、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout article.cls \end_layout \end_inset 文書クラスを使用するテキストクラスを自分で書いたものとしましょう。これを \begin_inset Flex Code status collapsed \begin_layout Plain Layout myarticle.layout \end_layout \end_inset というファイルに置いたとすると、このファイルのヘッダは以下のようになります。 \end_layout \begin_layout LyX-Code \size small #% Do not delete the line below; configure depends on this \end_layout \begin_layout LyX-Code \size small # \backslash DeclareLaT \size default \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset \size small eXClass[article]{article (with My Own Headings)} \end_layout \begin_layout LyX-Code \size small # \backslash DeclareCategory{Articles} \end_layout \begin_layout Standard これは、LaTeX文書クラス \begin_inset Flex Code status collapsed \begin_layout Plain Layout article.cls \end_layout \end_inset に関連づけられ、「Article (with My Own Headings)」と表示される、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout myarticle \end_layout \end_inset テキストクラスを宣言するものです。もしこのテキストクラスが複数のパッケージに依存するならば、以下のように宣言すると良いでしょう。 \end_layout \begin_layout LyX-Code \size small #% Do not delete the line below; configure depends on this \end_layout \begin_layout LyX-Code \size small # \backslash DeclareLaT \size default \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset \size small eXClass[article,foo.sty]{Article (with My Own Headings)} \end_layout \begin_layout LyX-Code \size small # \backslash DeclareCategory{Articles} \end_layout \begin_layout Standard これは、このテキストクラスが \begin_inset Flex Code status collapsed \begin_layout Plain Layout foo.sty \end_layout \end_inset パッケージを使用することを示しています。最後に、DocBookコード向けのクラスを宣言することもできることを見ます。典型的な宣言は以下のようになります。 \end_layout \begin_layout LyX-Code \size small #% Do not delete the line below; configure depends on this \end_layout \begin_layout LyX-Code \size small # \backslash DeclareDocBookClass[article]{SGML (DocBook article)} \end_layout \begin_layout LyX-Code \size small # \backslash DeclareCategory{Articles} \end_layout \begin_layout Standard これらの宣言には、文書クラス名を宣言する非必須パラメータ(ただしリストではない)を与えることができることに注意してください。 \end_layout \begin_layout Standard できる限り明示的に要約すると、レイアウト宣言は以下の形をとります。 \end_layout \begin_layout LyX-Code \size small # \backslash DeclareLaT \size default \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset \size small eXClass[クラス,パッケージ名.sty]{レイアウトの説明} \end_layout \begin_layout LyX-Code \size small # \backslash DeclareCategory{ \lang english category \lang japanese } \end_layout \begin_layout Standard ここで「クラス」は、LaTeXクラスファイル名とレイアウトファイル名が異なるときのみ、指定する必要があります。クラスファイル名が指定されなければ、LyXは単純に 、クラスファイル名がレイアウトファイル名と同じであると仮定します。 \end_layout \begin_layout Standard テキストクラスがあなたの嗜好に合うように修正できたならば、他にしなくてはならないことは、それを \begin_inset Flex Code status collapsed \begin_layout Plain Layout L \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset yXDir/layouts/ \end_layout \end_inset か \begin_inset Flex Code status collapsed \begin_layout Plain Layout UserDir/layouts \end_layout \end_inset にコピーし、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout ツール\SpecialChar \menuseparator 再初期設定 \end_layout \end_inset を実行し、LyXを終了して再起動するだけです。そうすれば、この新しいテキストクラスが、他のテキストクラスと同様に使用できるようになります。 \end_layout \begin_layout Standard レイアウトファイルが導入されたならば、これを編集して、再初期設定したりLyXを再起動したりすることなく、その変更を確認することができます \begin_inset Foot status collapsed \begin_layout Plain Layout 第1.6版よりも前のLyXでは、これを行うことはできませんでした。その結果、レイアウトファイルに加えた変更を反映させるには、その度にLyXを再起動しなくてはならな かったので、レイアウトファイルを編集する作業は、たいへん時間を浪費する作業だったのです。 \end_layout \end_inset 。LyX関数 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout layout-reload \end_layout \end_inset を使用すれば、現在使っているレイアウトの再読み込みを強制することができるのです。この関数への既定のキー割り当てはありません—もちろん自分でどれかのキーに割り当て ることもできますが—。しかし、通常は、この関数を使用する場合は、これをミニバッファに入力します。 \end_layout \begin_layout Standard \emph on 注意 \emph default : \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout layout-reload \end_layout \end_inset はかなり「高度な機能」です。この機能を利用する前に、作業中の文書を保存しておくことを \emph on 強く \emph default 勧めます。もっと言えば、大事な文書の作業をしているときに、同時にレイアウト情報の編集をしようとしないことを \emph on 強く \emph default 勧めます。テスト用文書を使用してください。レイアウトファイル中の文法エラー等が奇妙な挙動を引き起こす可能性があります。特に、そのようなエラーが起こると、LyXは 現在のレイアウトが無効であるものと判断して、別のレイアウトに切り替えようとする可能性があります \begin_inset Foot status collapsed \begin_layout Plain Layout 非常に悪質な文法エラーの場合には、LyXが終了してしまうことさえあります。これは、ある種のエラーでは、LyXがレイアウト情報を全く読めなくなる可能性があるからで す。ご注意ください。 \end_layout \end_inset 。LyX開発陣は、このような状況下でも安定性を保つよう努力していますが、後悔よりも安心の方が良いでしょう \begin_inset Foot status collapsed \begin_layout Plain Layout 重ねての助言ですが、つねにバックアップを取ってください。それから、お母さんのお片づけに注意。 \end_layout \end_inset 。 \end_layout \begin_layout Subsection モジュール宣言 \end_layout \begin_layout Standard モジュールは、以下のような行で始まらなくてはなりません。 \end_layout \begin_layout LyX-Code # \backslash DeclareL \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset yXModule[endnotes.sty]{Endnotes} \end_layout \begin_layout Standard 波括弧内に入っている必須引数はモジュール名で、これは \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 文書\SpecialChar \menuseparator 設定 \end_layout \end_inset 内に表示されます。角括弧内の引数は非必須です。これは、モジュールが依存するLaTeXパッケージをすべて宣言します。また、非必須引数として、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout 変換元->変換先 \end_layout \end_inset の形を使用することができます。これは、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout 変換元 \end_layout \end_inset 形式から \begin_inset Flex Code status collapsed \begin_layout Plain Layout 変換先 \end_layout \end_inset 形式への変換鎖が存在するときのみ、このモジュールを使用できることを宣言するものです。 \end_layout \begin_layout Standard それから、以下のようなモジュール宣言を行います。 \lang english \begin_inset Foot status open \begin_layout Plain Layout \lang english Preferably in English if the module should be published with LyX. This description will appear in the list of messages to be translated and will be thus translated with the next interface update. \end_layout \end_inset \end_layout \begin_layout LyX-Code #DescriptionBegin \end_layout \begin_layout LyX-Code #Adds an endnote command, in addition to footnotes. \end_layout \begin_layout LyX-Code #You will need to add \backslash theendnotes in T \begin_inset ERT status collapsed \begin_layout Plain Layout {} \end_layout \end_inset eX code where you \end_layout \begin_layout LyX-Code #want the endnotes to appear. \end_layout \begin_layout LyX-Code #DescriptionEnd \end_layout \begin_layout LyX-Code #Requires: somemodule | othermodule \end_layout \begin_layout LyX-Code #Excludes: badmodule \end_layout \begin_layout Standard ここで説明(Description)は、 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 文書\SpecialChar \menuseparator 設定 \end_layout \end_inset でこのモジュールが何をするものか、ユーザに情報を与えるために使用されます。 \begin_inset Flex Code status collapsed \begin_layout Plain Layout Requires \end_layout \end_inset 行は、このモジュールが共に使用する必要がある、他のモジュールを特定するのに用いられます。一方、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout Excludes \end_layout \end_inset 行は、このモジュールが共に使用してはならない、他のモジュールを特定するのに用いられます。この2つの行は必須ではなく、上記のようにモジュールが複数ある場合には、パ イプ記号「|」で区切らなくてはなりません。 \begin_inset Flex Code status collapsed \begin_layout Plain Layout Requires \end_layout \end_inset に指定されたモジュールは、選言的に取り扱われることに注意してください。つまり、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout Requires \end_layout \end_inset に指定されたモジュールのうち、 \emph on 少なくとも一つ \emph default が使用されていればよいということです。同様に、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout Excludes \end_layout \end_inset に指定されたモジュールは、一つも使用されてはなりません。ここでモジュールは、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout .module \end_layout \end_inset 拡張子を除いたファイル名で認識されることに注意してください。つまり \begin_inset Flex Code status collapsed \begin_layout Plain Layout somemodule \end_layout \end_inset とは、実のところ \begin_inset Flex Code status collapsed \begin_layout Plain Layout somemodule.module \end_layout \end_inset のことです。 \end_layout \begin_layout Subsection 書式番号 \end_layout \begin_layout Standard レイアウトファイルやインクルードされたファイル、またはモジュールの最初の非コメント行には、以下のように、かならずファイル形式番号が記されていなくてはなりません。 \end_layout \begin_layout Description \begin_inset Flex Code status collapsed \begin_layout Plain Layout Format \end_layout \end_inset [ \begin_inset Flex Code status collapsed \begin_layout Plain Layout 整数型 \end_layout \end_inset ] このレイアウトファイルの書式 \end_layout \begin_layout Standard このタグはLyX \begin_inset space ~ \end_inset 1.4.0で導入されました。LyX \begin_inset space ~ \end_inset 1.3.x以前のレイアウトファイルには、明示されたファイル形式がないため、書式1と解されます。LyX現行版のファイル形式は、書式35です。しかし、LyXの各版は、旧 版のLyXで作成されたファイルを読むことができるように、旧版のレイアウトファイルも読むことができます。しかしながら、以前の書式に変換する方法はありません。 \end_layout \begin_layout Subsection \begin_inset CommandInset label LatexCommand label name "sub:汎用テキストクラスパラメータ" \end_inset 汎用テキストクラスパラメータ \end_layout \begin_layout Standard 以下は、文書クラス全体の挙動を決定する汎用パラメータです(これは、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout .layout \end_layout \end_inset ファイルのみに使用されるべきで、モジュールでは使ってはならない、ということを意味するものでは \emph on ありません \emph default 。モジュールには、すべてのレイアウトタグを使用することができます)。 \end_layout \begin_layout Description \begin_inset Flex Code status collapsed \begin_layout Plain Layout AddToHTMLPreamble \end_layout \end_inset この文書クラスがXHTMLに出力されるときに、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout \end_layout \end_inset ブロックに追加出力される情報です。典型的には、これはCSSスタイル情報を出力するのに用いられますが、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout \end_layout \end_inset に出力するものであれば、何でも使用することができます。「 \begin_inset Flex Code status collapsed \begin_layout Plain Layout EndPreamble \end_layout \end_inset 」で閉じる必要があります。 \end_layout \begin_layout Description \begin_inset Flex Code status collapsed \begin_layout Plain Layout AddToPreamble \end_layout \end_inset 文書プリアンブルに書き加えられる情報です。「 \begin_inset Flex Code status collapsed \begin_layout Plain Layout EndPreamble \end_layout \end_inset 」で閉じる必要があります。 \end_layout \begin_layout Description \begin_inset Flex Code status collapsed \begin_layout Plain Layout CiteFormat \end_layout \end_inset 書誌情報の表示に使う書式を定義します。詳細については、第 \begin_inset CommandInset ref LatexCommand ref reference "sub:引用書式指定" \end_inset 節をご覧ください。「 \begin_inset Flex Code status collapsed \begin_layout Plain Layout End \end_layout \end_inset 」で閉じる必要があります。 \end_layout \begin_layout Description \begin_inset Flex Code status collapsed \begin_layout Plain Layout ClassOptions \end_layout \end_inset 文書クラスがサポートする様々な大域オプションを記します。説明は、第 \begin_inset CommandInset ref LatexCommand ref reference "sub:ClassOptions" \end_inset 節を参照してください。「 \begin_inset Flex Code status collapsed \begin_layout Plain Layout End \end_layout \end_inset 」で閉じる必要があります。 \end_layout \begin_layout Description \begin_inset Flex Code status collapsed \begin_layout Plain Layout Columns \end_layout \end_inset [ \begin_inset Flex Code status collapsed \begin_layout Plain Layout \emph on 1 \end_layout \end_inset , \begin_inset space \thinspace{} \end_inset \begin_inset Flex Code status collapsed \begin_layout Plain Layout 2 \end_layout \end_inset ] 文書クラスが既定で1段組か2段組かを指定します。 \begin_inset Flex MenuItem status collapsed \begin_layout Plain Layout 文書\SpecialChar \menuseparator 設定 \end_layout \end_inset ダイアログで変更することができます。 \end_layout \begin_layout Description \begin_inset Flex Code status collapsed \begin_layout Plain Layout Counter \end_layout \end_inset [ \begin_inset Flex Code status collapsed \begin_layout Plain Layout 文字列 \end_layout \end_inset ] この部分はカウンタの特性を定義します。カウンタがまだ存在していなければ、生成されます。もし存在しなければ修正されます。「 \begin_inset Flex Code status collapsed \begin_layout Plain Layout End \end_layout \end_inset 」で閉じる必要があります。 \begin_inset Newline newline \end_inset カウンタについての詳細は、第 \begin_inset CommandInset ref LatexCommand ref reference "sub:カウンタ" \end_inset 節を参照してください。 \end_layout \begin_layout Description \begin_inset Flex Code status collapsed \begin_layout Plain Layout DefaultFont \end_layout \end_inset 文書を表示するのに用いられる既定フォントを設定します。フォントの宣言の仕方については、第 \begin_inset CommandInset ref LatexCommand ref reference "sub:フォント指定" \end_inset 節を参照してください。「 \begin_inset Flex Code status collapsed \begin_layout Plain Layout EndFont \end_layout \end_inset 」で閉じる必要があります。 \end_layout \begin_layout Description \lang english \begin_inset Flex Code status collapsed \begin_layout Plain Layout \lang english DefaultModule \end_layout \end_inset [ \begin_inset Flex Code status collapsed \begin_layout Plain Layout \lang english \end_layout \end_inset ] \lang japanese この文書クラスに、既定で取り込むモジュールを指定します。モジュールは、 \begin_inset Flex Code status collapsed \begin_layout Plain Layout .module \end_layout \end_inset 拡張子を除いたファイル名で指定します。ユーザはこのモジュールを除外することができますが、当初は有効の状態になっています(これは新しいファイルが作成されたときや、 既存の文書にこの文書クラスが選択したときのみ該当します)。 \end_layout \begin_layout Description \begin_inset Flex Code status collapsed \begin_layout Plain Layout DefaultStyle \end_layout \end_inset \lang english [ \begin_inset Flex Code status collapsed \begin_layout Plain Layout \lang english