![为什么 tex4ht 忽略文档标题的字体大小?](https://linux22.com/image/355057/%E4%B8%BA%E4%BB%80%E4%B9%88%20tex4ht%20%E5%BF%BD%E7%95%A5%E6%96%87%E6%A1%A3%E6%A0%87%E9%A2%98%E7%9A%84%E5%AD%97%E4%BD%93%E5%A4%A7%E5%B0%8F%EF%BC%9F.png)
当我将此乳胶文件编译为 PDF 时
\documentclass[11pt]{article}
\begin{document}
\title{\footnotesize my title}
\author{me}
\maketitle
This is a test
\end{document}
标题的字体大小正确更改为\footnotesize
。但是当 tex4ht 忽略字体大小更改请求并始终以非常大的字体显示标题时。使用编译make4ht bug.tex
我只是想让标题字体变小一点。
为什么 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 样式。