我是 LaTeX 新手,正在使用朋友提供的模板:
\subsection{P2P library}
The library is implemented in C-Sharp and provides two basic facilities - maintaining a member list at every instance and the support for receving and multicasting UDP data.
The public methods it has are
\begin{lstlisting}
void setPorts(int recvHere \newline, int sendFrom
为什么在 PDF 输出中没有,int sendFrom
移动到新行?事实上它只是显示在 PDF 输出中。
答案1
正如 Peter Grill 所评论的,lstlisting
这是一个逐字环境,这意味着其内容将完全按照代码中显示的内容进行打印。由于这还包括换行符,因此您只需在代码中添加换行符即可。
\begin{lstlisting}
void setPorts(int recvHere
, int sendFrom
\end{lstlisting}
答案2
你可以使用 转为 latex escapechar=\&
。然后将你想要执行的 LaTeX 宏括在一&
对中:
如果只是插入新行,最好按照 TorbjørnT 的解决方案手动操作。但如果您想嵌入更有用的宏,则escapechar
需要指定。
\documentclass{article}
\usepackage{listings}
\lstset{% Add other global options here
basicstyle=\small\sffamily,
escapechar=\&% char to escape out of listings and back to LaTeX
}
\begin{document}
\subsection{P2P library}
The public methods it has are
\begin{lstlisting}
void setPorts(int recvHere &\newline& int sendFrom
\end{lstlisting}
\end{document}
答案3
另一个解决方法是定义逃出内部场地。
\lstset{escapeinside={\%*}{*)}
意味着您可以在 %* 和 *) 字符之间写入 latex 命令。
例如,
\begin{lstlisting}
void setPorts(int recvHere, %*\newline*) int sendFrom)
答案与彼得斯的答案相似,但由于我的声誉不够,我无法在他的答案中添加评论......)