Tl;dr;
docbook でアンカーを作成する正しい方法は何ですか? ライターでアンカーを表示する方法はありますか?
バックグラウンド
open office
以前は単一のドキュメントにあったドキュメントを小さなドキュメントに分割しようとしていasciidoc
ます。これらのドキュメントは両方ともメインのオープン オフィス ドキュメントに含まれ、html
&のいずれかまたは両方に変換されますpdf
。私はこれを主に機能させています。私はasciidoctor
htmlを作成するために使用します。asciidoctor-pdf
pdf と asciidoctor の組み合わせをpandoc
作成し、.odt ファイルを作成します。のpython実装も試しasciidoc
ましたが、インターフェースが使いにくいことがわかりました。
asciidoc と odt の間のラウンド トリップは明らかに不可能です。これは一種の融合であり、マスター文書はワープロ処理されていますが、独立して作成できるコンテンツの一部が含まれています (man ページを考えてみてください - 実際、これはいくつかの使用例の 1 つです)。
asciidoc から html:
asciidoctor -b html5 foo.adoc -o foo.html
asciidoc から pdf:
asciidoctor-pdf -b pdf foo.adoc -o foo.pdf
asciidoc から odt
asciidoctor -b docbook foo.adoc -o foo.docbook
pandoc --base-header-level=3 -V date:"" -V title:"" -f docbook foo.docbook -o foo.odt
pandoc では、日付とタイトルを無効にし、必要に応じてヘッダー レベルを設定して、追加の複雑さとしてセクションを挿入する必要があります。
insert section
Inside Open Office を使用して、結果の .odt をメイン ドキュメントに挿入します。h1境界でファイルを自動的に分割せずにマスタードキュメントを作成する方法が見つからなかったため、メインドキュメントはマスタードキュメントではないことに注意してください。
このセットアップで解決すべき主な問題が 2 つあります。asciidoc ドキュメントに相互参照として見出しを追加し、アルファベット順のインデックスにもそれらのエントリを作成したいと思います (実際には最初の見出しで十分です)。これを行う方法はありますか?asciidoc のインデックス マーカーによって、.odt ファイルにエントリが作成されません。
「挿入参照/見出し」を使用し、一意の名前のヘッダーを参照して、挿入されたセクションのコンテンツを相互参照できます。ただし、「すべて更新」を使用するたびに、これらの相互参照は無効になります。「エラー: 参照元が見つかりません」と表示されます。
[別のメモとして、壊れた相互参照を自動的に見つける方法も欲しい]
私は現在 libreoffice を使用しています - バージョン: 4.3.7.2
バージョンやフレーバー (つまり、apache) の動作が他のものよりも優れている場合は、切り替えることに反対しません。
答えがチェーンの asciidoc または docbook の部分にあるかどうかはわかりません。挿入されたセクションの先頭 (.adoc/docbook ファイルの先頭) にインデックス エントリを自動的に挿入する回答を受け入れます。
また、ツールチェーンを機能するものに変更することにもオープンです。たとえば、私は asciidoc-odt バックエンドを試してみましたが、https : //github.com/dagwieers/asciidoc-odf/issues/47 に違反してしまい、自信が持てなくなりました。asciidoc-odt を使用すると、中間の docbook ファイルを作成する必要がなくなります。ただし、まだアンカーを表示できません。
アンカーを作成するマクロを取得できますが、現時点では、コマンド ラインからマクロを実行する方法がわかりません。