Генерация .css из файла .cls, а не из файла .cfg

Генерация .css из файла .cls, а не из файла .cfg

Возможно ли сгенерировать файл .css на основе настроенного файла .cls, а не из файла конфигурации (т. е. \Css {}). Например, цитата окружения была определена в моем файле класса как:

\newenvironment{quote}%
               {\list{}{\topsep9\p@\leftmargin\z@\rightmargin\z@}%
                \small\fontseries{b}\selectfont%
                \item\relax\}%
               {\endlist}%

и я использую команду htlatex test "xhtml,fn-in" "-cunihft" "-cvalidate -p"для преобразования HTML, и преобразованный вывод HTML получился следующим:

                    <p class="indent" >
                    <span 
class="ptmr8t-x-x-90">Collusion  is  when  firms  use  history-dependent  strategies  to  sustain</span></p>

и вывод CSS:

.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;}

означает, что вывод css на самом деле генерируется не из файла класса (.cls), а из файла конфигурации (.cfg, который используется для tex4ht)

Теперь ожидаемый вывод в CSS (для «цитаты») будет следующим:

.quote {font-size:80%; font-weight: bold;}

Как мне этого добиться? Пожалуйста, предложите...

решение1

Вы можете создать .4htфайл для вашего класса. Скажем, если у вас есть класс myclass.cls:

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{myclass}[2017/07/11 Example LaTeX class]
\LoadClass[]{article}
\renewenvironment{quote}%
               {\list{}{\topsep9\p@\leftmargin\z@\rightmargin\z@}%
                \small\fontseries{b}\selectfont%
                \item\relax}%
               {\endlist}% 

\endinput

Файл конфигурации .4htбудет следующим myclass.4ht:

\ConfigureEnv{quote}{\NoFonts}{\EndNoFonts}{}{}
\Css{.quote{font-size:80\%; font-weight: bold;}}

\endinput

Конфигурация для quoteсреды отключает только эвристику шрифтов внутри среды, чтобы избавиться от этих <span class="ptmr8t-x-x-90">элементов. Конфигурация по умолчанию для quoteв автоматически tex4htдобавит <div class="quote">окружение, поэтому вам не нужно делать это вручную. В \Cssкоманде вы должны экранировать %символ с помощью \%.

Следующий пример файла:

\documentclass{myclass}

\begin{document}
\section{Do common commands work?}

Yes, \textbf{they} \textit{do}\footnote{even footnotes?}.
\begin{quote}
  Collusion  is  when  firms  use  history-dependent  strategies  to  sustain
\end{quote}
\end{document}

дает такой результат:

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

<div class="quote">
<!--l. 8--><p class="noindent" >Collusion is when firms use history-dependent strategies to sustain</p></div>

решение2

Я видел ответ Эндрю, который похож на то, что я просил, и ссылка естьМожем ли мы упростить кодирование \Configure в файле CFG в tex4ht?Спасибо всем, кто попробовал...

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