如何防止超链接在 tex4ht 中的固定宽度列中换行?

如何防止超链接在 tex4ht 中的固定宽度列中换行?

这是 tex4ht 独有的问题。

我有一个表格,其中第一列有指向内部部分的链接(超链接)。

这些链接都是数字。它们指向以下示例中未显示的子部分,以保持简短。

问题是,由于表格太宽,链接会环绕,具体取决于浏览器的屏幕大小,因此数字不是显示为12345,而是显示为

1
2
3
4
5

或者

12
34
45

这只会发生在链接列中,即使其中没​​有空间。

如果该列中包含数字形式的普通文本12345,则它不会换行,因为数字之间没有空格。

我希望链接的行为与没有空格的普通文本相同。否则,如果这些数字不断环绕,则很难阅读,具体取决于屏幕尺寸。

以下是一段展示此效果的影片。

在此处输入图片描述

第二列 Z 不换行。但第一列,那里的数字换行,因为它是一个链接。即使两列都具有相同的宽度0.7in。这些链接旨在作为问题数字。

以下是生成上述代码的代码

\documentclass[12pt]{book}
\usepackage{amsmath}
\usepackage{longtable}
\usepackage{array}
\usepackage{hyperref}

\begin{document}
   
\begin{longtable}[c]{|p{0.7in}|p{0.7in}|p{0.06in}|p{0.06in}|p{.06in}|p{2in}|p{1.2in}|p{.2in}|p{.2in}|p{0.3in}|}\hline       
\# & Z & A & B & C & D & E &F& G&H \\\hline
\hyperlink{10000000}{10000000}&1000000&1&2&2&second order type 5&some long text&some long text &{\Large ok}&0.016\\ \hline
\hyperlink{200000}{200000}&20000&1&2&2&second order type 5&some long text&some long text&{\Large ok}&0.016\\ \hline
\hyperlink{300000}{300000}&30000&1&2&2&second order type 5&some long text&some long text&{\Large ok}&0.016\\ \hline
\end{longtable}
                
\end{document}

用于编译上述内容的命令是

 make4ht --shell-escape -ulm default foo3.tex 
         "mathjax,htm,notoc*,p-width,charset=utf-8" " -cunihtf -utf8"

使用 TL 2020 并对 tex4ht 进行最新更新。

答案1

这就是 HTML 的工作方式。您可以尝试一些 CSS 技巧来防止换行,即使我认为这不是一个好主意。以下配置将防止表格中的超链接换行:

\Preamble{xhtml}
\Css{td a{white-space: nowrap;overflow: hidden;}}
\begin{document}
\EndPreamble

请注意,它还会阻止包含普通文本的超链接换行,如果表格中有较长的超链接文本块,这可能会导致非常糟糕的结果。

无论如何它看起来是这样的:

在此处输入图片描述

相关内容