htlatex 生成的 HTML 无法正确居中

htlatex 生成的 HTML 无法正确居中

如果我运行 htlatex

\documentclass[12pt]{article}

\begin{document}

Bla bla bla bla

\begin{center} x \end{center} \end{document}

设置为这个问题我得到了下面的代码,但我的浏览器(Mozilla Firefox)不能正确地将“x”居中。我怎样才能重新定义处理居中的方式,只使用一些简单的 HTML 标签(我的浏览器可以正确理解)?

<?xml version="1.0" encoding="iso-8859-1" ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->   
<html xmlns="http://www.w3.org/1999/xhtml"   >  
<head> 
<title></title> 
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
 <meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" /> 
 <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />  
<!-- -css,NoFonts,html,xhtml --> 
 <meta name="src" content="a.tex" /> 
 <meta name="date" content="2016-10-16 19:12:00" /> 
</head>
<body  > 
<p>Bla bla bla bla    </p>   
<div class="center"  > 
<p> </p> 
 <p>x</p>  </div> 
 </body>
</html>     

答案1

居中是通过 完成的CSS,因此如果在文档中禁用它的使用,它将无法工作。<center>标签存在,但在 HTML 5 中已弃用,但如果您确实不想使用,您可以尝试使用它CSS

尝试以下.cfg文件:

\Preamble{xhtml,-css,NoFonts}

\def\FinishPar{\ifvmode\IgnorePar\fi\EndP}
\ConfigureEnv{center}{}{}{\FinishPar\HCode{<center>}}{\FinishPar\HCode{</center>}}
\begin{document}

\EndPreamble

选项-css,NoFonts包含在配置文件中,因此您不必再在命令行上指定它们。\FinishPar是辅助宏,用于在正确的位置关闭段落标记。\ConfigureEnv可用于配置环境。由于center环境是使用列表实现的,因此有必要在的第四和第五个参数中传递自定义标记\ConfigureEnv

另一种方法是提供自定义 CSS 文件hello.css

div.center{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}

.cfg文件:

\Preamble{xhtml,-css,NoFonts}

\Configure{@HEAD}{\HCode{<link rel="stylesheet" type="text/css" href="hello.css" />\Hnewline}}
\begin{document}
\EndPreamble

此示例仅将自定义文件的链接添加CSS到文档中。

两种可能性的结果看起来相同:

在此处输入图片描述

相关内容