LyX:LaTeX 指令中的文字未以 XHTML 格式匯出

LyX:LaTeX 指令中的文字未以 XHTML 格式匯出

我的 LyX 文件的序言中有這個 LaTeX 命令:

  \newcommand{\scenebreak}{%
    \par
    \vspace{\baselineskip}
    \h 填充
    {\大的 * * *}
    \h 填充
    \vspace{\baselineskip}
    \par}

我可能做錯了。在 PDF 匯出中,我得到了我想要的:3 個居中的大星號,上面和下面有一些 vspace,用於場景之間的休息。

在 XHTML 匯出中:什麼都沒有。嗯,我想,這是一個空段落。純文字匯出時,只需要多一空行。

可以這樣做嗎,還是我每次都必須自己輸入這些星號?

我使用 XHTML 匯出作為 Calibre 的來源來製作 MOBI 和 EPUB 文件,因此我也會以更好的方式投票選出滿足該目標的答案。

答案1

原因是使用 LyXHTML 時,LyX 直接匯出為 HTML。它無法將 ERT 匯出為 HTML,因為LyX 不會將 LaTeX 轉換為 HTML。例如,LyX 知道什麼是粗體文字(如果您使用 LyX 機器而不是 ERT),如果輸出是 LaTeX,則它會匯出\textbf,如果輸出是 HTML,則它會導出<b>。 LyX 不知道您的 ERT 中有什麼,因為那是您要新增的自訂 LaTeX。 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 輸出就足夠了。

相關內容