为什么 tex4ht 在包含 \usepackage[T1]{fontenc} 时不改变 \verb 的字体大小?

为什么 tex4ht 在包含 \usepackage[T1]{fontenc} 时不改变 \verb 的字体大小?

此 MWE

\documentclass[11pt]{article}
\usepackage{ifluatex}
\ifluatex
  \IfFileExists{luatex85.sty}{\usepackage{luatex85}}{}
  \ifdefined\HCode
  \usepackage[utf8]{luainputenc}
  \usepackage[T1]{fontenc}
  \else
  \usepackage{fontspec}
  \fi
\else%assume pdflatex, I only use these two 
  \usepackage[utf8]{inputenc}
  \usepackage[T1]{fontenc}
\fi 

\begin{document}        
\ifluatex
  compiled with lualatex
\else
  compiled with pdflatex
\fi 

{\tiny \verb|IllustratingTheUseOfDiscreteDistributions|}

{\tiny IllustratingTheUseOfDiscreteDistributions}    
\end{document}

使用 pdflatex 或 lualatex 编译时

Mathematica 图形

但无论是否在 lua 模式下使用 tex4ht 进行编译,都会给出以下 HTML

 make4ht t.tex

Mathematica 图形

如何告诉 tex4ht 改变字体大小,\verb就像 pdflatex 一样?

使用 TL 2016


更新。发现问题了。就是这个,\usepackage[T1]{fontenc}当它被包含时,make4ht 不会改变字体大小\verb。现在这个可以正常工作了

\documentclass[11pt]{article}
\usepackage{ifluatex}
\ifluatex
  \IfFileExists{luatex85.sty}{\usepackage{luatex85}}{}
  \ifdefined\HCode
    \usepackage[utf8]{luainputenc}
  \else
    \usepackage{fontspec}
  \fi
\else%assume pdflatex, I only use these two 
   \usepackage[utf8]{inputenc}
\fi 

\begin{document}        
\ifluatex
  compiled with lualatex
\else
  compiled with pdflatex
\fi 

{\tiny \verb|IllustratingTheUseOfDiscreteDistributions|}

{\tiny IllustratingTheUseOfDiscreteDistributions}    
\end{document}

现在make4ht t.tex给出

Mathematica 图形

答案1

检测字体大小并将其转换为 css 声明似乎存在错误tex4ht。它是通过tex4ht命令完成的,所以我不太了解也不理解它是如何工作的,但以下测试似乎很有趣:

{\ttfamily\tiny IllustratingTheUseOfDiscreteDistributions \itshape ojoj}            

{\ttfamily\footnotesize IllustratingTheUseOfDiscreteDistributions \itshape ojoj}

{\ttfamily\small IllustratingTheUseOfDiscreteDistributions \itshape ojoj}                     

{\ttfamily IllustratingTheUseOfDiscreteDistributions \itshape ojoj}

{\ttfamily\large IllustratingTheUseOfDiscreteDistributions \itshape ojoj}

{\ttfamily\Large IllustratingTheUseOfDiscreteDistributions \itshape ojoj}

使用原始基本字体大小(11pt):

在此处输入图片描述

基本字体大小为 10pt:

在此处输入图片描述

12pt 的话:

在此处输入图片描述

如您所见,每张图片上至少有一个字体大小转换不正确,但只有在 11pt 基本字体大小时,\tiny字体大小才有错误。这肯定是一个错误。

作为一种修复方法,我会使用自定义 CSS,在检查 HTML 文件后,我发现等宽小字体已转换为,<span class="ectt-0800x-x-75">因此我只需使用类似以下内容:

\Css{.ectt-0800x-x-75{font-size:65\%;}}

在 .cfg 文件中

相关内容