Tex4ht(htlatex)以无衬线字体和窄文本宽度输出 html

Tex4ht(htlatex)以无衬线字体和窄文本宽度输出 html

使用htlatex myfile.tex调用 tex4ht 的命令,我了解到只需对整篇网络文章使用 \sf 命令即可获得相当不错的网页文本。使用 helvet 包并强制重新编码对 html 输出没有任何影响,但\sf确实如此。

但是,html 文件中的字体大小有点大,而且我似乎无法使用 eg 来减小字体大小\small \sf(使用\sf \small会导致计算机现代(cmr),因为 eg\small\large将字体重置为 cmr)。

自然,数学类型较小,因为它不受的影响\sf

那么,我怎样才能将文本的字体大小调小一点呢?

总的来说,如果能够设置文本宽度和边距,使得结果看起来像 github wiki 页面,那就太好了,因为非常宽的默认边距看起来很糟糕。

答案1

以下是如何生成无衬线 HTML 网页,其中文本宽度减小且位于页面中央。实际上看起来非常漂亮。

在 .tex 文件中,例如使用

\begin{document}
\sf 
\section{Introduction}

....

并在编译时使用

htlatex myfile.tex "myconfig.cfg,html"

并在重命名为 myconfig.cfg 的文本文件中输入以下文本:

\Preamble{html}
\Configure{Picture}{.svg}
% Removing div element surrounding tables and figures.
\ConfigureEnv{tabular}
    {\HCode{}}{\HCode{}}{}{}
\ConfigureEnv{figure} 
    {\HCode{}}{\HCode{}}{}{}    
% Always ignore \hline commands. Tables will rather be styled using CSS.
%\Configure{hline}{\HCode{}}
% This one removes the rulers. Taking a look at html4.4ht should make 
% clear what has been changed.
\Configure{float}
   {\ifOption{refcaption}{}{\csname par\endcsname\ShowPar \leavevmode}}
   {\HCode{}}
{\ifvmode \IgnorePar \fi\EndP \HCode{}\csname par\endcsname\ShowPar}
\Css {body {margin-top: 100px;
                 margin-right: 400px;
                 margin-bottom: 10px;
                 margin-left: 400px;
                }
         }
\begin{document}
\EndPreamble

在 myconfig.cfg 文件中,.svg 命令将强制将方程式保存为 .svg 图像文件,这比默认的 .png 文件看起来更好。\Css 命令将更改左右边距,使文本宽度显示为大约 8 英寸宽并位于页面中央。myconfig.cfg 文件中的其他命令删除将章节、小节、表格和图形与文本分开的默认规则(线条),这些规则实际上非常难看。

相关内容