我想把源代码放进逐字和逐字(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},
}