如何删除 htlatex 输出图形周围的水平线

如何删除 htlatex 输出图形周围的水平线

htlatex 在图形浮动周围添加水平线。例如,以下 tex 的 HTML 输出:

\begin{figure}
\begin{centering}
\includegraphics{photo.png}
\end{centering}
\end{figure}

如下:

<hr class="figure">
<div class="figure">
<p class="noindent">
<img src="photo.png" alt="PIC" class="graphics" width="250pt" height="250pt">
<br/>
</div><hr class="endfigure">

我想防止<hr>在图形周围自动插入 s。有什么办法吗?

答案1

htlatex 将 LaTeX 环境和命令转换为 HTML 实体的方式由文件配置 html4.4ht

在我使用 MikTeX 的 Windows 7 计算机上,该文件位于%HOMEPATH%\AppData\Roaming\MiKTeX\2.9\tex\generic\tex4ht目录中。

调用 htlatex 时,您可以提供自己的配置文件。那里定义的规则优先于标准配置。

> htlatex myfile.tex "myfile.cfg,html"

配置文件是一个 LaTeX 文件,如下所述这里, 例如。

基于html4.4ht,我使用了以下配置文件myfile.cfg

\Preamble{html}
\begin{document}

% Removing div element surrounding tables and figures.
\ConfigureEnv{tabular}
    {\HCode{}}{\HCode{}}{}{}
\ConfigureEnv{figure} 
    {\HCode{}}{\HCode{}}{}{}    
% Always ignore \hline commands. Tables will rather be styled using CSS.
\Configure{hline}{\HCode{}}
% This one removes the rulers. Taking a look at html4.4ht should make 
% clear what has been changed.
\Configure{float}
   {\ifOption{refcaption}{}{\csname par\endcsname\ShowPar \leavevmode}}
   {\HCode{}}
{\ifvmode \IgnorePar \fi\EndP \HCode{}\csname par\endcsname\ShowPar}
\EndPreamble

请注意,为了删除原本要添加的 HTML 代码,您必须使用命令\HCode{}生成一个空的 HTML 输出,而不是仅仅将括号留空。

相关内容