xeCJK 사용 후 자체 정의된 축어적 환경 스타일이 변경되었습니다.

xeCJK 사용 후 자체 정의된 축어적 환경 스타일이 변경되었습니다.

그래서,이전 질문나는 일본어 ASCII 아트를 조판하기 위해 지정된 글꼴, 높이 및 너비를 사용하여 축어적 환경을 만드는 방법을 물었습니다. 그리고 그들은 저에게 도움을 주었습니다. 이제 저는 이를 수행하는 데 사용할 수 있는 적절한 패키지를 갖게 되었습니다. 다음과 같습니다:

\ProvidesPackage{jart}[2023/03/05 Japanese ASCII Art]
\RequirePackage{fancyvrb}
\RequirePackage{xfp}

\usepackage{fontspec}

\newfontfamily\verbatimfont[%
  NFSSFamily       = {myverbatimfont}%
]{aahub.ttf}

\fvset{fontsize=\small,xleftmargin=2em}

\newdimen\jart@num
\jart@num=16pt\relax

\newdimen\jart@px
\jart@px=16pt\relax

\DefineVerbatimEnvironment{jart}{Verbatim}{%
  fontfamily=myverbatimfont,%
  numbers=none,%
  framesep=0.5em,%
  rulecolor=white,%
  baselinestretch=\fpeval{\jart@num/\jart@px}%
}

aahub.ttf이러한 종류의 조판을 수행하기 위해 개발된 글꼴은 다음과 같습니다.https://font.aahub.org/

하지만 아시다시피 일본어 ASCII 아트를 조판하기 위해 만들어졌습니다. 문서 본문에 CJK 문자를 실제로 입력할 수 있다면 좋을 것 같습니다.

저는 을 사용하고 있으므로 파일에 XeLatex추가하기만 하면 됩니다 . \usepackage{xeCJK}그러나 결과적인 ASCII 아트가 손상되었습니다. 그것 없이는 \usepackage{xeCJK}잘 작동합니다.

예:

\documentclass{article}
\usepackage{jart}
% \usepackage{xeCJK}
\begin{document}
This is a minial working example of typesetting Japanese ASCII art.


\begin{jart}
                          ______
                     ,、.- '''"´          ` ' ‐ 、,
                  ,、 ''"                    `' .、
                ,、 '"          .......................         \
              /       ..........::::::::::::::::::::::::::::::::::::::::::::::....... ...   ヽ
            /      ....:::::::::::::::;;::::::::::::::::;:::;、r'" \:::::::::::::::::.....::..   ヽ
.          /      ..::::::::::::::::::::/ `ヽ,:/ノ     \ィ'ヽ:::::::::::::::..   ヽ
.         /      ..:::::::::::::::::::;、:ィ'    `  ヽ        ヽ  \:::::::::::::..   ',
        , '      ..:::::::::::::::;、r':/,'    .....          ヽ   ヽ::::::::::..  ',
.      , '      ..::::::::::;、 '" / ,'  / ,、-ヽ          ',    ヽ::::::::.. /
      /      ..::::::::/  /  ,'  //   ヽ.   ヽ    ヽ ',     ヽ::::::::/
     /     ...::::::::/  /    ;   /       ヽ  ヽ  ヽ 丶 ',    ヽ/
    /     ..::::::::::::i゙  /     ,'  i           ヽ ヾ、  ヽ \',    ',
.   /   ....:::::::::::::::::i../    ,、 ,'   | ,.、----- 、,  ',  ',.\  ヾ' 、ヽ    ',
  /   ..:::::::::::::::::::::/   ,、 '" ,'   |´          ',  !. ‐ヽ ヽ ヾ 、   ',
 / ....::::::::::::::::::::::/  ,、 '".--、i //!. |            ', l   ヽ. ',、. ', ` 、 ',
  \::::::::::::::::::::/ ,、 '" / ,r''''''|〃  | |,.|ィ===ミ、     ', |, -ノ-、  /‐!   | \ ',
   `' 、:.:/ ,、 '" |.  │ ! /~|   l ',            lノ===ミ、 /l |    |   \
    ,、r'ィ"‐-:、;;;_|   ヽ ヽ、|    i ',\\\               { l i lヽ !
   ´       ,'     \ l    .',、'、       ,  \\\!| l  ! ' ,ヽ !
          /       ` l    ',ヽヽ               |!| ヽ .| ',.ヽ!
.         /         l     ! `ヽ  、_..-、_,   /.ハ. V  ',
         /        ,、 -',    ',‐‐―┐           / /  |   ',
       , '     ,、- '''´   ',    ',    |.        ィ ´  /    |ー-、 ',
      /      l       ',    ',  ト> ‐ <´_!   /   / / ',
    /        ',        ',    ', ├---゙ニi゙、.,,,,,{  /    / / |\ ',
  /   /      ヽ       ',    ',│ ||  ||  ||ヽ     / ト, |  ヽ ヽ
'"    /        >         ',    ',ヽ. ||  ||  ||:}      /   | l. l   ヽ '

\end{jart}

\end{document}

아니요 xeCJK:

xeCJK 결과 없음

와 함께 xeCJK:

xeCJK와 함께

왜 이런 일이 발생했는지 잘 모르겠습니다. 이 문제를 해결하려면 어디를 살펴봐야 합니까? 고급 감사합니다.

답변1

ASCII 아트에는 CJK 글꼴 사용이 지원되는 문자가 포함되어 있습니다. 와 같은 U+FF64 U+30FD. CJK 글꼴에 이러한 문자 모양이 없으면 제대로 인쇄할 수 없습니다. 그동안 xeCJKCJK 문자와 다른 문자 사이에 공백을 삽입합니다. 당신은 그것을 지킬 의지가 없습니다.

xeCJK을 설정하여 에 의한 수정을 끌 수 있습니다 \xeCJKsetup{xeCJKactive=false}. 또는 해당 공백을 제거하고 CJK 글꼴을 변경할 수 있습니다.

% In jart.sty, choose one of them, I prefer the first one
\newcommand{\turnoffxecjk}{\xeCJKsetup{xeCJKactive=false}}
% \newcommand{\turnoffxecjk}{\xeCJKsetup{CJKglue=,CJKecglue=,}\CJKfontspec{aahub.ttf}}
% and
\DefineVerbatimEnvironment{jart}{Verbatim}{%
  formatcom=\turnoffxecjk,%
  fontfamily=myverbatimfont,%
  numbers=none,%
  framesep=0.5em,%
  rulecolor=white,%
  baselinestretch=\fpeval{\jart@num/\jart@px}%
}

관련 정보