我在包装中使用了重音字母,lettrine
例如:
\lettrine{É}{lisée} avait vu le pouvoir de Dieu sur la vie d'Élie.
使用luatex
(这是我的常用渲染引擎),它工作正常。但是,当我尝试使用 TeX4HT 从中构建 HTML 时,我得到:
! Missing \endcsname inserted.
<to be read again>
\protect
l.805 \lettrine{É}{lisée}
avait vu le pouvoir de Dieu sur la vie d'Élie.
我在构建时已经添加了这两行htlatex
:
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
我htlatex
跟注:
htlatex sagesse_lulu.tex 'xhtml,charset=utf-8' ' -cunihtf -utf8 -cvalidate'
答案1
这个简单的例子运行时没有错误:
\documentclass{article}
\makeatletter
\@ifpackageloaded{tex4ht}{
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
}{
\usepackage{fontspec}
}
\makeatother
\usepackage[]{lettrine}
\begin{document}
\lettrine{É}{lisée} avait vu le pouvoir de Dieu sur la vie d'Élie. avait vu le pouvoir de Dieu sur la vie d'Élie. avait vu le pouvoir de Dieu sur la vie d'Élie. avait vu le pouvoir de Dieu sur la vie d'Élie.
avait vu le pouvoir de Dieu sur la vie d'Élie. avait vu le pouvoir de Dieu sur la vie d'Élie. avait vu le pouvoir de Dieu sur la vie d'Élie.
avait vu le pouvoir de Dieu sur la vie d'Élie. avait vu le pouvoir de Dieu sur la vie d'Élie. avait vu le pouvoir de Dieu sur la vie d'Élie.
avait vu le pouvoir de Dieu sur la vie d'Élie. avait vu le pouvoir de Dieu sur la vie d'Élie.
\end{document}
但是,输出看起来很糟糕,因为没有tex4ht
配置\lettrine
。简单的配置可以像这样:文件lettrine.4ht
\NewConfigure{lettrine}{4}
\renewcommand\lettrine[2]{%
\leavevmode
\a:lettrine#1\b:lettrine\c:lettrine#2\d:lettrine
}
\Configure{lettrine}{\ifvmode \ShowPar\fi \HCode{<span class="lettrine-init">}}{\Tg</span>}{\Tg<span class="lettrine-line">}{\Tg</span>}
\Css{.lettrine-init{
font-size:2em;
}}
\Css{.lettrine-line{
font-variant:small-caps;
}}
当你使用package时会自动调用此文件lettrine
。
我们用 创建了可配置的钩子\NewConfigure{lettrine}{4}
。这将创建四个钩子,名为\a:lettrine
...\d:lettrine
然后我们重新定义了命令来放置这些钩子。文件的其余部分是标签的默认配置和用于样式的 css 信息。您可以在自定义文件\lettrine
中重新定义它们cfg