BHL モード : Brute - HTML - LaTeX

Short Contents


Node: Top, Next: , Previous: (dir), Up: (dir)

BHL モード : Brute - HTML - LaTeX

これはbhlバージョン1.7.1のマニュアルです.

bhlはただのテキストファイルをHTML, SGML, LaTeX, Texinfoおよ びTXTファイルに変換できるEmacsモードです. bhlオフラ インで実行できるので, スタンドアロン形式でもあります: bhlファ イルを書けば様々なフォーマットに変換できます.

"bhl"は Brute (つまり"プレーン"な書式)からHtmlや LaTeXへ, の略です.

"bhl"の読み方について質問されることがあります. Bhl- はインド-ヨーロッパ圏で"Blow"(や"blather"のような派生的でありかつ 詩的ではない動詞)の語幹です. なので, "blow"と読んでください.


Node: 概観, Next: , Previous: Top, Up: Top

概観

BHLとは

bhlは文書整形・出版ツールです. bhlは2種類のツール を提供するEmacsモードです: プレーンテキストファイルを暗示的な構造化文 書として編集するツール, およびこの文書を他の書式(HTML, SGML, LaTeX, TexinfoおよびTXT)に変換するツールです.

bhlで読めるよう, プレーンテキストファイルはbhl文法 に従っている必要があります. この文法は完全に一般的なものでもないですが, とりわけ奇妙というほどでもありません. この文法は比較的使いやすい, そし て比較的よく使われているテキスト整形法から作られています. このモードの 目的は全く気にせず, そして最も便利にこの文法を使うことで す. "気にならない文法"とはソースファイルが可能な限り可読であることで す - プレーンテキストファイルはそうあるべきです. "便利な文法"とはユー ザの癖にあっていることです.

たとえば, *語句*は太字となります. _語句_は強調されます. 構造化テキストWikiに続けてURLを書くことができます. 章 の番号づけは論理構造と直観に関係しています. (See 文法.)

まとめ: bhlモードで文書を書くために学ばなければいけないこと は何もありません(やれば分かります).

bhlWYSIWYGではありません. テキストを編集するだけだ からです. bhlは(LyXのように)WYSIWYMではありま せん. 意図するもの(WYM: what you mean)はテキストの編集だからです. では bhlとは何でしょうか. bhlとはWYSIWYS(IWYS)で す: 見ているものが見ているものなのです!! [What You See Is What You See (Is What You See)]. テキスト編集は所詮テキスト編集でしかないのです.

BHLを使う利点

唯一の存在
bhlはTexinfo形式への変換を実装した唯一の汎用テキストコンバー タです.
簡単な章立て
章や節の番号を簡単に更新できます. 章立ての形式を簡単に選んだり変更した りすることができます. 目次をいつでも入れることができます. See .
簡単なリンク
bhlはリンク好きです. 簡単に次のリンクに飛んだり, リンク先 (URLやWikiName)に飛んだり, 文書のリンク一覧をブラウズしたり, 一覧を文 書に挿入したりすることができます. See リンク一覧.
簡単な指定
文書内で変換機能を指定することができます. これによりbhlは文 書を適切に変換することができます. See 機能指定.
簡単な脚注
脚注は放置できません. 古典的な数字形式を使っていなくてもそれぞれを変換 することができます.


Node: BHLのインストール, Next: , Previous: 概観, Up: Top

BHLのインストール

まずbhl.tar.gzhttp://www.nongnu.org/bhlからダ ウンロードします. アーカイブを解凍してください:

     ~$ tar zxvf bhl.tar.gz
     

bhl-*/ディレクトリに移動し, Makefileを修正します. 完了したら次 のようにしてコンパイル/インストールします:

     ~$ make
     ~$ make install
     

bhl/usr/local//usr/share/というパスにイン ストールする場合は, superuser(つまりroot)権限が必要です. 問題がある場合はインストール手順の最後に表示されるメッセージに原因が表 示されます.

bhl.infoファイルを生成/インストールするには:

     ~$ make info
     ~$ make install-info
     

印刷可能なマニュアル(PDF)を作るには:

     ~$ make pdf
     

HTMLマニュアルが欲しければ:

     ~$ make html
     

ディレクトリを綺麗にするには:

     ~$ make clean
     

~/.emacs.elに次の行を追加してください:

     (autoload 'bhl-mode "bhl" "BHL Mode" t)
     (add-to-list 'auto-mode-alist '("\\.bhl$" . bhl-mode))
     

最終行で新しい拡張子(.bhl)をbhl編集モードに関連づけま すので, .bhlファイルを開くと自動的にbhlモードに移行し ます.


Node: 文法, Next: , Previous: BHLのインストール, Up: Top

文法

Ordinarily, a plain text file has no visible or invisible syntax. To be bhl-readable, a file has to respect some conventions.


Node: タイトルとパラグラフ, Next: , Previous: 文法, Up: 文法

タイトルとパラグラフ

タイトルは必須です. bhlはバッファの最初の行から読みとろうと します. タイトルは改行やタブ文字を含まない1行で記述されます.

サブタイトルは必須ではありません. サブタイトルはHTML, TXTおよびTexinfo 出力に出力されます. サブタイトルは次のように詳細を記述するのに使うこと ができます:

     #!subtitle!My subtile subtitle
     

詳細がどのように整形・挿入されるのかについて: See 機能指定.

パラグラフは行の先頭から始まっていなくてはいけません. インデントをつけ ないでください. インデントはリストでのみつけましょう.


Node: , Next: , Previous: タイトルとパラグラフ, Up: 文法

bhlは3レベルの章を扱うことができます. 章, 節, および小節です.

bhlは5種類の異なる章立て形式に対応しています: num, alpha, aster, equal-signおよびuser-defined です. デフォルトでは数字形式(num)となっています.

それぞれの形式の例です:

num
1.<SPC>A section
1.1.<SPC>A subsection
1.1.1.<SPC>A subsubsection

alpha
A.<SPC>A section
A.A.<SPC>A subsection
A.A.A.<SPC>A subsubsection

aster
*<SPC>A section
**<SPC>A subsection
***<SPC>A subsubsection

equal-sign
=<SPC>A section
==<SPC>A subsection
===<SPC>A subsubsection

章立てのデフォルト形式をbhl-sectioning-default-styleを修正するこ とで変えることができます. これは新しく作成されるbhlファイル に対して有効となります.

既存のbhlファイルがある場合, bhl-autoguess-style-flagtになっていれば(既定値です), bhlは自動的に章立て形 式を推測します. また, bhl-guess-styleによりいつでも bhlに形式を推測させることができます. これは<C-c M-s>にバ インドされています(またメニューから呼び出すこともできます).

たとえば, foo.bhlでアルファベット形式を使っていて, bhl-sectioning-default-stylenumとなっているとしましょう. このときbhlは自動的に現在のスタイルをalphaに変更しま す. bhlがスタイルを判定できない場合, bhl-sectioning-default-styleの値に設定されます.

章立てスタイルを混ぜないでください. bhlが数字形式と判定した とき, すべての章立てが数字であると愚直に判断します.

bhl-sectioning-switch-styleにより章立て形式を変更することが できます. このコマンドは形式をミニバッファから読みとり, 文書の章立てを 変更します.

自分独自のスタイルを選んだ場合, 手動で bhl-my-sectioning-regexp-listをカスタマイズしてください. See グローバルオプション. この変数は章, 節, 小節に対応する3つの正規 表現のリストを含んでいます. bhl-sectioning-default-stylemyに設定した場合は, bhl-update-tocがうまく作動しない ことに注意してください.

章のプレフィクス(数字や文字)を更新するには<C-c M-t>を押します. こ れはbhl-update-tocの規定キーバインドです.


Node: フォントと環境, Next: , Previous: , Up: 文法

フォントと環境

この章ではフォント指定, 環境, 水平線の記述方法を紹介します.


Node: フォント指定, Next: , Previous: フォントと環境, Up: フォントと環境

フォント指定

フォント指定により強調, 下線, 太字, および語句のtruetype化ができます.

SGMLとTexinfo出力では, underlineemphasisと同様イタリッ ク(斜体)になります. HTMLとLaTeX出力では, underlineは下線を意味 します.

太字の斜体にしたい場合, _*この順番*_で指定してください. ただし Texinfo出力では無効となります.

アンダースコアやアスタリスクを表示したい場合は, \*\*の ようにエスケープ文字を前につけてください. 同様にしてコメント文字を出力 することもできます: \#. See コメント.

bhl-change-font-コマンドにより, 指定された範囲にフォントを指 定することもできます. See フォント変更. bhl-change-font- commands. See フォント変更.

フォントを変更したいときにbhlファイルで使うことのできるタグ の一覧です:

*語句*
語句を太字にします.
_語句_
語句を強調します.
_*語句*_
語句を太字の斜体にします.
__語句__
語句に下線をひきます.
==語句==
語句をtruetypeフォントで表示します.


Node: コメント, Next: , Previous: フォント指定, Up: フォントと環境

コメント

新しいコメントを始める文字は#です.

コメントは好きなところに書くことができますが, コメントは行末まで続くも のと解釈されます. "コメント終了"を意味する文字はありません.

コメントを意味するわけではなく, 単純に文字#を入力する場合は, エ スケープ文字をつけてください: \#.

現在の領域をすべてコメントにするにはbhl-comment-regionを実行 します. これは<C-c ;>にバインドされています. また, コメントを外す にはC-u bhl-comment-regionにシンボリックプレフィクスをつけま す: <C-u C-c ;>

コメントを不可視にするにはbhl-hide-commentを, 可視にするには C-u bhl-hide-commentを実行します.


Node: 環境, Next: , Previous: コメント, Up: フォントと環境

環境

bhlは3つの環境を扱うことができます: quote, verbatim, minipageです. quoteはテキストの一部を引 用します. verbatimは文書にコードを記述する場合に便利です. minipageはメインページ内にミニページを作成します. 境界線をつけ ることも可能です.

Quote環境

一部を引用するには, 行頭にタブを1つ置いてください. 例:

             Put some words here.
             Put some words here.
             Put some words here.
             Put some words here.
     

Verbatim環境

verbatim環境の文法です:

     --
     Put some words here.
     --
     

注意: 2つのダッシュがverbatim環境の区切りです. また, 4つのダッ シュは水平線を意味します.

bhl-special-facebhl-hr-faceと異なる場合, ダッシュの強調 は文法的な役割の違いを表します. See 水平線.

bhl-verbatim-ignore変数はverbatim環境内で無意味になる文法要素の 一覧が指定されています. つまり, たとえフォント指定であっても, 文法要素 は変換されません. See グローバルオプション.

Minipage環境

minipageの挿入法の例です:

     %%%[12cm]
     This minipage (12cm) will be centered without border.
     %%%
     
     <%%[10cm]
     This minipage (10cm) will be put on the left without border.
     %%%
     
     >-%
     This minipage will be put on the right with borders.
     %%%
     

minipage環境の区切りとなるのは行頭の%%%です. これは中央に配置さ れたメインページと同じ幅の枠なしミニページを意味します.

最初の%<>にした場合, ミニページが左または右に 配置されます. たとえば, <%%%%は左に配置された, メインページと同 じ幅のミニページを意味します.

2番目の%をダッシュ(-)にした場合, ミニページに枠をつけま す. たとえば, <-%%%%はメインページと同じ幅で左に配置された枠あ りのミニページを意味します.

角括弧で幅を指定することができます: %%%[8cm]. これはオプション です. "40%"のような相対長は指定できません. 文字%はLaTeX環境で はコメントを意味します. 絶対長を使ってください.

ミニページはHTML, LaTeX, Texinfo出力でのみ正常に動作します. Texinfo出 力では, bhl-texi-centered-minipage-tagのような中央に配置されたミ ニページを選択できます. SGML出力では, bhl-sgml-minipage-tagのよ うなミニページを選択できます. bhl2txtはミニページを変換しま せん. 単に行頭にある%%%を削除するだけにとどめます.

ミニページをbhl-insert-minipageで挿入できます. See 挿入.


Node: 水平線, Previous: 環境, Up: フォントと環境

水平線

水平線は4つ以上のダッシュを行頭に置きます. 最初のダッシュは配置指示で 置き換えることが可能です.

注意: 水平線はSGMLとTexinfo形式では無視されます.

     ----[12cm]
     <---[12cm]
     >---[12cm]
     

最初の例では中央に配置されます. 2番目の例では左に, 3番目では右に配置さ れます. 線の幅は12cmです. 長さはオプションです. 単に----として も問題ありません.

水平線はbhl-insert-hrで挿入できます. See 挿入.


Node: エスケープ文字, Next: , Previous: フォントと環境, Up: 文法

エスケープ文字

4つの文字をエスケープすることができます: アスタリスク(*), アン ダースコア(_), シャープ(#), バックスラッシュ(\)で す. エスケープされると, これらの文字は文法的な意味を失います. バックス ラッシュのエスケープはbhl2latexでの変換でのみ意味をもちます.

LaTeXに変換する際, bhlは自動的にいくつかの文字をエスケープし ます. 対象となる文字は次の通りです: $ & % { }. 注意: bhl2latexによる変換ではバックスラッシュは自動的には変換 されません. 自分で$\backslash$のように入力するか, \\のよ うにエスケープする必要があります. Texinfoに変換する際, bhl@ { }をエスケープします.

bhlがこれらの文字をエスケープしないなら, bhlファイ ル内で自分でエスケープする必要があります.


Node: リンク操作, Next: , Previous: エスケープ文字, Up: 文法

リンク操作

リンクとは

リンクには2種類あります: URLとWikiNameです. URLは... よく知っているで しょう. WikiNameは"MyWikiName"のように大文字と小文字の混ざった語句で す. カーソルをリンクの上におき, <RET>または<mouse-2>を押すと飛 びます. URLであればbhl-browse-url-functionが実行されます. WikiNameであればWikiNameに.bhlをつけたファイル名をもつファイル が開かれます.

bhl-downcase-wikifiles-names-flagをnon-nilに設定しておけ ばすべてを小文字に変換します. また, WikiFile名の拡張子を bhl-default-wikifiles-extensionに設定することもできます. WikiNameとして解釈してほしくない語句のリストを bhl-non-wiki-names-listに設定できます.

文書のリンク一覧をbhl-show-lol(<C-c C-/>にバインドされて います)で見ることができます. リンク一覧を挿入する場合は bhl-insert-lol(<C-c C-c l>にバインドされています)を使い ます. See リンク一覧.

URLやWikiNameをbhl-goto-next-url-or-wiki <C-TAB>でブラウ ズすることができます. (See BHLファイルのブラウズ.)

リンクの変換

URLはbhl-convert-url関数により変換され, WikiNameは bhl-convert-wiki-namesにより変換されます. URLはそのまま (http://site.org)書くことも, ラベルを定義するために角括弧に入 れて([[http://site.org][my site]]書くこともできます.

URLはbhl-insert-url, <C-c C-c h>で挿入できます: See コマンドとキーバインド.

以下にURLとそのHTMLへの変換結果を示します:
http://site.org
<a href="http://site.org">http://site.org</a>
url:mypage.html
<a href="mypage.html">mypage.html</a>
[[http://site.org][SITE]]
<a href="http://site.org">SITE</a>
mailto:bb@site.fr
<a href="mailto:bb@site.org>bb@site.org</a>
[[mailto:bb@site.fr][BB]]
<a href="mailto:bb@site.org>BB</a>

以下にURLとそのLaTeXへの変換結果を示します:
http://site.org
\url{http://site.org}
url:mypage.html
\url{mypage.html}
[[http://site.org][SITE]
SITE (\url{http://site.org})
mailto:bb@site.org
\url{bb@site.org}
[[mailto:bb@site.org][BB]]
BB (\url{bb@site.org})

以下にURLとそのTexinfoへの変換結果を示します:
http://site.org
@uref{http://site.org}
url:mypage.html
@uref{mypage.html}
[[http://site.org][SITE]
@uref{http://site.org,SITE}
mailto:bb@site.org
@uref{bb@site.org}
[[mailto:bb@site.org][BB]]
@uref{bb@site.org,BB}

以下にURLとそのSGMLへの変換結果を示します:
http://site.org
<HTMLURL URL="http://site.org" NAME="http://site.org">
url:mypage.html
<HTMLURL URL="mypage.html" NAME="mypage.html">
[[http://site.org][SITE]
<HTMLURL URL="http://site.org" NAME="SITE">
mailto:bb@site.org
<HTMLURL URL="mailto:bb@site.org" NAME="mailto:bb@site.org">
[[mailto:bb@site.org][BB]]
<HTMLURL URL="mailto:bb@site.org" NAME="BB">

以下にURLとそのTXTへの変換結果を示します:
http://site.org
http://site.org
url:mypage.html
mypage.html
[[http://site.org][SITE]
http://site.org (SITE)
mailto:bb@fardeau.fr
bb@fardeau.fr
[[mailto:bb@fardeau.fr][BB]]
bb@fardeau.fr (BB)

これらの例で, `http://'を`ftp://'や`file:///'に置き換えることもできま す. [[...][...]]を使う場合, `http://'のようなプレフィクスは必須 ではありません.


Node: リスト操作, Next: , Previous: リンク操作, Up: 文法

リスト操作

bhlは3種類のリストを処理できます: 番号なしリスト, 番号ありリ スト, そして叙述(限定)的リストです.

番号なしリストは, 行頭の<TAB>, セパレータ<- * o>, 空白で定義されます.

番号ありリストは, 行頭の<TAB>, 数字, ピリオド, そして空白で 定義されます.

定義リストは, 行頭の<TAB>, 用語, 空白, ダッシュ2つ, そして 空白で定義されます.

<TAB>はインデントをつけるためのもの, そして<M-TAB>はちょうと3 カラムのTABを挿入するためのものです. *の後に空白を忘れないでく ださい. 空白がないと次の文字が太字になります.

bhlは入れ子になったリストも処理できますが, 定義リストは入れ 子にできません. 入れ子になる項目を追加するには, TABでインデントをつけ てください. それぞれのリストにおいて, 先頭にある項目がリストの種類を決 めています.

リストのセパレータの一覧です:

<TAB(S)>[*,-,o]<SPC>
番号なしリストの項目
<TAB(S)>[0-9].<SPC>
番号つきリストの項目
<TAB(S)>A term<SPC>--<SPC>
定義リストの項目

詳細はhttp://www.nongnu.org/bhlにある例を見てください.


Node: 表操作, Next: , Previous: リスト操作, Up: 文法

表操作

以下が表の例です:
      | @Name@  | @First name@  | @Age@  |
      | Jean    | Luc-Henri     | 123    |
      | Paul    | Matthieu      | 2      |
     

文字|が3種類の異なる役割を果たしています: 行の始まり, セルの区 切り, そして行の終わりです. 空白やタブは行頭と最初の|の間にあっ てはいけません.

セルの中身周辺の@はこのセルがヘッダであることを意味しています. 通常ヘッダは最初の行にあります. HTML出力では, ヘッダセルは <TH></TH>タグで表されます. LaTeXやSGMLではヘッダ行は水平線で表 の他の部分から区切られます.

表のオプションの詳細について: See 表の変換.


Node: 画像操作, Previous: 表操作, Up: 文法

画像操作

画像を挿入した例です:

     [[image.jpg]]
     

特定のファイルを探してイメージとして挿入するには<C-c C-c i>を使い ます. これはbhl-insert-imageにバインドされたキーです.

bhl2htmlだけが画像を扱うことができます. bhl2sgml, bhl2texinfo, bhl2latexのような他の変換関数では画像 のかわりに文字が入ります. bhl2txtでは画像は消去されます.


Node: 変換機能, Next: , Previous: 文法, Up: Top

変換機能

bhl文書を何もカスタマイズせずに変換したいと思うかもしれませ ん. ええ, 問題ありません. しかし, 変換関数に応じて異なる機能を使おうと 考えるかもしれません. たとえば, HTMLへの変換であれば目次をつけ, LaTeX への変換では目次をつけないようにすることは可能です. LaTeX出力の時だけ \date{...}を出力することもできます. 特定のHTML出力にだけ別の CSSスタイルを設定することもできるのです.

この章ではこのような設定の方法を紹介します.


Node: 機能の紹介, Next: , Previous: 変換機能, Up: 変換機能

機能の紹介

変換機能を選択する2つの重要な変数があります. bhl-xxx-conversion-listbhl2xxx-properties-listです. ただ しxxxには変換の名前が入ります. See グローバルオプション.

bhl-xxx-conversions-listには各書式での変換の詳細が入ります. 通常 この変数を修正する必要はほとんどありません.

bhl2xxx-properties-listには変換のグローバルオプションが入ります. これらのグローバルオプションはあいまいなタグ, セクションのプレフィクス の挿入, 表のキャプション, i18n変換, 目次の挿入, そして章/タイトルのセ ンタリング(bhl2txt変換)を設定できます. 変数を変えるには:

この順番は重要です: 指定行のオプションはメニューによる設定を無効にしま す. そしてメニューによる設定はカスタマイズを無効にするのです.

このグローバルオプションはbhl-modeコマンドを実行するたびデフォ ルト値(カスタマイズした値)に設定されます. bhl-after-conversion-hookリストから bhl-initialize-properties関数を除去しない限り, 変換ごとに初 期値に再設定されます.


Node: 機能指定, Previous: 機能の紹介, Up: 変換機能

機能指定

bhlは文書内に機能設定行をもちます. よってbhlこの文書を適切に処理できます. 機能指定は2種類に大別できます: 文 書のヘッダおよび変換です. 指定行の例をあげます:

     #!html!prefix:check:caption:toc
     #!latex!noprefix:nocheck:nocaption:notoc
     #!date!It's %H:%M.
     

この例で, コマンドbhl2htmlは章のプレフィクスを挿入し, あいま いなタグをチェックし, 表にキャプションをつけ, 目次(toc)をつけま す. 一方, コマンドbhl2latexではこれらを一切しません. 日付は 現在の時刻(時:分)に設定されます. とても簡単ですね.

指定行は行の先頭にコメント記号をつけます. 指定行は2部に分離できます: 感嘆符2つに挟まれたプレフィクスと, コロンで区切られたラベ ルです. 各ラベルはno-をつけることでオフにすることができます: notoctocの逆になるわけです.

以下にプレフィクスとラベルの一覧をあげます:

#!author!
文書の著者名
#!title!
文書のタイトル. 他のタイトル指定をオーバーライドします(バッファの先頭 行やその他の#!xxx-title!指定).
#!xxx-title!
xxx変換のときの文書のタイトル. xxxhtml, latex, texiのことです. この指定は#!title!によりオー バーライドされますが, 先頭行についてはオーバーライドします.
#!subtitle!
文書のサブタイトル. サブタイトル変換はHTML, Texinfo, TXT出力でのみサポー トされます.
#!lang!
文書の言語. これはbhl-i18n-conversionsをオーバーライドします. Texinfo出力では, @documentlanguageの値として設定されます.
#!encoding!
文書のエンコーディング. この情報はTexinfoおよびHTML変換で有効です. Texinfo出力では, @documentencodingの値として設定されます. HTML 出力では, bhl-html-content-typeの値としてオーバーライドされます.
#!date!
文書の日付. コラムには特に意味はないので, Emacs時刻書式を使うことがで きます. たとえば, #!date!:%H:%Mにより現在の時刻(時:分)が設定さ れます. see Time Conversion.
#!html!
bhl2htmlに関する指定. 利用できるラベルは以下の通りです:
prefix
章/節のプレフィクスを入れる
check
あいまいなHTMLタグ/コメントを変換前にチェックする
caption
表を変換するときにキャプションをきく
i18n
i18n変換を利用
toc
HTML出力で目次を挿入

#!html-style!
HTML出力で参照するCSSファイル
#!latex!
bhl2latexに関する指定. 利用できるラベルは以下の通りです:
prefix
章/節のプレフィクスを入れる
check
あいまいなLaTeXコマンド/コメントを変換前にチェックする
caption
表を変換するときにキャプションをきく
i18n
i18n変換を利用
toc
LaTeX出力で目次を挿入

!#latex-class!
LaTeX出力のクラス
#!latex-options!
選んだクラスのオプション. オプションを好きなだけ書くことができます. コ ロンで区切ってください.
#!latex-packages!
LaTeXパッケージとオプション. 例:
          
          #!latex-packages!fontenc[T1]:[latin1]inputenc:babel[french]
          
          \usepackage[T1]{fontenc}
          \usepackage[latin1]{inputenc}
          \usepackage[french]{babel}
          
          

角括弧の位置は問いません.

#!texi!
bhl2texinfoに関する指定. 利用できるラベルは以下の通りです:
check
あいまいなTexinfoコマンド/コメントを変換前にチェックする
i18n
i18n変換を利用
toc
Texinfo出力で目次を挿入

#!texi-style!
Texinfo出力の表紙スタイル. classicalまたはcenteredが指定 可能.
#!sgml!
bhl2sgmlに関する指定. 利用できるラベルは以下の通りです:
check
あいまいなTexinfoコマンド/コメントを変換前にチェックする
caption
表を変換するときにキャプションをきく
i18n
i18n変換を利用

#!txt!
bhl2txtに関する指定. 利用できるラベルは以下の通りです:
center
タイトルと章/節のタイトルを中央に
toc
TXT出力で目次を挿入
tas
TXT出力でタブを空白に置換


Node: 文書のブラウズ, Next: , Previous: 変換機能, Up: Top

文書のブラウズ

bhlモードは文書をブラウズする2つのコマンドとともに使われます: bhl-show-tocおよびbhl-show-lolです. 後者はリンク一 覧をブラウズできます. 前者は目次をブラウズできます. これら2つのコマン ドは新しいバッファを作ります.


Node: 目次, Next: , Previous: 文書のブラウズ, Up: 文書のブラウズ

目次

bhlモードはbhlファイルの章番号を更新したり, 目次を 挿入したり, 目次を新しいバッファでブラウズすることができます.

目次の処理には2つの変数が必要です: bhl-toc-locationbhl-default-toc-depthです. 始めの変数は目次を挿入する場所を指定 します. この値はメニューやcustomizeで変更できます. 2番目の変 数は目次の深さを変更できます.

bhl-insert-toc <C-c C-c t>で目次を挿入できます. 引数で数 字を指定することで深さを設定できます. *toc*バッファから<i> で目次を挿入することもできます. このバッファから挿入すると, バッファに 表示されている深さに設定されます.

バッファを変換するとき, bhlはまず目次があるかを調べます. 存 在する場合, bhlは現在の目次の位置に挿入します.


Node: 目次をブラウズ, Next: , Previous: 目次, Up: 目次

目次をブラウズ

ブラウズできる目次のある*toc*というバッファを生成できます. メ ニューまたは<C-c C-t>によりブラウズできます. 引数の数字で深さが指 定できます.

<?>
bhl-toc-modeの簡単な説明
<q>
*toc*バッファを閉じる
<n>
次の項目へ
<p>
前の項目へ
<>>
最後の項目へ
<<>
最初の項目へ
<i>
bhlファイルに目次を挿入
<1>
深さを1に
<2>
深さを2に
<3>
深さを3に


Node: 目次を挿入, Previous: 目次をブラウズ, Up: 目次

目次を挿入

<C-c C-c t>でbhlファイル自身に目次を挿入できます. 目次が すでに挿入されている場合, 目次が更新されます. 目次がない場合, bhl-toc-locationで指定された場所に挿入します. 引数の数字で深さを 指定します.


Node: リンク一覧, Previous: 目次, Up: 文書のブラウズ

リンク一覧

リンク一覧をbhl-show-lolで見ることができます. 標準のキーは <C-c C-/>です. *lol*という新しいバッファが作られ, bhl-lol-modeとなります.

このバッファ内を動く間, 文書のバッファはリンク先を指すように更新されま す. <RET>や<mouse-2>によりリンク先に飛ぶことができます.

bhl-lol-mode内で使うことのできるコマンド一覧です:

<?>
bhl-lol-modeの簡単な説明
<q>
*lol*バッファを閉じる
<n>
次の項目/リンクへ
<p>
前の項目/リンクへ
<>>
最後の項目/リンクへ
<<>
最初の項目/リンクへ
<i>
リンク一覧を文書に挿入


Node: コマンドとキーバインド, Next: , Previous: 文書のブラウズ, Up: Top

コマンドとキーバインド

この章ではbhlモードのメインコマンドを説明します.


Node: 変換コマンド, Next: , Previous: コマンドとキーバインド, Up: コマンドとキーバインド

変換コマンド

この変換コマンドは2つのフックに大別されます: 各変換書式に関するもの (bhl-xxx-after-conversion-hook)およびグローバルフック (bhl-after-conversion-hook)です. これらのコマンドはポップアップ メニュー<C-down-mouse-3>(<control>を押しながらマウスの右ボタン を押す)からも指定できます.

bhl2html Function
現在のバッファをHTMLに変換し新しいバッファに表示します. デフォルトでは <C-c C-w>にバインドされています.

bhl2latex Function
現在のバッファをLaTeXに変換し新しいバッファに表示します. デフォルトで は<C-c C-l>にバインドされています.

bhl2texinfo Function
現在のバッファをTexinfoに変換し新しいバッファに表示します. デフォルト では<C-c C-o>にバインドされています.

bhl2sgml Function
現在のバッファをSGML(Linuxdoc)に変換し新しいバッファに表示します. デフォ ルトでは<C-c C-s>にバインドされています.

bhl2txt Function
現在のバッファをTXTに変換して新しいバッファに表示します. タグや文法要 素を削除します. デフォルトでは<C-c C-d>にバインドされています.


Node: 挿入, Next: , Previous: 変換コマンド, Up: コマンドとキーバインド

挿入

bhl-insert-url Function
URLと名前をミニバッファから読みこんで挿入します. デフォルトでは <C-c C-c h>にバインドされています.

bhl-insert-image Function
画像のファイル名をミニバッファから読みこんで挿入します. デフォルトでは <C-c C-c i>にバインドされています.

bhl-insert-minipage Function
ミニページを挿入します. デフォルトでは<C-c C-c m>にバインドされて います.

bhl-insert-verbatim Function
verbatim環境を挿入します. デフォルトでは<C-c C-c v>にバインドされ ています.

bhl-insert-hr Function
水平線を挿入します. 配置と幅をミニバッファで聞きます. デフォルトでは <C-c C-c r>にバインドされています.

bhl-insert-toc [depth] Function
現在のバッファに目次を挿入します. デフォルトでは<C-c C-c t>にバイ ンドされています. このコマンドはbhl-toc-mode*toc*バッ ファから<i>で呼び出すことができます.

任意の引数(depth)は目次の深さを指定するものです. 引数がなければ bhl-default-toc-depthが使われます.

目次が挿入できる場所は3箇所あります: タイトルの直後, 文書の末尾, そし て指定した場所です. bhl-toc-locationで指示します.

bhl-insert-lol Function
リンク一覧を現在のバッファに挿入します. デフォルトでは<C-c C-c l> にバインドされています. このコマンドはbhl-lol-mode*lol*バッファから<i>で呼び出すことができます.


Node: BHLファイルのブラウズ, Next: , Previous: 挿入, Up: コマンドとキーバインド

BHLファイルのブラウズ

bhl-show-toc [depth] Function
目次の書かれた*toc*というバッファを作成します. デフォルトでは <C-c C-t>にバインドされています. 任意の引数(depth)は目次の 深さです. 引数がなければ深さはbhl-default-toc-depthとなります. このコマンドはポップアップメニューからも利用可能です.

bhl-show-lol Function
リンク一覧のある*lol*というバッファを作成します. リンクはURLや WikiNameです. デフォルトでは<C-c C-/>にバインドされています. この コマンドはポップアップメニューからも利用可能です.

bhl-goto-next-section Function
次の章に飛びます. デフォルトでは<C-c C-n>にバインドされています. <C-u>に続けると次の章または(小)節に飛びます.

bhl-goto-previous-section Function
前の章に飛びます. デフォルトでは<C-c C-p>にバインドされています. <C-u>に続けると前の章または(小)節に飛びます.

bhl-goto-next-url-or-wiki Function
次のURLまたはWikiNameに飛びます. デフォルトでは<C-TAB>にバインドさ れています.


Node: フォント変更, Next: , Previous: BHLファイルのブラウズ, Up: コマンドとキーバインド

フォント変更

bhl-change-font-bold Function
2つの*で挟みます. 領域が選択されている場合, 領域全体を* で挟みます. それまでのフォント指定は解除されます. デフォルトでは <C-c C-f C-b>にバインドされています.

bhl-change-font-emphasis Function
2つの_で挟みます. 領域が選択されている場合, 領域全体を_ で挟みます. それまでのフォント指定は解除されます. デフォルトでは <C-c C-f C-e>にバインドされています.

bhl-change-font-underline Function
2つの__で挟みます. 領域が選択されている場合, 領域全体を__ で挟みます. それまでのフォント指定は解除されます. デフォルトでは <C-c C-f C-u>にバインドされています.

bhl-change-font-truetype Function
2つの==で挟みます. 領域が選択されている場合, 領域全体を== で挟みます. それまでのフォント指定は解除されます. デフォルトでは <C-c C-f C-t>にバインドされています.

bhl-change-font-bolditalic Function
_**_で挟みます. 領域が選択されている場合, 領域全体を _**_で挟みます. それまでのフォント指定は解除されます. デフォルトでは<C-c C-f C-_>にバインドされています.

bhl-change-font-normal Function
選択された領域のフォント指定を解除します. 領域が指定されていない場合は 何もしません. デフォルトでは<C-c C-f C-n>にバインドされています.


Node: その他, Previous: フォント変更, Up: コマンドとキーバインド

その他

bhl-sectioning-switch-style Function
ミニバッファから章立てのスタイルを読みこみ章立てを修正します. 利用可能 なスタイルはnum, alpha, aster, equal-sign です.

bhl-comment-region Function
現在の領域をコメント化します. シンボル引数があればコメントを解除します. デフォルトでは<C-c ;>にバインドされています.

bhl-hide-comment Function
コメントを不可視にします. シンボル引数があれば可視化します.

bhl-compose-mail Function
現在のバッファをbhl2txtでTXT化しメールドラフトに出力します. デフォルトでは<C-c C-x m>にバインドされています. このコマンドはポッ プアップメニューでも利用可能です.

bhl-view-log Function
最後の変換のログを一時バッファに表示します.

bhl-update-toc Function
章立ての番号を更新します. デフォルトでは<C-c M-t>にバインドされて います.

bhl-submit-but-report Function
バグレポートをメールで送ります. これはGNU Emacsでのみ利用可能です.

bhl-show-version Function
bhlモードのバージョン番号を表示します. デフォルトでは <C-c C-v>にバインドされています.

bhl-texi-toggle-accents Function
Texinfoバッファでアクセントをトグルします. アクセントを使っている場合, この関数をbhl-after-texi-conversion-hookに加えておくとよいでしょ う.


Node: オプション, Next: , Previous: コマンドとキーバインド, Up: Top

オプション

You can change the value of each option via M-x customize-group RET bhl RET or via Customize BHL in the bhl menu.


Node: グローバルオプション, Next: , Previous: オプション, Up: オプション

グローバルオプション

bhl-mode-hook User Option
Hook run while in bhl mode. If you are under GNU Emacs, it could be useful to add footnote-mode, since bhl converts footnotes.

bhl-after-conversion-hook User Option
Hook run at the very end of a conversion. The default value is bhl-initialize-properties. If you remove this function, the conversion properties of the last converted buffer will be the default conversion properties for the next converted buffer - which may not be what tou really want.

bhl-autoguess-style-flag User Option
If non-nil, autoguess the sectioning style. When you find a file, BHL tries to guess its sectioning style and sets the value of `bhl-sectioning-default-style' to the value of the file's style.

The default value of bhl-autoguess-style-flag is nil.

bhl-sectioning-default-style User Option
Define the style for the titles of sections, subsections and subsubsections. The five available styles are: numerical (num), alphabetical (alpha), asterisks (aster), equal-signs (equal-signs) and your own style (my). See .

If you want to use your own style, you have to define bhl-my-sectioning-regexp-list. In this case, bhl-update-toc is not available anymore.

bhl-my-sectioning-regexp-list User Option
A list of regular expressions that match the different levels of sectioning. They respectively match the prefix of a section's, subsection's and subsubsection's title. Since the titles of the sections are always put at the beginning of the line, you don't have to insert a ^ in these regular expressions.

The default value of bhl-my-sectioning-regexp-list is the value of bhl-my-sectioning-regexp-list, which corresponds to the numerical style (num)..

bhl-verbatim-ignore User Option
A list of syntactic elements that shouldn't be converted when found inside a verbatim environment. The default value of this variable is (tag comment list description table url wikiname images special-char tex-label footnote quote).

bhl-ignored-regexps User Option
A list of regexps. Each line matching a regexp within this list is automatically killed before any conversion.

bhl-i18n-conventions User Option
The car of this variable is a language specification among english, french and german. bhl will follows conventions according to the chosen language.

If the second element if t, bhl follows conventions concerning the punctuation, as defined in bhl-xx-punctuation (where xx is en, fr or de).

If the third element if t, bhl follows conventions concerning the quotation marks, as defined in bhl-xx-quotation-marks.

If the fourth element if t, bhl follows conventions concerning special characters, as defined in bhl-xx-special-chars.

bhl-browse-url-function User Option
A function for calling your favorite browser. The default value is browse-url.


Node: BHL to HTML, Next: , Previous: グローバルオプション, Up: オプション

BHL to HTML

bhl-after-html-conversion-hook User Option
Hook run after the HTML conversion.

bhl2html-properties-list User Option
The list of properties relevant for the bhl2html conversion. See 変換機能. Don't modifiy this variable manually. Use M-x customize instead.

bhl-html-conversions-list User Option
A list of conversions to perform with bhl2html. Each element of this list is boolean. Don't edit this option manually, use M-x customize instead.

bhl-html-meta-alist User Option
A list of META tags to be inserted in the header of HTML output. Each element is divided into two elements: the first one indicates the name of the META tag, the second one indicates the content of the META tag.
'((``author'' . ``you''))
<META name="author" content="you">

bhl-html-link-alist User Option
A list of LINK tags to be inserted in the header of HTML output. Each element is divided into two elements: the first one indicates the rel of the LINK tag, the second one indicates the href of the LINK tag.
'((``generator-home . ``http://www.nongnu.org/bhl))
<LINK rel="generator-home" href="http://www.nongnu.org/bhl">

bhl-html-doctype User Option
The document type description of the HTML output. The default value is: <!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">.

bhl-html-content-type User Option
The content type description of the HTML output. The default value is: <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1>".

bhl-html-default-style User Option
The style to be inserted into the header (<HEAD>...</HEAD>) of the HTML output.

bhl-html-title-tags User Option
A list defining the opening and closing tags of the HTML title.

bhl-html-subtitle-tags User Option
A list defining the opening and closing tags of the HTML subtitle.

bhl-html-para-align User Option
How bhl aligns each paragraph of the HTML output. The default value is none.

bhl-html-img-align User Option
Image alignment. The default value is center.

bhl-html-list-item-is-para-flag User Option
Non-nil means that list items are paragraphs into the HTML output.


Node: BHL to LaTeX, Next: , Previous: BHL to HTML, Up: オプション

BHL to LaTeX

bhl-after-latex-conversion-hook User Option
Hook run after the LaTeX conversion.

bhl2latex-properties-list User Option
The list of properties relevant for the bhl2latex conversion. See 変換機能. Don't modifiy this variable manually. Use M-x customize instead.

bhl-latex-conversions-list User Option
A list of conversions to perform with bhl2latex. Each element of this list is boolean. Don't edit this option manually, use M-x customize instead.

bhl-latex-packages-alist User Option
A list of packages to be included in the LaTeX header. Each element is divided into two elements: the first one indicates the name of the packages, the second one indicates the options of the package.
'((``inputenc'' . ``latin1''))
\usepackage[latin1]{inputenc}.

bhl-latex-default-class User Option
The default class of document for the LaTeX output. The default value is article.

bhl-latex-default-class-options User Option
The default options passed to the \documentclass{...} command. The default value is 12pt.


Node: BHL to Texinfo, Next: , Previous: BHL to LaTeX, Up: オプション

BHL to Texinfo

bhl-texi-conversion-hook User Option
Hook run after the Texinfo conversion. The default value is (texinfo-every-node-update bhl-texi-make-menu), so that the output file is ready for compilation. If you are using accents, you may add bhl-texi-toggle-accents.

bhl2texi-properties-list User Option
The list of properties relevant for the bhl2texinfo conversion. See 変換機能. Don't modifiy this variable manually. Use M-x customize instead.

bhl-texi-conversions-list User Option
A list of conversions to perform with bhl2texinfo. Each element of this list is boolean. Don't edit this option manually, use M-x customize instead.

bhl-texi-setchapternewpage-flag User Option
Set the @setchapternewpage value. The default value is on.

bhl-texi-titlepage-style User Option
The style of the title page. The classical titlepage is the one mostly used by the GNU manuals. The centered titlepage centers the title and other informations on the front page.

bhl-texi-centered-minipage-tag User Option
The default tag used for the conversion of centered minipages. See 環境.

bhl-texi-table-tag User Option
The tag for the conversion of tables in the Texinfo output. The default value is verbatim. If you want to skip tables when converting into Texinfo format, you should set this to ignore.


Node: BHL to SGML, Next: , Previous: BHL to Texinfo, Up: オプション

BHL to SGML

bhl-after-sgml-conversion-hook User Option
Hook run after the SGML conversion.

bhl2sgml-properties-list User Option
The list of properties relevant for the bhl2hsgml conversion. See 変換機能. Don't modifiy this variable manually. Use M-x customize instead.

bhl-sgml-conversions-list User Option
A list of conversions to perform with bhl2sgml. Each element of this list is boolean. Don't edit this option manually, use M-x customize instead.

bhl-sgml-list-item-is-para-flag User Option
Non-nil means that list items are paragraphs into the SGML output.

bhl-sgml-minipage-tag User Option
The default tag used for the conversion of minipages. See 環境.


Node: BHL to TXT, Next: , Previous: BHL to SGML, Up: オプション

BHL to TXT

bhl-after-txt-conversion-hook User Option
Hook run after the TXT conversion.

bhl2txt-properties-list User Option
The list of properties relevant for the bhl2txt conversion. See 変換機能. Don't modifiy this variable manually. Use M-x customize instead.

bhl-txt-conversions-list User Option
A list of conversions to perform with bhl2txt. Each element of this list is boolean. Don't edit this option manually, use M-x customize instead.


Node: Wiki options, Next: , Previous: BHL to TXT, Up: オプション

Wiki options

bhl-is-a-local-wiki-flag User Option
If non-nil, this means that bhl is a local wiki. You can toggle this variable from the menu.

bhl-default-wikifiles-extension User Option
The default extension for the Wiki file names. The default value for this options is .bhl. For example, when following a WikiName named MyWikiName, a new file named MyWikiName.bhl will be found.

bhl-downcase-wikifiles-names-flag User Option
If non-nil, following a WikiName named MyWikiName will find a file named mywikiname.bhl, which is the downcased value of the WikiName. Otherwise, it will find a file named MyWikiName.bhl.

bhl-non-wiki-names-list User Option
A list of mixed-case strings that should not be considered as WikiNames. For example: "OpenOffice".


Node: オプション of the toc, Next: , Previous: Wiki options, Up: オプション

オプション of the toc

bhl-default-toc-depth User Option
The default doc depth. The default value is three.

bhl-toc-location User Option
Indicates the toc location. This variable may have three different values: top (just after the title), bottom (just before the end) or point (at point).

bhl-intro-toc User Option
A string to insert before the table of contents in the source file.

bhl-end-toc User Option
A string to insert after the table of contents in the bhl files.


Node: 表の変換, Previous: オプション of the toc, Up: オプション

表の変換

bhl-table-location User Option
Where to put the table. The default value is htbp, i.e. here top bottom page. This variable does not concern the HTML output.

bhl-table-align User Option
The table alignment. The default value is center.

bhl-table-cell-align User Option
The cell alignment inside a table. The default value is center.


Node: , Next: , Previous: オプション, Up: Top

     Just ANother Example
     
     --- Table of contents
     
      1. Fonts and environments
        1.1. Using font beautifiers
        1.2. Environments
      2. Converting lists
        2.1. Ordered and non-ordered lists
        2.2. Description lists
        2.3. Nested lists
      3. Converting tables
      4. Browsing your document
        4.1. The table of content
        4.2. The list of links
      5. Contact
     
     --- End of the table of contents
     
     
     # This is the last example of a BHL file converted into HTML, LaTeX
     # and SGML formats.  This example shows you the various syntaxic rules
     # that BHL handles.  For further details, please refer to the manual
     # of the BHL mode. http://www.nongnu.org/bhl
     
     # These lines are comments.
     # You can comment a region with `bhl-comment-region'
     
     # The few next lines are specification lines. They
     # indicate the properties of the different conversions.
     
     #!author!Bastien Guerry
     #!date!It is %Hh%M on %d/%m/%Y.
     
     #!html!toc:nocaption:noprefix:noi18n
     #!sgml!caption
     #!latex!toc:caption:prefix:i18n
     #!latex-options!11pt:a4paper
     #!latex-packages!inputenc[latin1]
     
     This document is a small example of what BHL can do. For further
     details, please read the full documentation on
     http://www.nongnu.org/bhl.
     
     #!language!fr
     #!encoding!iso-8859-1
     #!texi-style!centered
     
     1. Fonts and environments
     
     1.1. Using font beautifiers
     
     Here is a list of the *different* fonts beautifiers that you can
     use inside the BHL mode.
     
     	Bold -- *one or two words.*
     	Emphasis -- _one or two words._
     	Truetype -- ==one or two words.==
     	Underline -- __one or two words.__
     	Bold italic -- _*one or two words*_.
     
     If want to insert an asterisk, you can use the escape character like
     \*this\* or like \_this\_. This is also available for \#comments.
     
     1.2. Environments
     
     BHL handles two specific environments: verbatim and minipage.
     
     Verbatim:
     
     --
     Here is a *part* of text that			will be displayed
     in 	verbatim	                         #a comment
     
     Please remark[1] that this environment has no syntactic rule, except
     you modify the variable bhl-verbatim-ignore.
     
     	* list are ignored
     
     And so do...
     
     	Item -- descriptions.
     
     And so do tables!
     
     | A | B |
     | C | D |
     
     And so do quote environments:
     
         blahblahblah
         blahblahblah
     
     Etc.
     --
     
     
     A minipage:
     
     %%%[12cm]
     This minipage (12cm) is centered without border.
     %%%
     
     <%%[10cm]
     This minipage (10cm) is put on the left without border.
     %%%
     
     >-%[8cm]
     This minipage (8cm) is put on the right with border.
     %%%
     
     A horizontal rule:
     
     ----[3cm]
     
     Another horizontal rule, put on the right:
     
     >---[3cm]
     
     2. Converting lists
     
     2.1. Ordered and non-ordered lists
     
     *Ordered* lists begin with three *whitespaces*, a list separator (\*, - or o)
     and another whitespace.
     
     	* Like this;
     	* or like that.
     
     2.2. Description lists
     
     Description lists are treated like other lists, except that they
     cannot be nested in other lists.
     
     A description item consists in tabs, a term to be defined, a
     whitespace, two dashes and another whitespace.
     
     	Term -- a definition of the terme.
     	Definition -- another definition.
     
     2.3. Nested lists
     
     	* Lists can be nested inside other lists.
     
     		* You just need to add three whitespaces more.
     		* These to items will be nested into two other items. sldkfj
     		  lskdjf lmmlkm
     
     			1. Three levels of nested lists are supported.
     			2. Four levels won't be very useful...
     
     	* Blank lines are not mandatory between items.
     
     3. Converting tables
     
     A WikiName.
     
     Here is a table:
     
     | @A header here@                |  @ And here@      |
     | Free softxware                 |  blabla@free.fr     |
     | With Emacs                     |  Without Emacs        |
     |  bastien                       |  Without Emacs        |
     
     A table line begins and ends with a "|".  Other "|" inside a line of
     the table separate two cells.  Arobases around the content of a cell
     mean that this cell is a header of the table.
     
     4. Browsing your document
     
     4.1. The table of content
     
     H馼馼. You can _browse_ the table of content, _insert_ it inside your
     document, and _update_ the numbering of sections.
     
     The default key binding for browsing the table of content is C-c
     C-t.
     
     You can also choose the style of sectioning and swith from one style
     to another. The style of this document is set to *num* (which is the
     default style) by the specification line above.
     
     4.2. The list of links
     
     The default key binding for browsing the list of links is C-c
     C-/. This creates a new buffer with a list of URLs or wikinames that
     you can follow.
     
     5. Contact
     
     Please feel free to submit bugs or ideas:
     [[mailto:bzgNOSPAM@altern.org][BHL contact]].
     
     Footnotes:
     [1]  A note.
     


Node: 索引, Previous: , Up: Top

索引

Thanks

Thanks to Serge Basterot, Jeffrey Borlik, Christoph Conrad, Tim Cross, Mario Domg‡rgen, Thomas Gehrlein, Jacob Hamacher, Sylvain Holtzer, Dan P. Katz, Mario Lang, Massimiliano Mirra, Julie Neveux, John Stauffer, Thierry Stoehr and Marco Testi.

Table of Contents