일단 대학원 때에 비해서 R markdown을 주로 사용할 일이 많지 않기 때문에 갑자기 발생한 오류를 대처하기 위한 방법을 서술한 것이다.

더 좋은 방법이 있을 수 있지만 임시 대처를 하는 정도라면 괜찮은 방법이다.

결론부터 말하자면 latex패키지의 하나인 microtype의 slot 또는 text commands 에러가 난다는 것은 default로 설정된 글꼴에서 몇 몇 글자를 처리하지 못한다는 말이다.

보통 microtype이 이런 경우 개입해서 처리하지 못할법한 문자는 처리가 쉬운 다른 글자로 바꿔주는데 현재 사용 중인 한국어 글꼴인 경우 microtype의 설정값이 없어서 제대로 처리가 되지 않을 확률이 높다.

한국어 조판시 특정 한국어 글꼴을 사용하고 있을텐데 해당 글꼴이 영문, 숫자, 특수문자 중 조판을 못한다는 것이다.

해결방법은 “영문, 숫자, 한자 등을 모두 포함한 트루타입 글꼴을 사용” 하거나 또는 “한국어 글꼴만 별도로 지정하고 나머지는 default 글꼴을 사용하는 것”이다.

이 외에도 microtype 설정값을 만들어줘도 되지만 매우 번거롭고 단번에 해결되지 않을 확률이 높아서 여기서는 소개하지 않는다.

microtype패키지는 대표적인 한국어 조판용 패키지인 kotex를 설치, 이용하면 자동으로 사용되는데 kotex에는 한글폰트와 한자폰트, 메인폰트를 설정할 수 있는 명령어가 있다.

---
always_allow_html: yes
header-includes:
- \usepackage[hangul]{kotex}
- \setmainhangulfont{나눔고딕}
- \setmainfont{Microsoft Sans Serif}

output:
  pdf_document: 
    keep_tex: yes
    latex_engine: xelatex
  html_document:
    df_print: paged
---

rmd파일 속 헤더 내 kotex패키지 사용시 \setmainhangulfont{폰트이름} 명령어를 사용하면 한국어 조판시에는 해당 폰트를 사용하게 된다.

한국어 조판 때에만 사용하기 때문에 해당 글꼴이 처리하지 못하는 문자가 나오더라도 더 이상 microtype 에러가 나지 않는다.


1개의 댓글

w88 · 2021-05-12 7:37 오전

A person necessarily help to make significantly articles I would state.
That is the first time I frequented your website
page and to this point? I amazed with the analysis you made to make this particular
put up extraordinary. Magnificent job!

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다