0
169 次瀏覽

請考慮以下這段在完全對齊(justified)文字中相當糟糕的換行:

你可以看到它被截斷了,或者至少右側有多餘的空間。這是因為我在這個範例中關閉了字距調整(letter spacing)。沒有更好的換行位置(就本討論而言),因此沒有地方可以插入額外空間,結果我們得到了一個未滿盒(under full box)。但誰會這樣做呢?他們肯定會開啟字距調整。所以讓我們開啟一點點:0.5%:

噁心。這遠超過 0.5% 的最大拉伸。發生了什麼事?嗯,XeTeX 需要決定如何處理像這樣非常糟糕的換行。事實上,它有一個特殊的處理過程,相當於對換行器說:你每行有多餘的 1in(預設透過 \emergencystretch=1in 設定),所以如果你能基於此進行對齊,就儘管去做。而 0.5% 恰好增加了足夠的字間距,使我們不需要多餘的 1in 空間。現在這行文字被展開,所有那些緊急拉伸(emergency stretch)都分佈在所有那些拉伸中,無論我們可能設定的任何最大值為何,字間距看起來超級寬且分散。

這是我們能做到的最好結果嗎?那些處理較短「詞」且不必應對缺乏詞間換行的人有福了。感謝的是,這段文字標記了換行點(wordbreaks),這些換行點會被轉換為 ZWSP。ZWSP 被定義為佔用字間距,所以我們可以耍點小聰明,在保持 ZWSP 的字間距的同時關閉字距調整。我們透過添加以下行來做到這一點:

```

\def\intercharspace{\leavevmode\nobreak\hskip\intercharskip}

```

到我們的 ptxprint-mods.tex(因為關閉字距調整會將 job .tex 檔案中的該行註解掉)。現在,如果我們再次關閉字距調整,我們會得到什麼?

嗯,沒好多少,但至少文字是按詞而非字素叢(grapheme clusters)斷開的。這可能好也可能不好。但沒有完美的解決方案。這取決於如何將壞事做到最好。

歡迎留言,只要別說:那就別在那裡換行!(這當然是正確的解決方案,但考慮到我們擁有的時間,並不總是可行的)

機器翻譯自 English
PTXprint (656 點) 提出 | 169 次瀏覽

2 個回答

0

如果我理解得正確的話...
1. 通常,ZWSP 擁有的空間與字間距(inter-letter space)一樣多,因此由它連接的詞不會變得比字距調整更緊
2. 目前,關閉字間距也會跳過 \intercharspace 的定義,因此 ZWSP 實際上是零寬度。
3. 對於上述情況,你建議讓 ZWSP 擁有一些空間是糟糕情況中最差的。
4. 為了做到這一點,你將 \intercharspace 宏設定為非空白(因為該宏始終用於 ZWSP 的定義中),但由於字間距已關閉,它實際上並未在字間位置(interchar postition)被使用。
好的,我想我現在明白了!
 

機器翻譯自 English
(1.1k 點) 提出
0

而為了以一種如肥皂劇般的風格結束,並讓所有對這種糟糕景象感到痛苦的人鬆一口氣。將文字寬度減少到字寬的 95%,我們得到了下一個詞:

呼!但另一時候,詞可能更長,所需的壓縮開始變得荒謬。所以你不能總是這樣蒙混過關。

此外,關於緊急拉伸(emergency stretch)的討論並不嚴格正確。是的,緊急拉伸會被添加到行盒(line box)中以降低其糟糕程度(badness)。但我們需要字間距至少為 0.5% 的原因是,ptxprint 有一個 bug,意味著任何低於該值的值都會變成 0。該 bug 已經修復了!真氣人。

機器翻譯自 English
(656 點) 提出
已編輯 提出

相關問題

0
3 個回答 271 次瀏覽
最近 PTXprint 為我們做了很多很棒的事情,排版出精美的聖經書籍,進步飛快 但今天突然冒出了這個段落(我稍後會附上該段落供比較): 我分析了原始文本,以確保裡面沒有奇怪的字符 調整清單中沒有任何更改 字間距和字元間距的選項框都未勾選 ... 現在仔細查看其餘文本,我發現還有幾個其他問題位置: 還有這個: 我已經建立了一個檔案包,並將其發送到支援信箱
jeffh 1.4k 提出 已提問 3月 28, 2023
0
2 個回答 243 次瀏覽
The project we are working on is failing the Quotation rule basic check because, it would seem, of where the period is ... . How do we configure Paratext to allow quoted words .
MSEAIT_LT 478 提出 已提問 12月 12, 2018
0
1 個回答 314 次瀏覽
A project I'm working with has extensive footnotes including Greek, Hebrew, Arabic and English words inside of them ... it possible to exclude footnotes from these sorts of checks?
mnjames 1.9k 提出 已提問 7月 20, 2018
0
1 個回答 52 次瀏覽
Mailto: <*Emails are not allowed*> PTXprint [2.7.17] - Error! Failed to create: MSB_BookofMark_XXC_ptxp.pdf ! File ... various settings on the Advanced tab. PTXprint Version 2.7.17
MnKN 134 提出 已提問 9月 13, 2025
0
2 個回答 282 次瀏覽
DZimmer 102 提出 已提問 4月 11, 2024
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Make every effort to keep the unity of the Spirit through the bond of peace.
Ephesians 4:3
3,048 個問題
6,007 個回答
5,672 則評論
2,028 位使用者