在此示例中,我希望连续显示方框字符,但目前还不是这样:
\documentclass{article}
\usepackage{fontspec}
\usepackage{dejavu}
\setmonofont{DejaVu Sans Mono}
\renewcommand{\baselinestretch}{0.1}
\begin{document}
\begin{verbatim}
┞─┬─┬─┬─┬─┬─┬─┬─┦
│0│1│0│1│0│0│1│1│
└─┴─┴─┴─┴─┴─┴─┴─┘
\end{verbatim}
\end{document}
使用当前代码我得到以下信息:
在我的文本编辑器中没有问题:
答案1
我认为行间距是插入\vbox
es 之间的最小垂直间距。它由 控制\lineskip
,并具有初始值1pt
。在下面的示例中,我\lineskip
在每个环境中都将其设置为零verbatim
,它似乎有效。
\documentclass{article}
\usepackage{etoolbox}
\usepackage{fontspec}
\usepackage{dejavu}
\setmonofont{DejaVu Sans Mono}
\AtBeginEnvironment{verbatim}{\setlength{\lineskip}{0pt}}
\begin{document}
\begin{verbatim}
┞─┬─┬─┬─┬─┬─┬─┬─┦
│0│1│0│1│0│0│1│1│
└─┴─┴─┴─┴─┴─┴─┴─┘
\end{verbatim}
\end{document}
答案2
作为muzimuzhi Z 说,问题是\lineskip
,其默认值为 1pt。由于线条会相互接触,因此 TeX 会插入\lineskip
粘连。
但是,您的代码还存在其他问题:行首的空格被保留,因此您的verbatim
环境会被缩进。
我认为,应该绝不缩进环境的内容verbatim
。如果需要缩进,最好使用fancyvrb
功能;其中可能包含初始空格,但我不推荐这样做。
您还可以\fvsetup{formatcom=\setlength{\lineskip}{0pt}}
在序言中说明,您是否希望此设置在每个Verbatim
环境中都成立(请注意大写首字母)。
\documentclass{article}
\usepackage{fontspec}
\usepackage{fancyvrb}
\setmonofont{DejaVu Sans Mono}
\begin{document}
\begin{Verbatim}[formatcom=\setlength{\lineskip}{0pt}]
┞─┬─┬─┬─┬─┬─┬─┬─┦
│0│1│0│1│0│0│1│1│
└─┴─┴─┴─┴─┴─┴─┴─┘
\end{Verbatim}
\begin{Verbatim}[formatcom=\setlength{\lineskip}{0pt}]
┞─┬─┬─┬─┬─┬─┬─┬─┦
│0│1│0│1│0│0│1│1│
└─┴─┴─┴─┴─┴─┴─┴─┘
\end{Verbatim}
\begin{Verbatim}[formatcom=\setlength{\lineskip}{0pt},gobble=4]
┞─┬─┬─┬─┬─┬─┬─┬─┦
│0│1│0│1│0│0│1│1│
└─┴─┴─┴─┴─┴─┴─┴─┘
\end{Verbatim}
\begin{Verbatim}[formatcom=\setlength{\lineskip}{0pt},gobble=4,xleftmargin=\parindent]
┞─┬─┬─┬─┬─┬─┬─┬─┦
│0│1│0│1│0│0│1│1│
└─┴─┴─┴─┴─┴─┴─┴─┘
\end{Verbatim}
\end{document}