如何使标题与 tex4ht 中的标题一样显示?

如何使标题与 tex4ht 中的标题一样显示?

根据如何让 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 代码以使用适合您的字体大小和垂直空间。

结果如下:

在此处输入图片描述

相关内容