自动换行不带连字符的断词,在完全对齐的段落中将所有单词间的拉伸/收缩为零

自动换行不带连字符的断词,在完全对齐的段落中将所有单词间的拉伸/收缩为零

(1) 最近我一直在研究很多字体,遇到了一系列字体样本,设计师故意禁用连字符(作为一种风格效果),同时允许单词跨行断行。 (2) 他们似乎还在排版时将所有单词间或单词内的可拉伸/收缩粘连归零。我没有遇到关于前者 (1)(自动断字,没有连字符)的问题,也没有关于后者 (2) 的明确权威答案。如果存在 lualatex 解决方案,我会很满意,通用 latex 解决方案也欢迎。

以下是类型样本的屏幕截图:

在此处输入图片描述

答案1

对于第一部分,零宽度连接符(U+200D)作为连字符:

无连字符连字

对于第二部分,收缩和拉伸(以及连字符)是 TeX 的设计目的。你可以使用fontdimens 来查看可能的边界。TikZ 解决方案可能是可行的方法。

平均能量损失

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Noto Serif}
\hyphenchar\font=8205 %zerowidth joiner
%\spaceskip=0.6em
%\raggedright 
%\usepackage[document]{ragged2e}

% See: https://tex.stackexchange.com/questions/23921/how-to-shorten-shrink-spaces-between-words
\fontdimen2\font=1pt %space
\fontdimen3\font=0.1pt %stretch
\fontdimen4\font=0.1pt %shrink
\fontdimen7\font=1pt % extra space

\begin{document}


From Wikipedia:


\parbox{2in}{Newspeak is the language of Oceania, a totalitarian superstate that is the setting of George Orwell's dystopian novel Nineteen Eighty-Four (1984). To meet the ideological requirements of English Socialism (Ingsoc) in Oceania, the ruling Party created Newspeak,[1] a controlled language of simplified grammar and limited vocabulary, meant to limit the freedom of thought—personal identity, self-expression, free will—that threatens the ideology of the régime of Big Brother and the Party, who have criminalised such concepts into thoughtcrime, as contradictions of Ingsoc orthodoxy.[2][3][4]}

\end{document}

答案2

基于 Cicada 的回答,您可以添加字符扩展microtype;需要 LuaLaTeX。

\documentclass{article}
\usepackage[british]{babel}
\usepackage{fontspec}
\usepackage[expansion=true]{microtype}

\microtypesetup{stretch=100,shrink=0}

\setmainfont{XCharter}[
  WordSpace={0.5,0.1,0.1},
  Scale=0.9,
]

\frenchspacing
\prehyphenchar="200D
\hyphenpenalty=-5000 % make hyphenation more desirable, for demonstration purposes

\textwidth=0.85\textwidth

\begin{document}

\textsc{Newspeak was the official language} of Oceania and had been devised to meet 
the ideological needs of Ingsoc, or English Socialism. In the year 1984 there 
was not as yet anyone who used Newspeak as his sole means of communication, 
either in speech or writing. The leading articles in the \emph{Times} were written 
in it, but this was a \emph{tour de force} which could only be carried out by a 
specialist. It was expected that Newspeak would have finally superseded 
Oldspeak (or Standard English, as we should call it) by about the year 2050. 
Meanwhile it gained ground steadily, all Party members tending to use Newspeak 
words and grammatical constructions more and more in their everyday speech. 
The version in use in 1984, and embodied in the Ninth and Tenth Editions of 
the \textbf{Newspeak Dictionary}, was a provisional one, and contained many superfluous 
words and archaic formations which were due to be suppressed later. It is with 
the final, perfected version, as embodied in the Eleventh Edition of the 
Dictionary, that we are concerned here.
%
The purpose of Newspeak was not only to provide a medium of expression for the 
world-view and mental habits proper to the devotees of Ingsoc, but to make all 
other modes of thought impossible. It was intended that when Newspeak had been 
adopted once and for all and Oldspeak forgotten, a heretical thought---that is, 
a thought diverging from the principles of Ingsoc---should be literally 
unthinkable, at least so far as thought is dependent on words. Its vocabulary 
was so constructed as to give exact and often very subtle expression to every 
meaning that a Party member could properly wish to express, while excluding all 
other meanings and also the possibility of arriving at them by indirect methods. 
This was done partly by the invention of new words, but chiefly by eliminating 
undesirable words and by stripping such words as remained of unorthodox meanings, 
and so far as possible of all secondary meanings whatever. To give a single 
example. The word \emph{free} still existed in Newspeak, but it could only be used in 
such statements as ‘This dog is free from lice’ or ‘This field is free from weeds’. 
It could not be used in its old sense of ‘politically free’ or ‘intellectually free’ 
since political and intellectual freedom no longer existed even as concepts, and 
were therefore of necessity nameless. Quite apart from the suppression of 
definitely heretical words, reduction of vocabulary was regarded as an end in 
itself, and no word that could be dispensed with was allowed to survive. Newspeak 
was designed not to extend but to diminish the range of thought, and this purpose 
was indirectly assisted by cutting the choice of words down to a minimum.
%
Newspeak was founded on the English language as we now know it, though many 
Newspeak sentences, even when not containing newly-created words, would be barely 
intelligible to an English-speaker of our own day. Newspeak words were divided 
into three distinct classes, known as the A vocabulary, the B vocabulary (also 
called compound words), and the C vocabulary. It will be simpler to discuss each 
class separately, but the grammatical peculiarities of the language can be dealt 
with in the section devoted to the A vocabulary, since the same rules held good 
for all three categories.

\end{document}

(引自原文。)

在此处输入图片描述

相关内容