块元素字符(pmboxdraw)在 verbatim 和 Verbatim(fancyvrb)环境中显示得太宽

块元素字符(pmboxdraw)在 verbatim 和 Verbatim(fancyvrb)环境中显示得太宽

我想把源代码放进逐字逐字(fancyvrb)使用代码页 850(0xDB、0xDC、0xDF)中的方框绘制字符的环境(参见http://en.wikipedia.org/wiki/Code_page_850)。我使用文本编辑器将源代码文件转换为 Unicode,并在 LaTeX 中创建了以下最小示例(源代码取自 tube by 3SC(http://www.pouet.net/prod.php?which=3397)仅供参考):

\documentclass[a4paper]{scrbook}
\usepackage{fancyvrb}
\usepackage[utf8]{inputenc}
\usepackage{pmboxdraw}
\author{Wolfgang Keller}
\title{Minimal example}

\begin{document}

\begin{verbatim}
;  (▄) ( ) ▄ ) ( )   256b intro by baze/3SC for Syndeecate 2001   use NASM to
;  ▀█▀ █▄█ ███ ██▄   loveC: thanks, Serzh: eat my socks dude ;]   compile the
;  ( ) ( ) ( ) ( )   e-mail: [email protected], web: www.3SC.sk    source code
\end{verbatim}

\begin{Verbatim}[commandchars=\\\{\}]
;  (▄) ( ) ▄ ) ( )   256b intro by baze/3SC for Syndeecate 2001   use NASM to
;  ▀█▀ █▄█ ███ ██▄   loveC: thanks, Serzh: eat my socks dude ;]   compile the
;  ( ) ( ) ( ) ( )   e-mail: [email protected], web: www.3SC.sk    source code
\end{Verbatim}
\end{document}

问题是:块元素绘制得太宽 - 破坏了 ASCII 艺术。pmboxdraw 的文档(http://mirrors.ctan.org/macros/latex/contrib/pmboxdraw/pmboxdraw.pdf) 并没有真正告诉我如何解决这个问题。

答案1

OptionBlock/box有帮助,它需要一个用于块元素的框模板。在这种情况下,块字符可能应该占据打字机字体中字符的位置:

\pmboxdrawsetup{
  Block/box={\texttt{0}},
}

结果

对于 ASCII 艺术,块字符可能应该更好地占据行,\strut然后有所帮助:

\pmboxdrawsetup{
  Block/box={\texttt{0}\strut},
}

使用 \strut 的结果

相关内容