.css-Generierung aus der .cls-Datei, nicht aus der .cfg-Datei

.css-Generierung aus der .cls-Datei, nicht aus der .cfg-Datei

Ist es möglich, die CSS-Datei auf Grundlage der angepassten CLS-Datei und nicht aus der Konfigurationsdatei (also \Css {}) zu generieren? Beispielsweise wurde das Umgebungszitat in meiner Klassendatei wie folgt definiert:

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

und ich verwende den Befehl htlatex test "xhtml,fn-in" "-cunihft" "-cvalidate -p"zur HTML-Konvertierung und die konvertierte HTML-Ausgabe lautet:

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

und die CSS-Ausgabe lautet:

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

bedeutet, dass die CSS-Ausgabe tatsächlich nicht aus der Klassendatei (.cls) generiert wird, sondern aus der Konfigurationsdatei (.cfg, die für tex4ht verwendet wird).

Nun ist die erwartete Ausgabe in CSS (für „Zitat“):

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

Wie kann ich das erreichen? Bitte schlagen Sie vor ...

Antwort1

Sie können .4hteine Datei für Ihre Klasse erstellen. Angenommen, Sie haben eine Klasse 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

Die Konfigurationsdatei .4htlautet myclass.4ht:

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

\endinput

Die Konfiguration für quotedie Umgebung deaktiviert nur die Schriftartheuristik innerhalb der Umgebung, um diese <span class="ptmr8t-x-x-90">Elemente loszuwerden. Die Standardkonfiguration für quotein tex4htfügt <div class="quote">automatisch um die Umgebung herum hinzu, sodass Sie dies nicht manuell tun müssen. Im \CssBefehl müssen Sie das %Zeichen mit maskieren \%.

Die folgende Beispieldatei:

\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}

erzeugt dieses Ergebnis:

Bildbeschreibung hier eingeben

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

Antwort2

Ich habe Andrews Antwort gesehen, die der Anforderung, die ich gestellt habe, ähnelt, und der Link istKönnen wir die \Configure-Codierung in der CFG-Datei in tex4ht vereinfachen?Vielen Dank an alle, die es versucht haben ...

verwandte Informationen