LyX: текст внутри команды LaTeX не экспортируется в XHTML

LyX: текст внутри команды LaTeX не экспортируется в XHTML

В преамбуле моего документа LyX есть следующая команда LaTeX:

  \newcommand{\scenebreak}{%
    \пар
    \vspace{\baselineskip}
    \hfill
    {\Большой * * *}
    \hfill
    \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, экспортируемый 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 вполне адекватен.

Связанный контент