为什么使用 tspan 而不是 class?斜体无法使用 htlatex 呈现

为什么使用 tspan 而不是 class?斜体无法使用 htlatex 呈现

当使用htlatex“html,fn-in”时,生成的 html 具有

<tspan font-family="cmti" font-size="10">should be italics </tspan>

但这并没有在 html 中呈现(至少在 chrome 和 safari 中没有)。

一个简单的

<span class "cmti-10x-x-109">finally italics </span>

将会完美运行。

问题实际上不是 html,而是我从中生成的 epub 无法呈现...使用 ebook-convert

(我正在使用该memoir包。)

我该如何修复这个问题?

编辑 这是一个简单的例子:

\documentclass[a5paper,11pt]{memoir}

\usepackage{tikz}

%% Below just a command to show colors
\newcommand*{\titleTH}{\begingroup
\raggedleft
\vspace*{\baselineskip}
{\large Welcome to}\\[0.167\textheight]
{\Large \bfseries Something}\\[\baselineskip]
{\textcolor{red}{\Huge Red}}\\[\baselineskip]
{\small No reason to be scared\\}\par
\vfill
{QED}\par
\vspace*{3\baselineskip}
\begin{tikzpicture}[overlay, remember picture]
%% Here there was the loading of a picture
\end{tikzpicture}
\endgroup}


\begin{document}

\pagestyle{empty}

% Commenting out this line would make the following text render right
\titleTH

\newpage

Here I write \textit{the part that should be} italics, \textbf{D'OH!}

\结束{文档}

问题似乎出在 tikz 包上,因为米哈尔.h21建议。

答案1

tikz在执行时会在每个图片中配置很多东西tex4ht。不幸的是,这些配置之一是全局的,即使在图片结束后仍然会存在,它是用于捕捉字体变化的配置。

您可以尝试使用此.cfg文件在每张 tikz 图片结束后将此配置重置为正常值:

\Preamble{xhtml}
\begin{document}
\makeatletter
\let\old@endpicture\pgfsys@endpicture
\def\pgfsys@endpicture{%
  \Configure{htf}{0}{+}{<span\Hnewline%
     class="}{\%s}{-\%s}{x-x-\%d}{}{">}{</span>}%
  \old@endpicture%
}
\makeatother
\EndPreamble

运行它

htlatex filename cfgname

或者

make4ht -c cfgname.cfg filename

结果:

在此处输入图片描述

相关内容