我必须在报告中包含一段代码,但由于两个原因而出现溢出问题:注释和指令行太宽(这是我的主要问题)。
我可以随时删除注释,所以我并不介意,但我无法减少指令的宽度(尤其是考虑到有各种缩进级别)。所以我想知道是否可以调整的宽度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
,那么结果将会是这样的