한자의 정렬

한자의 정렬

여러 개의 중간 정렬된 단락을 만들고 싶습니다. 코드는 다음과 같습니다.

\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

여기에 이미지 설명을 입력하세요

관련 정보