ブロック要素文字 (pmboxdraw) が Verbatim および Verbatim (fancyvrb) 環境では幅が広すぎるように表示されます。

ブロック要素文字 (pmboxdraw) が Verbatim および Verbatim (fancyvrb) 環境では幅が広すぎるように表示されます。

ソースコードを逐語的にそして逐語的(fancyvrb) コードページ850 (0xDB、0xDC、0xDF) のボックス描画文字を使用する環境 (http://en.wikipedia.org/wiki/コードページ850)。テキストエディタを使用してソースコードファイルをUnicodeに変換し、LaTeXで次の最小限の例を作成しました(ソースコードは3SCのtubeから取得しました(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

オプションBlock/boxは、ブロック要素用のボックス テンプレートを期待します。この場合、ブロック文字は、おそらくタイプライター フォントの文字の位置を占めるはずです。

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

結果

ASCII アートの場合、ブロック文字が行をより適切に占有する必要があり、次\strutの方法が役立ちます。

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

\strutを使用した結果

関連情報