如何在LaTeX中正确居中显示Verbatim代码段?
解决LaTeX中代码段居中显示的问题
你的代码存在两个核心问题:
verbatim环境会原样输出所有字符,包括$,所以你写的$t >= 30$不会被解析为数学公式,而是直接显示带$的文本;- 你设置的
minipage宽度为0.5\textwidth,远小于代码实际需要的宽度,导致代码换行,视觉上看起来没有居中。
下面提供几种可行的解决方案:
方案一:直接使用 center + verbatim(最简单)
去掉多余的 minipage,直接用 center 包裹 verbatim,整个代码块会自动在页面水平居中,代码内容保持左对齐(这是代码的常规显示方式)。
\documentclass{article} \usepackage{graphicx} \title{a} \author{you} \date{March 2023} \begin{document} \maketitle \section{Introduction} some text to seeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee \begin{center} \begin{verbatim} If t >= 30 show = 1 end \end{verbatim} \end{center} \end{document}
方案二:自动适配内容宽度的居中
如果需要限制代码块的最大宽度,同时让它自动适配内容宽度并居中,可以使用 varwidth 包的 varwidth 环境:
\documentclass{article} \usepackage{graphicx} \usepackage{varwidth} % 引入varwidth包 \title{a} \author{you} \date{March 2023} \begin{document} \maketitle \section{Introduction} some text to seeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee \begin{center} \begin{varwidth}{\linewidth} \begin{verbatim} If t >= 30 show = 1 end \end{verbatim} \end{varwidth} \end{center} \end{document}
方案三:支持数学符号的代码居中
如果需要让代码中的 t 显示为数学符号,可以使用 listings 包替代 verbatim,它支持在代码中嵌入LaTeX命令:
\documentclass{article} \usepackage{graphicx} \usepackage{listings} \title{a} \author{you} \date{March 2023} \begin{document} \maketitle \section{Introduction} some text to seeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee \begin{center} \begin{lstlisting} If $t$ >= 30 show = 1 end \end{lstlisting} \end{center} \end{document}
内容的提问来源于stack exchange,提问作者user17955877
相关产品推荐
相关产品推荐

