
여러 개의 중간 정렬된 단락을 만들고 싶습니다. 코드는 다음과 같습니다.
\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
위의 코드는 문자 사이의 거리를 처리하지 않기 때문에 원하는 효과를 생성하지 않습니다. (명령어와 비교해 보세요 \midaligned
.)
에 문자를 넣으면 hbox
두 문단이 왼쪽 정렬됩니다!
명령 \start ... \stopalignment
으로 생성된 효과를 얻기 위해 환경을 수정하는 방법은 무엇입니까 ?\midaligned
답변1
ConTeXt 명령 을 사용하여 중국어 텍스트에 대해 줄 바꿈을 활성화하면 \setscript
모든 중국어 문자 사이에 확인할 수 있는 작은 공백을 추가합니다. 이 공간은 각 줄의 사용 가능한 공간을 채우고 구두점과 따옴표의 공백을 보완하기 위해 필요합니다.
환경 에서 텍스트를 중앙에 배치하려고 하면 alignment
텍스트의 왼쪽과 오른쪽에 있는 필러 재료가 충분히 강하지 않아 각 문자 사이의 늘어나는 텍스트가 상쇄됩니다. broad
줄을 채우는 데 사용되는 문자 사이의 공간을 방지하는 더 강력한 필러 재료를 얻기 위해 정렬용 키워드를 사용할 수 있습니다 .
문자 사이의 공백을 방지하는 또 다른 방법은 문자를 에 넣는 것입니다. \hbox
하지만 이 경우 \dontleavehmode
각 상자 앞에 추가하여 선 중앙에 오도록 해야 합니다.
\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