我正在尝试使用 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}