В преамбуле моего документа 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 вполне адекватен.