我尝试https://ctan.org/pkg/transparent包。与 tex4ht 一起使用时出现错误。相同的代码在 lualatex 和 pdf 中运行正常。
有没有办法让它与 tex4ht 一起工作?这是 MWE
\documentclass[12pt]{book}
\usepackage{graphicx}
\usepackage{transparent}
\begin{document}
some text here
More text here
\transparent{1}\includegraphics[width=0.5\textwidth]{example-image-a}
More text here
More text here
\end{document}
使用编译
make4ht -ulm default -a debug foo2.tex "mathjax,htm,nostyle"
给出
/usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend-dvips.def)
(./foo2.aux) (/usr/local/texlive/2023/texmf-dist/tex/latex/base/ts1cmr.fd)
! Undefined control sequence.
l.12 \transparent
{1}\includegraphics[width=0.5\textwidth]{example-image-a}
?
Linux 上的 TL 2023。
答案1
尝试这个配置文件transparent.4ht
:
\providecommand\transparent[1]{}
\NewConfigure{texttransparent}{2}
\providecommand\texttransparent[2]{\def\transparent:opacity{#1}\a:texttransparent#2\b:texttransparent}
\Configure{texttransparent}{\HCode{<span class="texttransparent" style="opacity:\transparent:opacity;">}}{\HCode{</span>}}
\Hinput{transparent}
\endinput
它定义了虚拟\transparent
命令,但\texttransparent
实际上可以用于 HTML 中的透明度。
以下是一个示例:
\documentclass[12pt]{article}
\usepackage{color}
\usepackage{transparent}
\begin{document}
\colorbox{yellow}{%
\bfseries
\color{blue}%
Blue and %
\transparent{0.6}%
transparent blue%
}
\bigskip
Hello World
\texttransparent{0.5}{Hello World}
Hello World
\end{document}
结果如下:
如您所见,\color
和\transparency
都没有任何效果,因为我找不到如何可靠地支持它们以进行 HTML 输出的方法。
答案2
原始透明包不支持 dvi 模式,它仅适用于 lualatex 和 pdflatex。
如果你加载新的 pdfmanagement 和扩展的后端代码
\DocumentMetadata{}
\documentclass{article}
它将不再出错(只要 tex4ht 不禁用\DocumentMetadata
),但我不知道 tex4ht 是否会在 html 中用它做一些明智的事情。
另外,您可以提供一个后备定义:
\documentclass[12pt]{book}
\usepackage{graphicx}
\usepackage{transparent}
\providecommand\transparent[1]{}
\begin{document}
some text here
More text here
\transparent{1}\includegraphics[width=0.5\textwidth]{example-image-a}
More text here
More text here
\end{document}