Automatischer Trennstrich bei zu langen, nichtssagenden Wörtern

Automatischer Trennstrich bei zu langen, nichtssagenden Wörtern

\hyphenation{longword}Da es kein Muster für die Silbentrennung bedeutungsloser Wörter gibt, sollten diese einzeln mit Methoden wie , \seqsplit{longword} usw. getrennt werden.

Es sollte jedoch eine Lösung geben, dies automatisch durchzuführen, da die Notwendigkeit der Silbentrennung/Unterbrechung von der Stelle eines Wortes abhängt und es nicht einfach ist, für jedes Wort, das am Zeilenende steht, eine individuelle Silbentrennung vorzunehmen.

\documentclass{article}
\begin{document}
This is a test for a word which is too long at the end of a line aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\
This is a test for a word which is too long at the end of a line http://test.com/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3\\
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa This is a test for a word which is too long at the end of a line\\
http://test.com/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3 This is a test for a word which is too long at the end of a line\\
\end{document}

Wie Sie sehen, kann Silbentrennung unnötig oder sogar äußerst notwendig sein. Tatsächlich sollte es eine Möglichkeit geben, die Fortsetzung des Textes am Rand zu verhindern. Genau das machen Texteditoren wie MS Word. Ich weiß, dass es Texmit MS Word bei Weitem nicht zu vergleichen ist, aber es kann einen Anhaltspunkt geben. Ich denke, es ist besser, das lange Wort in die nächste Zeile zu setzen, als es am Rand und darüber hinaus zu schreiben.

Das Problem tritt auf, wenn es viele Wörter dieser Art gibt und es ziemlich schwierig ist, sie einzeln zu behandeln.

Antwort1

Ich fürchte, du musst den einen oder anderen Tod sterben. Entweder du

  • Markieren Sie Ihre zufälligen Wörter vorher, dann gibt es nette Möglichkeiten, sie mit Bindestrichen zu versehen oder speziell zu behandeln
  • oder Sie achten auf Warnungen wie "Überfüllte hbox im Absatz" und fügen \hyphenation{...}bei Bedarf anschließend Ausnahmen hinzu
  • oder Sie verwenden MS-Word.

(es ist ein bisschen zu viel verlangt, dass TeX ohne ein wenig Hilfe in Form von Markup erkennt, dass „vsraajlkuhzjsp“ ein beliebiges Wort ist, „Antidisestablishmentarianism“ jedoch nicht)

Meiner Meinung nach ist der erste Ansatz dierichtigeine, z. B. indem Sie etwas wie \rw{foobar}in den Quelltext schreiben. Dann könnten Sie TeX diese zufälligen Wörter manipulieren lassen, einschließlich der Silbentrennung, indem Sie ein spezielles \languageSet mit zufälligen Silbentrennungsmustern verwenden (die leicht erfunden werden könnten) oder indem Sie einige Makros verwenden, um explizite Bindestriche an zufälligen Stellen in die Zeichenfolge einzufügen oder ...

Wenn Markup jedoch keine Option ist, können Sie sich natürlich für Option 3 entscheiden:

  • Sie könnten verwenden, \raggedrightwas Word oft tut, um diese Art von Problem zu verbergen
  • oder Sie könnten etwas wie verwenden, \setlength\emergencystretch{.5\textwidth}um in (fast) allen Fällen Blocksatz zu erhalten. Natürlich auf Kosten wirklich hässlicher Absätze.

Das Ergebnis würde in Ihrem Text (ohne das) folgendermaßen aussehen \\: Bildbeschreibung hier eingeben

verwandte Informationen