
我有兩個要求。我可以分別實現這兩個要求中的每一個,但我無法將它們結合起來。
首先,我需要允許虛線單字的連字號(例如:「entendendo-se」),預設情況下這是不可能的。例子:
enten-
dendo-se
或者
en-
tendendo-se
然後,當一個單字用連字號連接時,如果破折號出現在破折號上,則應在下一行中添加另一個破折號(這是葡萄牙語規則)。例子:
entendendo-
-se
extdash
我知道我可以透過使用套件來實現第一個,\-/
並且可以透過定義一個用 替換破折號的巨集來實現第二個\discretionary{-}{-}{-}
。
但如何將這兩個要求結合到一個解決方案中呢?
最後,但不是必需的,是否可以將解決方案應用於文字某些部分的所有破折號(這樣我就不需要用命令[或將使用的任何東西]替換每個破折號)?
PS:我目前使用的是XeLaTeX編譯器。
編輯更多信息
最小工作範例
\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}
在此範例中,單字entendendo-se
在破折號上中斷,但它本來可以更早中斷。
- 我的第一個要求的解決方案是添加
\usepackage[shortcuts]{extdash}
並替換entendendo-se
為entendendo\-/se
.這是必需的,因為 LaTeX 預設不會破壞虛線單字。你會發現單字斷得更快(因為 LaTeX 認為它讓第一行更漂亮),這是我想要實現的目標之一。這個詞看起來像這樣:enten- dendo-se
- 我的第二個要求的解決方案是將替換
entendendo-se
為entendendo\discretionary{-}{-}{-}se
.您會看到,當單字在破折號上斷開時,下一行中會添加另一個破折號(這是葡萄牙語規則),這是我的第二個要求。這個字看起來像這樣:entendendo- -se
。請筆記如果單字沒有在破折號上斷開,則不應添加額外的破折號!
然而,我無法將兩者結合起來......
答案1
經過一番嘗試和錯誤,我找到了一種方法來實現這兩個要求:
\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}
為了更方便,我們可以添加\defineshorthand{"-}{\babelhyphen{repeat}}
到序言中並替換entendendo-se
為entendendo"-se