如何防止超連結在 tex4ht 中的固定寬度列中換行?

如何防止超連結在 tex4ht 中的固定寬度列中換行?

這是 tex4ht 唯一的問題。

我有一個表格,其中第一列有內部部分的連結(超連結)。

這些連結都是數字。為了保持簡短,他們指出了下面範例中未顯示的小節。

問題是,由於表格太寬,連結會環繞,具體取決於瀏覽器的螢幕尺寸,因此數字12345可能會顯示為,而不是顯示為

1
2
3
4
5

或者

12
34
45

這只發生在連結列上,即使其中沒有空間。

如果該列有一個普通文字作為 number 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

請注意,它還可以防止包含普通文字的超連結斷行,如果表中有較長的超連結文字區塊,這可能會導致非常糟糕的結果。

無論如何,它看起來是這樣的:

在此輸入影像描述

相關內容