![如何使标题与 tex4ht 中的标题一样显示?](https://linux22.com/image/448521/%E5%A6%82%E4%BD%95%E4%BD%BF%E6%A0%87%E9%A2%98%E4%B8%8E%20tex4ht%20%E4%B8%AD%E7%9A%84%E6%A0%87%E9%A2%98%E4%B8%80%E6%A0%B7%E6%98%BE%E7%A4%BA%EF%BC%9F.png)
根据如何让 tex4ht 输出标题 答案是
tex4ht 在标题方面的工作方式与普通 LaTeX 相同
但我想在标题中有第二行,并且文本尺寸较小。下面的 MWE 在 PDF 中有效(使用 lualatex),但在 tex4ht HTML 中无效。使用 HTML,所有字母大小都显示相同的大标题尺寸。
\documentclass[12pt,titlepage]{book}
\begin{document}
\title{Top title here\\\vspace{8pt}{\normalsize Summer 2022 edition}\\
\vspace{30pt}{\Large second title below }}
\author{me}
\date{\today}
\maketitle
\end{document}
PDF 是
使用编译
make4ht -ulm default -a debug report.tex "mathjax,htm"
给出这个 HTML
问题不在于标题中的行间距。问题在于字体大小与 PDF 相比都相同。看起来 tex4ht 忽略了 fontsize 命令。
以下是生成的原始 HTML
<!DOCTYPE html>
<html lang='en-US' xml:lang='en-US'>
<head><title>Top title here
Summer 2022 edition
second title below </title>
<meta charset='utf-8' />
<meta content='TeX4ht (https://tug.org/tex4ht/)' name='generator' />
<meta content='width=device-width,initial-scale=1' name='viewport' />
<link href='report.css' rel='stylesheet' type='text/css' />
<meta content='report.tex' name='src' />
<script>window.MathJax = { tex: { tags: "ams", }, }; </script>
<script async='async' id='MathJax-script' src='https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js' type='text/javascript'></script>
</head><body>
<div class='maketitle'>
<h2 class='titleHead'>Top title here<br />
Summer 2022 edition<br />
second title below </h2>
<div class='author'><span class='ec-lmr-12x-x-120'>me</span></div><br />
<div class='date'><span class='ec-lmr-12x-x-120'>April 11, 2022</span></div>
</div>
</body>
</html>
需要什么才能让 tex4ht 像 PDF 版本一样接受标题中的不同字体大小?
TL 2021
答案1
TeX4ht 禁用标题中的 HT 字体,因此您不会获得所用字体的任何格式信息。即使您启用了它,您仍然不会获得垂直空格。所以我会使用可以由 TeX4ht 配置的自定义命令。
这是一个修改过的 TeX 文件:
\documentclass[12pt,titlepage]{book}
\newcommand\midletitle[1]{\\\vspace{8pt}{\normalsize #1}}
\newcommand\bottomtitle[1]{\\\vspace{30pt}{\Large #1}}
\begin{document}
\title{%
Top title here%
\midletitle{Summer 2022 edition}%
\bottomtitle{second title below }%
}
\author{me}
\date{\today}
\maketitle
\end{document}
以及对应的配置文件:
\Preamble{xhtml}
\renewcommand\midletitle[1]{\space\HCode{\Hnewline<div class="midletitle">}#1\HCode{</div>}}
\renewcommand\bottomtitle[1]{\space\HCode{\Hnewline<div class="bottomtitle">}#1\HCode{</div>}}
\Css{.midletitle{font-size:1rem;margin-top:0.5rem;}}
\Css{.bottomtitle{font-size:1.6rem;margin-top:2rem;}}
\begin{document}
\EndPreamble
它重新定义了命令以生成可使用 CSS 进行样式化的 HTML 标签。您可以随意修改 CSS 代码以使用适合您的字体大小和垂直空间。
结果如下: