1 回答

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
您可以在 ASCII 文本文件中執(zhí)行的格式化種類非常有限。沒有 ASCII 控制字符表示文本塊將以某種方式對齊。您要么依賴文本查看器將自定義語法解釋為格式(請參閱 Markdown 格式),要么添加空格以在每一行上顯式創(chuàng)建所需的格式。
對于后者,可以在每行前插入空格來模擬對齊。為此,您需要選擇每行固定數(shù)量的字符(例如 40 個(gè)字符)作為格式設(shè)置的基礎(chǔ)。請注意,此最大線寬不一定與用戶使用的任何文本查看應(yīng)用程序中的屏幕大小相匹配。
左對齊算法基本上是一種自動換行算法。請參閱最佳自動換行算法?為了那個(gè)原因。
右對齊算法再次是自動換行,但有一個(gè)中間步驟:首先讓自動換行函數(shù)將文本拆分為自動換行。然后用等于最大行寬內(nèi)剩余的字符數(shù)的空格數(shù)填充每行的開頭。
因此,假設(shè)您的源文本是“此聲明沒有任何理由!” 并且您的最大行寬為 15 個(gè)字符。左對齊算法將輸出如下:
There is no
justification
for this
statement!
...右對齊算法將輸出:
There is no
justification
for this
statement!
如果要更改最大線寬,則需要再次運(yùn)行算法以使用新的最大線寬重排文本。
- 1 回答
- 0 關(guān)注
- 140 瀏覽
添加回答
舉報(bào)