Silbentrennung von Wörtern mit Bindestrich zulassen und bei einer Silbentrennung am Bindestrich einen weiteren Bindestrich in der nächsten Zeile hinzufügen

Silbentrennung von Wörtern mit Bindestrich zulassen und bei einer Silbentrennung am Bindestrich einen weiteren Bindestrich in der nächsten Zeile hinzufügen

Ich habe zwei Anforderungen. Ich kann jede dieser beiden Anforderungen einzeln erfüllen, aber ich habe es nicht geschafft, sie zu kombinieren.

Zuerst muss ich die Silbentrennung von Wörtern mit Bindestrich zulassen (z. B. „entendendo-se“), was standardmäßig nicht möglich ist. Beispiel:

enten-
dendo-se

oder

en-
tendendo-se

Wenn dann ein Wort mit Bindestrich getrennt wird und der Zeilenumbruch am Bindestrich erfolgt, muss in der folgenden Zeile ein weiterer Bindestrich hinzugefügt werden (das ist eine portugiesische Sprachregel). Beispiel:

entendendo-
-se

Ich weiß, dass ich das erste erreichen kann, indem ich das extdashPaket mit verwende \-/, und das zweite kann ich erreichen, indem ich ein Makro definiere, das die Bindestriche durch ersetzt \discretionary{-}{-}{-}.

Doch wie kann ich beide Anforderungen in einer Lösung vereinen?

Und schließlich, aber nicht erforderlich, wäre es möglich, die Lösung auf alle Bindestriche in einem Teil des Textes anzuwenden (so dass ich nicht jeden Bindestrich durch einen Befehl [oder was auch immer verwendet werden würde] ersetzen muss)?

PS: Ich verwende derzeit den XeLaTeX-Compiler.

BEARBEITEN mit weiteren Informationen

Minimales funktionierendes Beispiel

\documentclass{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[portuguese]{babel}
\usepackage{hyphenat}

\begin{document}

\chapter{Exemplo}
Texto completamente aleatório, foi feito para demonstrar o porquê de entendendo-se não ser hifenizado corretamente.

\end{document}

In diesem Beispiel wird das Wort entendendo-seam Bindestrich umgebrochen, dies hätte jedoch auch schon früher geschehen können.

  • Die Lösung für meine erste Anforderung wäre, hinzuzufügen \usepackage[shortcuts]{extdash}und entendendo-sedurch zu ersetzen entendendo\-/se. Dies ist erforderlich, da LaTeX gestrichelte Wörter standardmäßig nicht umbricht. Sie werden sehen, dass das Wort früher umgebrochen wird (weil LaTeX glaubt, dass dies die erste Zeile schöner macht) und dies ist eines der Dinge, die ich erreichen möchte. Das Wort wird folgendermaßen angezeigt:enten- dendo-se
  • Die Lösung für meine zweite Anforderung wäre, entendendo-sedurch zu ersetzen entendendo\discretionary{-}{-}{-}se. Sie werden sehen, dass, wenn das Wort am Bindestrich endet, in der nächsten Zeile ein weiterer Bindestrich hinzugefügt wird (was eine portugiesische Regel ist), und das ist meine zweite Anforderung. Das Wort erscheint folgendermaßen: entendendo- -se. BitteNotizdass, wenn das Wort nicht am Bindestrich umbrochen wird, kein zusätzlicher Bindestrich hinzugefügt werden sollte!

Allerdings ist es mir nicht gelungen, beides zu kombinieren...

Antwort1

Nach einigem Ausprobieren habe ich einen Weg gefunden, beide Anforderungen zu erfüllen:

\documentclass{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[portuguese]{babel}
\usepackage{hyphenat}

\begin{document}

\chapter{Exemplo}
Texto completamente aleatório, foi feito para demonstrar o porquê de entendendo\babelhyphen{repeat}se não ser hifenizado corretamente.

\end{document}

Der Einfachheit halber könnten wir \defineshorthand{"-}{\babelhyphen{repeat}}die Präambel ergänzen und ersetzen entendendo-sedurchentendendo"-se

verwandte Informationen