Make4ht 和 bclogo 包兼容性

Make4ht 和 bclogo 包兼容性

以下代码会产生错误:

\documentclass{article}
\usepackage[tikz]{bclogo}
\begin{document}
\begin{bclogo}{My title}
Test
\end{bclogo}
\end{document}

我用它来编译make4ht file.tex,我使用最新的 texlive 2022(2022 年 12 月 23 日)。

我收到 Latex 的一个错误:

! LaTeX Error: File `bc-fleur' not found

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.4 \begin{bclogo}{My title}

答案1

目前bclogo还不支持 TeX4ht,但如果您只想将其转换为图片,支持它应该不难。试试这个配置文件:

\Preamble{xhtml}
\DeclareGraphicsExtensions{.png,.svg,.jpg,.eps,.pdf,.mps}
\ConfigureEnv{bclogo}{\ifvmode\IgnorePar\fi\EndP\Picture*{}}{\EndPicture}{}{}
\begin{document}
\EndPreamble

它所做的第一件事就是声明它.mps支持图像扩展。然后它要求将环境转换bclogo为图片。

但是由于 TeX4ht 对 Mdframed 包的支持存在错误,因此它无法正常工作。您将需要此版本的mdframed.4ht

% mdframed.4ht (2021-08-14-14:10), generated from tex4ht-4ht.tex
% Copyright 2017-2021 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 2021-08-14-14:10}


\NewConfigure{mdframed}{2}
\NewConfigure{mdframedstyle}{1}
\NewConfigure{mdframetitle}{2}
\newcount\mdf:env:cnt
\def\mdf:id{mdframed-\the\mdf:env:cnt}

\def\:tempa#1{\global\advance\mdf:env:cnt by1\relax\a:mdframed\a:mdframedstyle%
    \ifdefempty{\mdf@frametitle}{}{\mdfframedtitleenv{\mdf@frametitle}\a:mdframetitle\mdf@@frametitle@use\b:mdframetitle}\let\mdf@frametitle\@empty%
}
\HLet\mdf@trivlist\:tempa

\def\:tempa{{\b:mdframed}}
\HLet\endmdf@trivlist\:tempa
% 
% % disable frame drawing, it can be supported using CSS
\HLet\detected@mdf@put@frame\relax%
% 
\append:def\mdf@@ignorelastdescenders{\let\orig:unskip\unskip\def\unskip{\let\unskip\orig:unskip}}%
\HLet\mdf@lrbox\:gobble
\HLet\endmdf@lrbox\relax
\Hinput{mdframed}
\endinput

经过这些改变,你会得到这样的结果:

在此处输入图片描述

相关内容