組織モードでエクスポートされたhtmlドキュメントのタイトルの新しい行


26

私はorg-modeを使用して内容を文書化し、通常はpdf(latex経由)およびhtmlにエクスポートします。

場合は\\文字がであるエンドラインのPDFおよびHTMLの両方にエクスポートするとき、それは改行文字を強制します。

しかし、htmlにエクスポートするときに、行の間に改行文字を強制する方法を知りたいです。htmlエクスポートでも複数行のタイトルを使用できるように、このソリューションを使用すると便利です。

例:

#+TITLE: First Line of Title \\ Second Line of Title

上記はpdfエクスポートで2行にエクスポートされますが、\\文字はhtmlエクスポートで保持されます(行末にないため)。

複数行のタイトルが両方の形式で正常にエクスポートされるように、タイトルをフォーマットするにはどうすればよいですか?

回答:


36

Orgモード8は、そのようなLaTeX文字を受け入れなくなりました。正しい方法は、エクスポートスニペットをタイトルに埋め込むことです。

#+TITLE: Foo @@latex:\\@@ Bar

したがって、LaTeXとHTMLの両方で改行をエクスポートする場合、コードは次のようになります。

#+TITLE: Foo @@latex:\\@@ @@html:<br>@@ Bar

ソース:https : //lists.gnu.org/archive/html/emacs-orgmode/2014-09/msg00466.html

そのような改行文字をドキュメントの複数の場所に追加する必要がある場合、この冗長@@latex:\\@@ @@html:<br>@@文字列を組織モードに置き換えるMACRO方が適しています。

以下のようなMACRO定義は、ドキュメントの上部または組織ドキュメントに含まれる共通の「org config」ファイルに配置できます。

#+MACRO: NEWLINE @@latex:\\@@ @@html:<br>@@

MACROは、タイトルを以下のようにフォーマットするために使用できます。

#+TITLE: Foo {{{NEWLINE}}} Bar

MACROアプローチを使用する利点は次のとおりです。

  • 組織モード文書は読みやすい
  • 定義を変更し{{{NEWLINE}}}て新しいエクスポート形式をサポートする必要が生じた場合、その変更は1か所で行う必要があります。

例:

#+MACRO: NEWLINE @@latex:\\@@ @@html:<br>@@ @@ascii:|@@

注:@@ascii:|@@ASCIIエクスポートに改行を挿入しません。それは単にパイプ文字配置されます|どこ{{{NEWLINE}}}orgのドキュメントで使用されたが。

最後に、#+SUBTITLEキーワードも役立ちます。


関連する質問:ASCII輸出の改行を伝える方法を知っていますか?@@ascii:\n@@動作しません。
カウシャルモディ14

動作していないようです。これを実装するには機能のリクエストが必要だと思います。
マンコフ14

1
ASCIIの改行が機能しないということですか?それ以外の場合、ソリューションはhtmlおよびpdfエクスポートで機能します。ASCIIの改行がサポートされている場合、NEWLINEマクロを更新するだけです。
カウシャルモディ14

3

不要な副作用がないかどうかは完全にはわかりませんが、次のように動作する可能性があります

(push (cons "\\\\\\\\" "<br />") org-html-special-string-regexps)

LaTeXエクスポーターではないため、特別な文字列展開のリストがHTMLエクスポーターで拡張可能であることは幸運です...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.