LyX: LaTeX コマンド内のテキストが XHTML にエクスポートされない

LyX: LaTeX コマンド内のテキストが XHTML にエクスポートされない

LyX ドキュメントのプリアンブルに次の LaTeX コマンドがあります:

  \newcommand{\scenebreak}{%
    \パー
    \vspace{\baselineskip}
    \h埋め込む
    {\大きい * * *}
    \h埋め込む
    \vspace{\baselineskip}
    \パー}

おそらくやり方が間違っているのでしょう。PDF エクスポートでは、シーン間の区切りとして、上下に少しの vspace がある中央の 3 つの大きなアスタリスクが希望どおりに表示されます。

XHTML エクスポートでは、何も起こりません。まあ、空の段落があると思います。プレーン テキスト エクスポートでは、余分な空白行があるだけです。

これは可能ですか、それとも毎回自分でアスタリスクを入力しなければなりませんか?

私は Calibre のソースとして XHTML エクスポートを使用して MOBI ファイルと EPUB ファイルを作成しているので、その目的をより良く満たす回答にも投票します。

答え1

その理由は、LyXHTMLを使用する場合、LyXは直接HTMLにエクスポートするためです。ERTをHTMLにエクスポートすることはできません。LyXはLaTeXをHTMLに変換しませんたとえば、LyX は太字のテキストが何であるかを認識し (ERT ではなく LyX の仕組みを使用している場合)、出力が LaTeX の場合はエクスポートし\textbf、HTML の場合はエクスポートします<b>。追加しているカスタム LaTeX は ERT に何が含まれているか LyX にはわかりません。LyX はそれを解析しません。出力するだけです。ただし、LyXHTML の場合は出力しても意味がありません。

答え2

LyXにバグを見つけたのかもしれない。報告を検討できるバグかもしれないと思うので何もないLyX で Evil Red テキストを挿入すると、LyXHTML によってエクスポートされます。

ただし、毎回アスタリスクを入力する必要はありません。LyX には、ERT の使用を回避するために使用できる非常に強力なショートカット モードがあります。

Tools > Preferences > Editing > Shortcuts > New関数として挿入する

command-sequence paragraph-break; inset-insert vspace medskip; paragraph-params \align center; font-size larger; math-insert * * *; char-forward; inset-insert vspace medskip; paragraph-break; paragraph-params \align default

これにより、探しているものに非常に近いものが挿入されますが、アスタリスクは数式モードであり、スペースは ですmedskip。プレーンテキストのアスタリスクを挿入する方法がすぐにはわかりませんでしたが、そのためには を確認してくださいHelp > LyX Functions

バグが修正されるまでこれで十分だと思います :)

答え3

部分的な回避策として、これをドキュメント > 設定 > ローカルレイアウトに挿入します。

Style Scenebreak

  Font
    Size Large
  EndFont

  Align center
  LatexType paragraph

  TopSep 1.5
  BottomSep 1.5

  NextNoIndent 1

  HTMLStyle
    div.scenebreak {
    font-size: 150%;
    text-align: center;
    }
  EndHTMLStyle

End

これにより、「Scenebreak」スタイルが作成され、そこにアスタリスクなどを入力するだけです。LaTeX で適切に出力されるようにするには、もう少し作業が必要ですが、XHTML 出力は適切です。

関連情報