
Это проблема только 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
Обратите внимание, что это также предотвратит перенос строк для гиперссылок, содержащих обычный текст, что может привести к довольно плохим результатам, если в таблицах имеются длинные фрагменты текста с гиперссылками.
В любом случае, вот как это выглядит: