monospaced 글꼴에 한글 폰트와 영문 폰트를 섞어쓸 때 두 가지를 고려해야 정렬이 이루어집니다.(xetexko와 luatexko가 동일합니다)
1. 한글과 영문자의 크기 비율
한글 폰트와 영문 폰트를 지정한 후
\begingroup \ttfamily \setbox0\hbox{a} \setbox2\hbox{가} \showthe\wd0 \showthe\wd2 \endgroup
이걸 실행해서 두 값을 확인하고 계산기로 2*\wd0 / \wd2 를 계산한 값을 한글 폰트에 Scale 옵션값으로 줍니다. 혹은 FakeStretch 옵션값으로 주어도 됩니다.
2*\wd0 / \wd2
2. 일관된 공백 크기
영문자 다음 공백과 한글 다음 공백의 크기가 동일하도록 다음과 같은 명령을 줍니다.
\AddToHook{ttfamily}{\spaceskip=0.5em\relax}
여기서 숫자 값은 위의 \wd0 값을 10으로 나눈 후 pt를 em으로 대체하여 사용합니다.
\wd0
(2021/02/19 추가) luatexko에서는 이처럼 spaceskip을 설정하는 번거로움을 없앴습니다. TeX Live 2021에 들어갈 예정입니다.
KTUG 한국 텍 사용자 그룹
monospaced 글꼴에 한글 폰트와 영문 폰트를 섞어쓸 때 두 가지를 고려해야 정렬이 이루어집니다.(xetexko와 luatexko가 동일합니다)
1. 한글과 영문자의 크기 비율
한글 폰트와 영문 폰트를 지정한 후
이걸 실행해서 두 값을 확인하고 계산기로
2*\wd0 / \wd2
를 계산한 값을 한글 폰트에 Scale 옵션값으로 줍니다. 혹은 FakeStretch 옵션값으로 주어도 됩니다.2. 일관된 공백 크기
영문자 다음 공백과 한글 다음 공백의 크기가 동일하도록 다음과 같은 명령을 줍니다.
여기서 숫자 값은 위의
\wd0
값을 10으로 나눈 후 pt를 em으로 대체하여 사용합니다.(2021/02/19 추가) luatexko에서는 이처럼 spaceskip을 설정하는 번거로움을 없앴습니다. TeX Live 2021에 들어갈 예정입니다.