列表浮动中的中心代码

列表浮动中的中心代码

出于纯粹的懒惰,我决定lstlisting使用该包提供的选项来创建浮点数:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{listings}

\begin{document}
\begin{lstlisting}[float,caption={Test}]
  void a() {
    foo();
  }
\end{lstlisting}
\end{document}

这将创建一个浮点数,其中的代码是左对齐的:

在此处输入图片描述

如果代码行很短,这在带有文本的页面上看起来很可笑。

当然,很容易居中通过创建“常规”图形(可能使用自定义类型列表),但这种方法具有简洁的吸引力。

有没有办法让代码在这个设置中居中?

答案1

在不修改更多内部结构的情况下实现自动居中并不容易listings,但通过调整左边距可以轻松地将任何特定示例居中:

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{listings}

\begin{document}
\begin{lstlisting}[float,caption={Test},xleftmargin=.4\textwidth]
  void a() {
    foo();
  }
\end{lstlisting}
\end{document}

相关内容