我正在接连生成许多表格,并注意到 tex4ht 生成的 HTML 中的表格互相接触,并希望在它们之间留出一些垂直空白以将它们稍微分开。
在 PDF 中,我可以使用\bigskip
或,\vspace{\baselineskip}
并且这些工作没有问题,但它们在 tex4ht 生成的 HTML 页面中没有效果。
有什么技巧可以告诉 tex4ht 添加一些额外的垂直空间吗?MWE:
\documentclass[12pt]{scrbook}%
\usepackage{longtable}
\begin{document}
\begin{longtable}{|p{.5\textwidth}|}\hline
test
\\\hline
\end{longtable}
\bigskip
\begin{longtable}{|p{.5\textwidth}|}\hline
test
\\\hline
\end{longtable}
\end{document}
PDF 是
HTML 是make4ht foo.tex
我可能可以使用.cfg
并添加一些 CSS 命令或类似的东西来解决这个问题,但首先我想看看是否可以在 LaTeX 中完成所有操作。
查看生成的 HTML,表明\bigskip
在 HTML 中被忽略并且没有任何效果。
2015 年
答案1
可以重新定义\bigskip
以生成具有一定高度的空段落。问题是,\bigskip
etc. 在某些 LaTeX 命令和环境中内部使用,因此可能会破坏相当多的配置。最好默认抑制它。我会改用自定义间距命令。
% myspaces.sty
\newcommand\mybigskip{\bigskip}
\newcommand\mymedskip{\medskip}
\newcommand\mysmallskip{\smallskip}
tex4ht 配置
% myspaces.4ht
\newcommand\:myskip[1]{\ifvmode\HCode{<span class="#1">}\:nbsp\HCode{</span>}\fi}
\renewcommand\mybigskip{\:myskip{bigskip}}
\renewcommand\mymedskip{\:myskip{medskip}}
\renewcommand\mysmallskip{\:myskip{smallskip}}
\Css{span.bigskip{height:2em;margin:0;}}
\Css{span.medskip{height:1em;margin:0;}}
\Css{span.smallskip{height:0.5em;margin:0;}}
修改后的 TeX 文件:
\documentclass[12pt]{scrbook}%
\usepackage{longtable}
\usepackage{myspaces}
\begin{document}
\begin{longtable}{|p{.5\textwidth}|}\hline
test
\\\hline
\end{longtable}
\mybigskip
\begin{longtable}{|p{.5\textwidth}|}\hline
test
\\\hline
\end{longtable}
\mymedskip
hello
\mysmallskip
world
\end{document}
结果: