太長的無意義單字自動換行/連字符

太長的無意義單字自動換行/連字符

由於沒有連字符無意義單字的模式,因此應使用\hyphenation{longword}、 \seqsplit{longword} 等方法單獨對它們進行連字符/斷開。

然而,應該有一個解決方案來自動執行此操作,因為連字符/斷行的需要取決於單字的位置,並且對可能放置在行尾的任何單字進行單獨的連字符並不容易。

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

正如您所看到的,連字符/斷開可能是不必要的或極其必要的。事實上,應該有一種方法來禁止將文字繼續到頁邊距。這就是 MS Word 等文字編輯器所做的事情。我知道Tex它遠遠無法與 MS Word 相比,但它可以提供線索。我認為將長單字發送到下一行是否比將其寫在頁邊距及其他位置更好。

當這類字詞較多時,問題就出現了,單獨處理是相當困難的。

答案1

我擔心你必須死一個或另一個。要么你

  • 預先標記您的隨機單詞,然後有很好的可能性將它們連字符或特殊處理
  • 或者您留意“段落中的橫框過滿”警告,並\hyphenation{...}在必要時添加例外
  • 或者你走 MS-Word 路線。

(要求有點太多了,TeX 在沒有標記形式的幫助的情況下識別出“vsraajlkuhzjsp”是一個隨機詞,但“Antidistitutionalarianism”不是)

所以在我的選擇中,第一個方法是正確的一,例如,寫一些類似\rw{foobar}原始文字的內容。然後你可以讓 TeX 操作這些隨機單詞,包括使用\language帶有一組隨機連字符模式(可以輕鬆組成)的特殊字符來連字符,或者使用一些宏在字符串中的隨機位置插入顯式連字符,或者...

但如果標記不是一個選項,那麼您當然可以選擇選項 3:

  • 您可以使用\raggedrightWord 經常使用的方法來隱藏此類問題
  • 或者您可以使用類似的方法\setlength\emergencystretch{.5\textwidth}在(幾乎)所有情況下獲得合理的文字。當然,代價是看起來非常難看的段落。

結果在您的文字上看起來像這樣(已\\刪除): 在此輸入影像描述

相關內容