如何在 tex4ht 中强制垂直空间?\bigskip 和 \vspace 无效

如何在 tex4ht 中强制垂直空间?\bigskip 和 \vspace 无效

我正在接连生成许多表格,并注意到 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 是

Mathematica 图形

HTML 是make4ht foo.tex

Mathematica 图形

我可能可以使用.cfg并添加一些 CSS 命令或类似的东西来解决这个问题,但首先我想看看是否可以在 LaTeX 中完成所有操作。

查看生成的 HTML,表明\bigskip在 HTML 中被忽略并且没有任何效果。

2015 年

答案1

可以重新定义\bigskip以生成具有一定高度的空段落。问题是,\bigskipetc. 在某些 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}

结果:

在此处输入图片描述

答案2

您可以插入一个包含空白的段落~,该空白将被转换为相当于的&nbsp;

PDF:

在此处输入图片描述

HTML:

在此处输入图片描述

\documentclass{article}
\usepackage{longtable}
\begin{document}       

\begin{longtable}{|p{.5\textwidth}|}
  \hline
  test \\
  \hline
\end{longtable}

~

\begin{longtable}{|p{.5\textwidth}|}
  \hline
  test \\
  \hline
\end{longtable}

\end{document}

相关内容