我需要在我的文档中打印一些 Unicode 字符(属于盒式绘图系列)。我找到了这个问题这与我的非常相似,但仅适用于 XeLaTeX。有没有使用 pdfLaTeX 的有效方法,还是我必须改用 XeLaTeX?
答案1
您可以使用符号(如果键盘上有的话)或宏。
\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}
答案2
这是 Herbert 的延伸回答以及对 Tobia 的回答评论。
inputenc
带有编码选项的软件包utf8
允许在 8 位 TeX 引擎的 TeX 输入文件中使用 UTF-8。作为先决条件,必须知道 Unicode 字符,以及它们如何映射到 TeX 代码。的 UTF-8 支持inputenc
将此与字体编码结合在一起。因此,软件包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 支持 Unicode 字符,并且包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}