Worttrennung ab jeder Stelle des Wortes für das ganze Dokument oder speziell für Tabellen

Worttrennung ab jeder Stelle des Wortes für das ganze Dokument oder speziell für Tabellen

Ich habe eine Reihe von Markdown-Tabellen wie die folgende und sie werden mithilfe pandoceiner LaTeX-PDF-Vorlage in PDF konvertiert.

| 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 |

Wenn also lange Wörter oder lange Codes in Tabellenzellen vorkommen, ist die Ausgabe, die ich erhalte, ungefähr wie in den Bildern unten. Sie werden entweder ausgeschnitten oder in die nächste Spalte verschoben.

img1

Bildbeschreibung hier eingeben

Was ich brauche, ist eine Möglichkeit, Wörter bei jedem Buchstaben umzubrechen. Es sollte auch keine Silbentrennung geben, also verwende ich \usepackage[none]{hyphenat}dafür.
Am Ende möchte ich also so etwas wie das hier:

Bildbeschreibung hier eingeben

Wie gesagt wird der Markdown-Inhalt automatisch in Latex-Code umgewandelt, daher glaube ich nicht, dass ich so etwas verwenden kann \seqsplit{longword}. Ich bin nicht ganz sicher, ob es möglich ist, aber ich brauche etwas, das die Worttrennung für das gesamte Dokument ermöglicht oder nur auf die Tabellen abzielt ...

Antwort1

Wahrscheinlich noch keine endgültige Antwort, aber zu lang für einen Kommentar. Ich erinnere mich an eine Datei allhyph.tex mit Trennmustern für Trennpunkte nach allen 256 Zeichen in den damaligen Schriftarten für TeX und habe sie auch. Ich kann sie weder auf CTAN noch per Websuche finden, also habe ich sie vielleicht sogar selbst geschrieben. (Die gegenüberliegende Datei zerohyph.tex sollte als Sprache „nohyphenation“ geladen werden.)

Aber ich habe noch einen anderen Trick gefunden, der normale (Standard-) englische Silbentrennungsregeln verwendet. Die Muster erlauben immer eine Silbentrennung nach dem Buchstaben (ell). Setzen Sie also den Kleinbuchstabencode für jedes Zeichen auf den Code für l (108), auch wenn Sie nie oder lverwenden können . Das Folgende ist ein Beispiel für die T1-Schriftkodierung. Für die Verarbeitung großer Schriftkodierungen wäre eine längere Liste von Zeichencodepunkten erforderlich.\lowercase\MakeLowercase

Als nächstes müssen Sie das Bindestrichzeichen für die Schriftart (für alle Schriftarten) auf ein kleines oder leeres Zeichen mit der Breite Null setzen. Das ist das \textcompoundwordmark.

Außerdem müssen Sie LaTeX anweisen, Wörter auch am Ende zu trennen. Außerdem müssen Sie die Silbentrennung im ersten Wort eines Absatzes zulassen (normalerweise verhindert).

\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}

Dies führt natürlich keine Zeilenumbrüche ein, wo keine erlaubt sind! Denken Sie an \mbox{ }. Wichtiger für die Frage ist, dass die meisten Spaltentypen in tabular wie sind \mboxund alle Zeilenumbrüche verhindern. Ich schlage vor, die tabular-Umgebungen auf tabularx umzustellen und alle X-Spaltentypen oder davon abgeleitete Typen (wie für die Zentrierung) zu verwenden, wie

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

Um einige Spalten proportional schmaler oder breiter als andere X-Spalten zu machen, können Sie sehenZentrieren in Tabularx-Spalten

verwandte Informationen