文書全体または表の任意の位置から単語を分割する

文書全体または表の任意の位置から単語を分割する

以下のようなマークダウン テーブルが多数あり、pandocLaTeX PDF テンプレートを使用して PDF に変換しています。

| Column1                                                                                                                           | Column2        | Column3 | Column4 | Column5             | Column6                                                                                                     | Column7          | Column8                                                                                | Column9                                         | Column10                                                                                                                |
|-----------------------------------------------------------------------------------------------------------------------------------|----------------|---------|---------|---------------------|-------------------------------------------------------------------------------------------------------------|------------------|----------------------------------------------------------------------------------------|-------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|
| Lorem Ipsum verylongwordwithnospacehere simply dummy text of the printing and typesetting indust                                  | Lor            | Lor     | L       | Lor                 | Lorem Ipsum is simply dumm                                                                                  | Lorem Ipsum i    | Lorem Ipsum is simply 9834JKEMKWJ4334DWEE44 the printing and typesetting industry. Lo  | Lorem Ipsum is simply dummy text of the printin | Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard |
| Lorem Ipsum is simply dummy text of the printing anotherverylongwordwithoutspace                                                  | Lor            | Lor     | L       | Lor                 | Lorem Ipsum is simply dummy                                                                                 | Lorem Ipsum i    | Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsu  | Lorem Ipsum is simply dummy text of the printin | Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard |
| Lorem Ipsum is simply dummy Q034DJSKJ32492139DK                                                                                   | Lor            | Lor     | L       | Lor                 | Lorem Ipsum is simply dummy t                                                                               | Lorem Ipsum i    | Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsu  | Lorem Ipsum is simply dummy text of the printin | Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard |

したがって、表のセルに長い単語や何らかの長いコードがある場合、出力は以下の図のようになります。それらは切り取られるか、次の列にオーバーフローします。

画像1

ここに画像の説明を入力してください

私が必要としているのは、どの文字からでも単語を改行できるようにする方法です。ハイフンも使用すべきではないので、\usepackage[none]{hyphenat}そのために を使用します。
つまり、最終的に私が望むのは次のようなものです。

ここに画像の説明を入力してください

前述したように、マークダウン コンテンツは自動的に LaTeX コードに変換されるため、 のようなものは使用できないと思います\seqsplit{longword}。可能かどうかはよくわかりませんが、ドキュメント全体で単語区切りを有効にするか、テーブルのみを対象とする何かが必要です...

答え1

現時点では最終的な回答ではないかもしれませんが、コメントするには長すぎます。当時の TeX フォントの 256 文字すべてに続くハイフネーション ポイントのハイフネーション パターンを含む allhyph.tex ファイルがあったことを思い出しました。CTAN や Web 検索では見つからないので、私が書いた可能性もあります。(反対の zerohyph.tex は、言語 "nohyphenation" としてロードする必要があります。)

しかし、通常の (デフォルトの) 英語のハイフネーション ルールを使用する別のトリックも見つけました。パターンでは、文字 (ell) の後のハイフネーションが常に許可されます。したがって、またはlを使用できなくなる代わりに、すべての文字の小文字コードを l のコード (108) に設定します。以下は、T1 フォント エンコーディングの例です。大きなフォント エンコーディングを扱うには、文字コード ポイントのより長いリストが必要になります。\lowercase\MakeLowercase

次に必要な要素は、フォント (すべてのフォント) のハイフン文字を小さいまたは幅ゼロの空白文字に設定することです。これが \textcompoundwordmark です。

さらに 2 つの点として、LaTeX に単語の末尾でもハイフンで区切るように指示する必要があります。また、段落の最初の単語のハイフン区切りを許可する必要があります (通常は禁止されています)。

\documentclass{article}
\usepackage[T1]{fontenc} % require \textcompwordmark
\usepackage[english]{babel}

\makeatletter
\newcount\lccodepoint
\def\setAllBreak{\lccodepoint=33 \@whilenum{\lccodepoint<256}\do
       {\lccode\lccodepoint=`\l\advance\lccodepoint\@ne}%
    \lefthyphenmin\@ne \righthyphenmin\@ne
    \hyphenchar\font=\csname\f@encoding\string\textcompwordmark\endcsname
}
\g@addto@macro\selectfont{\setAllBreak}
\AtBeginDocument{\setAllBreak}

% That finishes the setup, except for \everypar below.

\setlength\textwidth{2pt}% ultra-narrow for testing
\setlength\parskip{8pt}

\begin{document}

% This allows hyphenation of the first word in the paragraph
% but can't be in preamble
\everypar{\nolinebreak\hspace{0pt}}

abracadabra

\noindent abracadabra \emph{wowzers}

\end{document}

もちろん、これによって改行が許可されていない場所で改行が行われることはありません。 を考えてみてください\mbox{ }。 質問にとってより重要なのは、tabular のほとんどの列タイプは のようであり\mbox、すべての改行を禁止することです。 tabular 環境を tabularx に切り替えて、すべての X 列タイプ、または (中央揃えの場合のように) から派生したタイプを使用することをお勧めします。

\newcolumntype{C}{>{\centering\arraybackslash}X}

一部の列を他のX列より均等に狭くしたり広くしたりするには、tabularx 列の中央揃え

関連情報