
Quiero hacer varios párrafos alineados en el medio, este es el código:
\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
El código anterior no produce el efecto deseado, ya que no se ocupa de la distancia entre caracteres. (Compárelo con el \midaligned
comando).
Cuando se colocan los caracteres en un hbox
, ¡los dos párrafos quedan justificados a la izquierda!
¿Cómo modificar \start ... \stopalignment
el entorno para obtener el efecto producido por \midaligned
el comando?
Respuesta1
Cuando habilita el salto de línea para texto chino con el \setscript
comando ConTeXt, agregue un pequeño espacio verificable entre todas las letras chinas. Este espacio es necesario para llenar el espacio disponible en cada línea y para compensar los espacios en blanco de la puntuación y las comillas.
Cuando intenta centrar el texto en un alignment
entorno, el material de relleno a la izquierda y a la derecha del texto no es lo suficientemente fuerte como para cancelar el texto extensible entre cada letra. Puede usar la broad
palabra clave para la alineación para obtener un material de relleno más fuerte que evite que el espacio entre las letras se use para llenar la línea.
Otra forma de evitar el espacio entre las letras es ponerlas en a \hbox
pero en este caso hay que agregar \dontleavehmode
delante de cada cuadro para asegurar que quede centrado en la línea.
\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