为什么 tex4ht 忽略文档标题的字体大小?

为什么 tex4ht 忽略文档标题的字体大小?

当我将此乳胶文件编译为 PDF 时

\documentclass[11pt]{article}

\begin{document}
\title{\footnotesize my title}
\author{me}
\maketitle

This is a test
\end{document}

标题的字体大小正确更改为\footnotesize。但是当 tex4ht 忽略字体大小更改请求并始终以非常大的字体显示标题时。使用编译make4ht bug.tex

Mathematica 图形

我只是想让标题字体变小一点。

为什么 tex4ht 会忽略标题中的字体大小命令?这是一个已知问题吗?有解决方法吗?我尝试了所有其他尺寸\small等等。它们都无法在 tex4ht 中像在 pdf 中一样工作。

which tex4ht
/usr/local/texlive/2016/bin/x86_64-linux/tex4ht

答案1

正如 David 和 Egreg 所说,将格式化命令放入 并不是一个好主意\title。它的内容在两个地方使用,\maketitle在文档中使用的地方和<title>元素中。

<title>应该只包含文本,因此如果在此处包含任何格式元素,则可能会造成损害。tex4ht尝试清理它,但是当您在 中使用除文本以外的任何内容时,一些垃圾可能会在这里结束\title,从而导致无效的 HTML。\Configure{TITLE+}{alternative title}在这种情况下,您可以使用。

您在使用其他方法时遇到问题\title,在 中\maketitle。在此处,使用 EndNoFonts` 禁用字体处理\NoFonts ...。您要么应该使用一些 CSS 来根据您的意愿设置样式:

 \Css{h2.titleHead{font-size:0.85em;}}

这是首选方法,或者您可以使用替代配置maketitle,它不会抑制字体处理:

\Preamble{xhtml}
\Configure{maketitle}{\ifvmode\IgnorePar\fi \EndP\HCode{<div class="maketitle">}}
{\ifvmode\IgnorePar\fi\EndP\HCode{</div>}}
{\IgnorePar\HCode{<div class="title">}\IgnorePar}
{\HCode{</div>}\IgnoreIndent}

\begin{document}
\EndPreamble

结果如下:

在此处输入图片描述

正如我所说,我会使用 CSS 样式。

相关内容