调整列表宽度

调整列表宽度

我必须在报告中包含一段代码,但由于两个原因而出现溢出问题:注释和指令行太宽(这是我的主要问题)。

我可以随时删除注释,所以我并不介意,但我无法减少指令的宽度(尤其是考虑到有各种缩进级别)。所以我想知道是否可以调整的宽度listing

带溢出的 MWE:

\documentclass[a4paper,11pt]{article}
\usepackage{listings}

\begin{document}
\begin{lstlisting}
    This is a long instruction that I use as example and I hope it is long enough
\end{lstlisting}
\end{document}

答案1

您可以使用

\lstset{
    breaklines=true,                    % sets automatic line breaking
%   breakatwhitespace=false,            % sets if automatic breaks should only happen at whitespace
    prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}} % just as an example
}

prebreak选项会在行末放置一个箭头以指示自动换行。

完整 MWE:

\documentclass[a4paper,11pt]{article}
\usepackage{listings}
\lstset{
    breaklines=true,                    % sets automatic line breaking
%   breakatwhitespace=false,            % sets if automatic breaks should only happen at whitespace
    prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}} % just as an example
}

\begin{document}
\begin{lstlisting}
    This is a long instruction that I use as example and I hope it is long enough
\end{lstlisting}
\end{document}

结果

还有许多其他选项可供调整,请查看文档。此外,正如 TeXnician 所提到的,您可以使用手动换行符。

编辑:如果你想要较小的字体大小,你可以使用,例如,

basicstyle=\scriptsize\ttfamily

作为选项\lstset,那么结果将会是这样的

结果2

相关内容