
Ich möchte mehrere mittig ausgerichtete Absätze erstellen. Dies ist der Code:
\usemodule[zhfonts] % zhfonts is a third-party module which created by Liyanrui, for selecting Chinese fonts,font size, etc.
% https://github.com/liyanrui/zhfonts
\starttext
\startalignment[middle]
天地玄黄
宇宙洪荒
\stopalignment
\midaligned{天地玄黄}
\midaligned{宇宙洪荒}
\startalignment[middle]
\hbox{天地玄黄}
\hbox{宇宙洪荒}
\stopalignment
\stoptext
Der obige Code erzeugt nicht den gewünschten Effekt, da er den Abstand zwischen den Zeichen nicht berücksichtigt. (Vergleichen Sie ihn mit dem \midaligned
Befehl.)
Wenn Sie die Zeichen in ein setzen hbox
, werden die beiden Absätze linksbündig ausgerichtet!
Wie ändert man \start ... \stopalignment
die Umgebung, um den durch den Befehl erzeugten Effekt zu erzielen \midaligned
?
Antwort1
Wenn Sie mit dem Befehl ConTeXt den Zeilenumbruch für chinesischen Text aktivieren, \setscript
fügen Sie zwischen allen chinesischen Buchstaben einen kleinen, lesbaren Abstand ein. Dieser Abstand wird benötigt, um den verfügbaren Platz in jeder Zeile auszufüllen und Lücken durch Satzzeichen und Anführungszeichen auszugleichen.
Beim Versuch, Text in einer alignment
Umgebung zu zentrieren, ist das Füllmaterial links und rechts vom Text nicht stark genug, um den dehnbaren Text zwischen den einzelnen Buchstaben aufzuheben. Sie können das broad
Schlüsselwort für die Ausrichtung verwenden, um ein stärkeres Füllmaterial zu erhalten, das verhindert, dass der Raum zwischen den Buchstaben zum Füllen der Zeile verwendet wird.
Eine andere Möglichkeit, den Abstand zwischen den Buchstaben zu vermeiden, besteht darin, sie in ein Feld einzufügen . \hbox
In diesem Fall müssen Sie jedoch \dontleavehmode
vor jedem Feld hinzufügen, um sicherzustellen, dass es in der Mitte der Zeile steht.
\definefontfamily [mincho] [rm] [MS Mincho]
\definefontfamily [mincho] [ss] [MS Gothic]
\definefontfamily [mincho] [mm] [Latin Modern Math]
\setupbodyfont [mincho]
\setscript [hanzi]
\starttext
\startalignment[middle]
天地玄黄\par
宇宙洪荒
\stopalignment
\blank
\startalignment[middle,broad]
天地玄黄\par
宇宙洪荒
\stopalignment
\blank
\startalignment[middle]
\dontleavehmode\hbox{天地玄黄}\par
\dontleavehmode\hbox{宇宙洪荒}
\stopalignment
\stoptext