pdfLaTeX로 상자 그리기 문자 인쇄

문서에서 일부 유니 코드 문자 (상자 그리기 계열)를 인쇄해야합니다. 이 질문 이 저와 매우 유사하지만 XeLaTeX에만 유효합니다. pdfLaTeX로이 작업을 수행하는 유효한 방법이 있습니까? 아니면 대신 XeLaTeX를 사용해야합니까?

Answer

기호를 사용할 수 있습니다. , 키보드 또는 매크로에서 사용할 수있는 경우

\documentclass{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{pmboxdraw} \usepackage{newunicodechar} \newunicodechar{└}{\textSFii} \newunicodechar{├}{\textSFviii} \newunicodechar{─}{\textSFx} \begin{document} \begin{verbatim} ├── Maildir/ └── scripts/ ├── backup.sh* └── OLD/ ├── backup_cleanup.sh.old └── backup.sh.old* \end{verbatim} \end{document} 

여기에 이미지 설명 입력

댓글

  • 그것 ' 괜찮습니다. 말 그대로 환경이지만 lstlisting 환경에서는 여전히 동일한 문제가 있습니다.
  • 감사합니다. 잘 작동합니다. 그러나 \newunicodechar 정의를 입력해야하는 이유를 설명해 주시겠습니까? 왜 ' 이러한 문자를 처음부터 정의하지 pmboxdraw합니까?
  • utf8 인코딩은 ' 이러한 문자를 모릅니다. 캐릭터와 명령어를 정의해야하는 이유
  • @Tobia \newunicodechar가있는 것은 필요하지 않습니다. pmboxdraw 패키지가 이미 자동으로 처리하고 있습니다. 내 답변을 참조하세요.

답변

이것은 Herbert의 답변 에 대한 확장이며 Tobia의 댓글

에 대한 답변입니다. a>.

패키지 inputenc와 인코딩 옵션 utf8를 사용하면 TeX 입력 파일에서 UTF-8을 사용할 수 있습니다. 8 비트 TeX 엔진. 전제 조건으로 유니 코드 문자가 TeX 코드에 매핑되는 방식을 알아야합니다. inputenc의 UTF-8 지원은이를 글꼴 인코딩과 결합합니다. 따라서 패키지 pmboxdraw는 인공 글꼴 인코딩 pmboxdraw 및 관련 매핑 파일 pmboxdrawenc.dfu를 정의합니다. 그런 다음 자동으로로드됩니다. 이렇게하면 Herbert의 예가 다음과 같이 단순화됩니다.

% arara: pdflatex \listfiles \documentclass{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{pmboxdraw} \begin{document} \begin{verbatim} ├── Maildir/ └── scripts/ ├── backup.sh* └── OLD/ ├── backup_cleanup.sh.old └── backup.sh.old* \end{verbatim} \end{document} 

결과

다음으로 컴파일 됨 :

This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) 

\listfiles의 버전 목록 :

 *File List* article.cls 2014/09/29 v1.4h Standard LaTeX document class size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option) fontenc.sty t1enc.def 2005/09/27 v1.99g Standard LaTeX file inputenc.sty 2015/03/17 v1.2c Input encoding file utf8.def 2016/02/28 v1.1s UTF-8 support for inputenc t1enc.dfu 2016/02/28 v1.1s UTF-8 support for inputenc ot1enc.dfu 2016/02/28 v1.1s UTF-8 support for inputenc omsenc.dfu 2016/02/28 v1.1s UTF-8 support for inputenc pmboxdraw.sty 2011/03/24 v1.1 Poor man"s box drawing characters (HO) ltxcmds.sty 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) kvsetkeys.sty 2012/04/25 v1.16 Key value parser (HO) infwarerr.sty 2010/04/08 v1.3 Providing info/warning/error messages (HO) etexcmds.sty 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) ifluatex.sty 2010/03/01 v1.3 Provides the ifluatex switch (HO) kvdefinekeys.sty 2011/04/07 v1.3 Define keys (HO) pmboxdrawenc.dfu 2011/03/24 v1.1 UTF-8 support for box drawing characters kvoptions.sty 2011/06/30 v3.11 Key value format for package options (HO) keyval.sty 2014/10/28 v1.15 key=value parser (DPC) t1cmtt.fd 2014/09/29 v2.5h Standard LaTeX font definitions *********** 

LuaTeX / XeTeX 버전

LuaTeX 및 XeTeX는 유니 코드 문자를 지원하며 inputenc 패키지는 더 이상 사용되지 않습니다. 그러나 pmboxdrawenc.dfu를 사용하여 문자 활성화 및 기호 확장 :

% arara: xelatex % or % arara: lualatex \documentclass{article} \usepackage{pmboxdraw} \begingroup \def\DeclareUnicodeCharacter#1{% \begingroup \lccode`\~="#1\relax \lowercase{\endgroup \global\catcode`~=\active \gdef~% }% }% \input{pmboxdrawenc.dfu}% \endgroup \begin{document} \begin{verbatim} ├── Maildir/ └── scripts/ ├── backup.sh* └── OLD/ ├── backup_cleanup.sh.old └── backup.sh.old* \end{verbatim} \end{document} 

댓글

  • 아니요. 제공되는 시스템 사용 Linux Mint 18 (Ubuntu 16.04)에서 2015.20160320-1 버전 인 apt-get install texlive-xetex texlive-fonts-recommended lmodern를 사용하면 행 문자없이 예제가 나옵니다.

. ' 다른 패키지가 누락되었을 수 있습니까? 내 TeX Live가 너무 오래 되었나요?

  • @Tobia 문제는 XeTeX가 아니라 pdfTeX 를 위해하는 것이 었습니다. 답변을 업데이트하고 LuaTeX / XeTeX에 대한 버전을 추가했습니다.
  • iv id = 패키지에 대해 [utf8x] 옵션을 실수로 사용했기 때문에 오류가 발생했습니다. “be746ab233″>
  • . \usepackage[utf8]{inputenc}로 수정하면 모두 정상적으로 작동했습니다. . . BTW, \listfiles가 무엇을해야하는지 잘 모르시겠습니까? 나는 그것을 필요로하지 않았다. (Pdf-LaTeX.)

  • @Henke \listfiles가 답변에 표시된 버전 목록을 생성합니다.
  • 예, 좋습니다. 말이 되네요. 저는 ' 이전에 이러한 로그와 출력 파일에 대해 걱정 한 적이 없습니다. 내 예제 스크래치 에서 그것을 찾기 위해 약간 훑어 봐야했습니다. Logs and output files 버튼 옆에 div id = “305bdbf4e4″>
  • 다음에 오른쪽 상단에 Other logs & files > log file가 있습니다. overleaf의 버전은 비교적 최신 버전 인 것 같습니다 : pmboxdraw.sty 2019/12/05 v1.4 Poor man's box drawing characters (HO). BTW, 귀하의 답변 (newunicodechar 제외)은 허용 된 답변보다 낫고 찬성 할 가치가 있습니다. 🙂

    답글 남기기

    이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다