
Angesichts dieses MWE
\documentclass[11pt]{book}
\usepackage{xcolor}
\usepackage{pifont} %http : // ctan.org/pkg/pifont
\newcommand{\cmark}{\textcolor{green!80!black}{\ding{51}}}
\newcommand{\xmark}{\textcolor{red}{\ding{55}}}
\begin{document}
\cmark \underline{A}
\cmark \underline{B}
\end{document}
Das Kompilieren mit lualatex ergibt die erwartete Ausgabe
Aber die Verwendung make4ht -ulm default -a debug report.tex "mathjax,htm"
gibt
Es gibt diese Warnung
l.10 --- TeX4ht warning --- missing \Configure{HColor}{green!80!black}{...} (in
LaTeX: \\color@green!80!black ) ---
Unsupported font pzdr
Allerdings schlägt dann immer der erste Eintrag fehl, jede weitere Verwendung \cmark
funktioniert jedoch einwandfrei.
Hier ist das Roh-HTML
<!DOCTYPE html>
<html lang='en-US' xml:lang='en-US'>
<head><title></title>
<meta charset='utf-8' />
<meta content='TeX4ht (https://tug.org/tex4ht/)' name='generator' />
<meta content='width=device-width,initial-scale=1' name='viewport' />
<link href='report.css' rel='stylesheet' type='text/css' />
<meta content='report.tex' name='src' />
<script>window.MathJax = { tex: { tags: "ams", }, }; </script>
<script async='async' id='MathJax-script' src='https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js' type='text/javascript'></script>
</head><body>
<!-- l. 10 --><p class='noindent'><span id='textcolor1'>80!black!//<span class='pzdr-x-x-109'>✓</span></span><span class='underline'>A</span>
</p><!-- l. 12 --><p class='indent'> <span id='textcolor2'><span class='pzdr-x-x-109'>✓</span></span><span class='underline'>B</span>
</p>
</body>
</html>
Dies wurde im Brave-Browser und in Firefox überprüft.
Warum passiert das nur beim ersten und wie kann man es korrigieren? Wie behebt man \Configure{HColor}
das?
Aktualisieren
Ich habe festgestellt, dass es beim Wechsel \newcommand{\cmark}{\textcolor{green!80!black}{\ding{51}}}
zu\newcommand{\cmark}{\textcolor{green}{\ding{51}}}
Es sieht also so aus, als ob Farbmischung in tex4ht nicht gut unterstützt wird. Keine große Sache. Ich werde es vorerst einfach \textcolor{green}
in tex4ht und in PDF verwenden .\textcolor{green!80!black}
TL 2021
Antwort1
Dies scheint ein Fehler bei der Unterstützung von Farbspezifikationen in Form von green!80!black
in TeX4ht zu sein. Ich habe herausgefunden, wo die Farbspezifikation in das Dokument kommt, und es behoben. Versuchen Sie diese Version von xcolor.4ht
:
% xcolor.4ht (2019-04-09-10:06), generated from tex4ht-4ht.tex
% Copyright 2007-2009 Eitan M. Gurari
% Copyright 2009-2019 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
% is the TeX4ht Project <http://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
\immediate\write-1{version 2019-04-09-10:06}
\input color.4ht
\def\rowc@l@rs[#1]#2#3#4%
{\global\rownum=\z@
\global\@rowcolorstrue
\@ifxempty{#3}%
{\def\@oddrowcolor{\@norowcolor}}%
{\def\@oddrowcolor{\a:rowcolors{#3}%
\gdef\CT@row@color{\CT@color{#3}}}}%
\@ifxempty{#4}%
{\def\@evenrowcolor{\@norowcolor}}%
{\def\@evenrowcolor{\a:rowcolors{#4}%
\gdef\CT@row@color{\CT@color{#4}}}}%
\if@rowcmd
\def\@rowcolors
{#1\if@rowcolors
\o:noalign:{\relax\ifnum\rownum<#2\@norowcolor\else
\ifodd\rownum\@oddrowcolor\else\@evenrowcolor\fi\fi}%
\fi}%
\else
\def\@rowcolors
{\if@rowcolors
\ifnum\rownum<#2\o:noalign:{\@norowcolor}\else
#1\o:noalign:{\ifodd\rownum\@oddrowcolor\else\@evenrowcolor\fi}\fi
\fi}%
\fi
\CT@everycr{\@rowc@lors\the\everycr}%
\ignorespaces}
\NewConfigure{rowcolors}{1}
\def\@rowc@lors{\o:noalign:{\global\advance\rownum\@ne}\@rowcolors}
\def\showrowcolors{\o:noalign:{\global\@rowcolorstrue}\@rowcolors}
\def\hiderowcolors{\o:noalign:{\global\@rowcolorsfalse\@norowcolor}}
\def\:temp#1#2#3{{\set@color}}
\HLet\color@block\:temp
\def\:temp#1#2#3{}
\HLet\boxframe\:temp
\def\strip:fin:excl#1!{#1}
\expandafter\def\csname get!HColor\endcsname#1!#2//{%
\def\current:color:name{#1\if!#2!\else!\strip:fin:excl#2\fi}%
\if\relax#2\relax
%\expandafter\ifx \csname HColor!#1\endcsname\relax
\let\HColor=\relax
\expandafter\ifx \csname\string\color @#1\endcsname \relax\else
\expandafter\ifx \csname colortyp:\endcsname\relax \else
\extractcolorspec{#1\if!#2!\else!\strip:fin:excl#2\fi}\tmp:color%
\expandafter\convertcolorspec\tmp:color{HTML}\tmp:color%
\def\HColor{\#\tmp:color}%
\Configure{HColor}{\current:color:name}{\HColor}%
\csname colortyp:\expandafter\expandafter\expandafter\endcsname
\csname\string\color @#1\expandafter\endcsname
\space .!//%
\fi \fi
%
\else
\ifcsname HColor!#1\endcsname
\csname HColor!#1\endcsname #2//%
\fi
\fi
}
\expandafter\def\csname c:HColor!gray:\endcsname{%
\expandafter\def\csname HColor!gray\endcsname##1!##2//}
\Configure{HColor!gray}{\Configure{HColor}{}{}}
\expandafter\def\csname c:HColor!rgb:\endcsname{%
\expandafter\def\csname HColor!rgb\endcsname##1,##2,##3!##4//}
\Configure{HColor!rgb}{\Configure{HColor}{}{}}
\expandafter\def\csname c:HColor!cmyk:\endcsname{%
\expandafter\def\csname HColor!cmyk\endcsname##1,##2,##3,##4!##5//}
\Configure{HColor!cmyk}{\Configure{HColor}{}{}}
\def\get:xcolorcss#1#2{%
\expandafter\extractcolorspec\expandafter{#1}{\tsf:color}%
\expandafter\convertcolorspec\tsf:color{HTML}\tsf:color%
\edef#2{\#\tsf:color}%
}
\Hinput{xcolor}
\endinput
Die Korrektur war im \get!HColor
Makro notwendig, da es eine Steuersequenz mit Farbnamen aufrief, ohne zu prüfen, ob dieser existiert. Da er für diese Art von Spezifikation nicht existiert, landet der Parameter für diese Steuersequenz im Dokument, anstatt verschluckt zu werden.
Dies ist das Ergebnis: