列表标题

列表标题

我的每个列表都有标题。每个标题前面都有“列表 # [文本]”,其中 # 是列表的编号。每个标题都位于列表的中央。我如何修改这些标题的选项?以下是视觉效果:在此处输入图片描述

  1. 我想截断标题以仅包含 [text]
  2. 我想将标题的位置从中心移向左侧

答案1

  1. 如果列表有title,它将被用来代替caption,但没有“列表编号”行。

  2. 不幸的是,居中标题被硬编码到列表中,因此您需要更改代码。这里有一个解决方案:我刚刚定义了包\@makecaption,删除了第二个\hfil并添加了\bfseries(请注意,\lst@maketitle使用\@makecaption和删除了第一部分。如果您想让标题居中但标题左对齐,您需要修补\lst@maketitle而不是\@maketitle)。

结果如下:

\documentclass{article}
\usepackage{listings}
\makeatletter
\long\def\@makecaption#1#2{%
  \vskip\abovecaptionskip
    \bfseries #1: #2\par
  \vskip\belowcaptionskip}%
\makeatother

\begin{document}
\begin{lstlisting}[title={Some listing}]
a=b
\end{lstlisting}
\end{document}

相关内容