htlatex не работает с пользовательским documentclass: Ошибка Ошибка LaTeX: Файл `email' не найден

htlatex не работает с пользовательским documentclass: Ошибка Ошибка LaTeX: Файл `email' не найден

Я создал индивидуальный класс для персональной программы обучения. Его можно найти на

https://github.com/igormorgado/elegantcv

Он прекрасно компилируется с pdlatex, XeTeX и LuaLaTeX, но попытка сборки с htlatexего помощью завершается ошибкой:

Error LaTeX Error: File 'email' not found

Я не знаю достаточно, чтобы отладить или создать MWE, который выдает ту же ошибку (я пробовал). Удаление всех ссылок на мой пользовательский класс устраняет ошибку, но это не настоящий MWE для самой проблемы.

Я спрашиваю:

  1. Как правильно выполнить отладку, чтобы иметь возможность понять ошибку и правильно указать на проблему (и, возможно, исправить ее самостоятельно);

  2. Как создать безупречно написанный, пользовательский класс документа, который позволит мне работать с htlatex и не выдавать предупреждений или ошибок.

  3. Как решить эту проблему и создать HTML-версию моего класса Latex.

Чтобы воспроизвести проблему, просто (предполагается, что Unix)

git clone https://github.com/igormorgado/elegantcv
cd elegantcv
make html

PS: Я знаю, что создание внешних ссылок не лучший способ решения вопроса SO, но не лучше ли вставить весь класс сюда? Если так. Я могу это сделать.

решение1

У меня есть еще одна ошибка с файлом примера в вашем репозитории, она была вызвана таблицей. Проблема в том, что Memoir, который вы используете в качестве базового класса, определяет \cmidruleи другие команды из пакета Booktabs напрямую, вместо того, чтобы требовать пакет. Из-за этого tex4htне удается загрузить исправленные версии этих команд, и возникает ошибка компиляции. Я исправил это в исходниках tex4ht, так что в будущем этого не должно произойти. Проблема в том, что TeX Live в настоящее время заморожен, поэтому исправление будет включено только в TL 2019.

В то же время вы можете использовать следующий файл конфигурации elegantcv.4ht:

\input booktabs.4ht
\Hinput{elegantcv}
\endinput

Эту строку \input booktabs.4htнеобходимо удалить после выпуска TL2019, поскольку она будет конфликтовать с кодом в memoir.4ht.

В файл можно поместить и другие вещи elegantcv.4ht, например, переопределить макросы из вашего класса для вставки HTML-кода. Вы можете поместить теги прямо здесь или, лучше, в файле конфигурации. Смотрите мойучебник для получения подробной информации. Я бы обязательно добавил немного стилей CSS.

Вот как это выглядит из коробки:

введите описание изображения здесь

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