使用列表包诊断代码标题中的不正确缩进

使用列表包诊断代码标题中的不正确缩进

我正在使用 listings 包将代码插入到我的文档中,使用来自Stack Overflow 答案

在我的文档中,标题向右移动了大约一个制表位(相对于页码):

在此处输入图片描述

我正在使用定制的 LaTeX 文档类(MastersDoctoralThesis),我怀疑这就是问题所在。

这是我的 MWE:

\documentclass[11pt,oneside,english,singlespacing]{MastersDoctoralThesis}

\usepackage{color}
\usepackage{xcolor}
\usepackage{listings}% http://ctan.org/pkg/listings
\usepackage{caption}

\DeclareCaptionFont{white}{\color{white}}
\DeclareCaptionFormat{listing}{\colorbox{gray}{\parbox{\textwidth}{#1#2#3}}}
\captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white}

\begin{document}

Here is some code.

\begin{lstlisting}[label=some-code,caption={Some Code},language=python]
def prioritize():

    while True:

        if ( SOC <= 20 ):
            toggleRelay( relayHigh, 'off' )

\end{lstlisting}

\end{document}

答案1

我可以调试一些奇怪的交互(如果我真的需要的话:-),但日志告诉你它太宽了 106pt,所以这是可行的

\DeclareCaptionFormat{listing}{\hspace*{-53pt}\colorbox{gray}{\parbox{\textwidth}{#1#2#3}}\hspace*{-53pt}}

在此处输入图片描述

答案2

模板为所有标题设置了边距。您需要删除列表标题的边距。或者,如果您愿意,可以删除所有标题。只需margin=0pt在设置列表标题时添加即可。

lshaverListings

\documentclass[11pt,oneside,english,singlespacing]{MastersDoctoralThesis}

\usepackage{blindtext}
\usepackage{mwepage}
\usepackage{xcolor}
\usepackage{listings}% http://ctan.org/pkg/listings

\DeclareCaptionFont{white}{\color{white}}
\DeclareCaptionFormat{listing}{\colorbox{gray}{\parbox{\textwidth}{#1#2#3}}}
\captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white,margin=0pt}

\begin{document}

\blindtext
\begin{figure}
    \caption{\blindtext}
\end{figure}

\begin{lstlisting}[label=some-code,caption={Some Wombat},language=python]
def prioritize():

while True:
\end{lstlisting}

\end{document}

相关内容