如何防止源代码溢出列表中的框架?

如何防止源代码溢出列表中的框架?

我正在尝试使用 listing 包在框架中识别我的源代码。示例代码如下:

\documentclass[article]{llncs}
    \usepackage[english]{babel}
    \usepackage[english]{varioref}
    \usepackage[utf8]{inputenc}
    \usepackage{graphicx}
    \usepackage{color}
    \usepackage[usenames,dvipsnames]{xcolor}
    \usepackage{listings}
    \lstset{basicstyle=\ttfamily\small\color{RoyalBlue}}
    \usepackage{csquotes}
    \usepackage{xcolor}
\begin{document}
\begin{lstlisting}[rulecolor=\color{black},frame=single,label={lst:dir},caption= example code that overflows the frame]

sssssssss sssss sssssssss ssssssssssss sssssssssssssssssssssssssss

\end{lstlisting}
\end{document}

问题是代码的某些部分(字母“s”)溢出了框架。如果有人能提出任何解决此问题的建议,我将不胜感激。请注意,我不想使用换行符或任何类似的东西。事实上,我不想不惜一切代价扰乱我的代码!谢谢!

答案1

如果源代码对齐不是什么大问题,下面将columns=fullflexible使用可变大小的打字机字体来减小行宽:

\documentclass{article}
\usepackage{color}
\usepackage{listings}
\lstset{
  basicstyle=\fontfamily{lmvtt}\selectfont\small\color{blue},
  columns=fullflexible,
}

\begin{document}
\begin{lstlisting}[
  rulecolor=\color{black},
  frame=single,
]
sssssssss sssss sssssssss ssssssssssss sssssssssssssssssssssssssss
\end{lstlisting}
\end{document}

有关更多详细信息和示例,请参阅我的回答回答类似的问题。

结果

字体较小

可以\small使用较小的字体大小:

\small,,,,。\footnotesize​​\scriptsize\tiny

看 ”LaTeX2e 的简短介绍", "表 6.2:字体大小"。

选项linebreaks——对问题早期版本的回答

选项breaklines允许在源代码列表中换行:

\documentclass{article}
    \usepackage{color}
    \usepackage{listings}
    \lstset{basicstyle=\ttfamily\small\color{blue}}
\begin{document}
\begin{lstlisting}[
  breaklines,
  rulecolor=\color{black},
  frame=single,
]
sssssssss sssss sssssssss ssssssssssss sssssssssssssssssssssssssss
\end{lstlisting}
\end{document}

结果

相关内容