LuaTeX/XeTeX 版本

LuaTeX/XeTeX 版本

我需要在我的文档中打印一些 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}

相关内容