我正在使用Latex编写列出我所有代码的程序,我正在关注此事:
http://texblog.wordpress.com/2008/04/02/include-source-code-in-latex-with-listings/
它可以工作,但我的代码运行在页面的一侧。我怎样才能解决这个问题? 附加问题:如何让它突出显示语法?我确实把lang设置为Java。
答案 0 :(得分:9)
尝试这样的事情:
\documentclass{article}
\usepackage{listings}
\usepackage{color}
\usepackage{textcomp}
\definecolor{listinggray}{gray}{0.9}
\definecolor{lbcolor}{rgb}{0.9,0.9,0.9}
\lstset{
language=c,
basicstyle=\scriptsize,
upquote=true,
aboveskip={1.5\baselineskip},
columns=fullflexible,
showstringspaces=false,
extendedchars=true,
breaklines=true,
showtabs=false,
showspaces=false,
showstringspaces=false,
identifierstyle=\ttfamily,
keywordstyle=\color[rgb]{0,0,1},
commentstyle=\color[rgb]{0.133,0.545,0.133},
stringstyle=\color[rgb]{0.627,0.126,0.941},
}
\begin{document}
\begin{lstlisting}
#include <stdio.h>
int main()
{
// A line comment
printf("A really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, REALLY long line. && & \n");
return 0;
}
\end{lstlisting}
\end{document}
产生:
答案 1 :(得分:2)
你有没有考虑过
\lstset{...}
breaklines=true -> sets automatic line breaking
breakatwhitespace=false -> automatic breaks happen at whitespace
答案 2 :(得分:2)
你想用
打开换行符\lstset{breaklines=true}
在命令选项中。现在你可能不喜欢它的选择,但这是另一个问题。
答案 3 :(得分:2)
不是直接包含源,而是从文件中包含它:
\lstinputlisting{/Volumes/docs/p2k_files_in_qt.sh}
你会以这种方式节省大量工作。或者,如果您必须将source包含在文件中,则为lgrind。
\lstset{ %
language=C, % choose the language of the code
basicstyle=\footnotesize, % the size of the fonts that are used for the code
numbers=left, % where to put the line-numbers
numberstyle=\footnotesize, % the size of the fonts that are used for the line-numbers
stepnumber=1, % the step between two line-numbers. If it's 1 each line will be numbered
numbersep=5pt, % how far the line-numbers are from the code
%backgroundcolor=\color{Blue}, % choose the background color. You must add \usepackage{color}
showspaces=false, % show spaces adding particular underscores
showstringspaces=false, % underline spaces within strings
showtabs=false, % show tabs within strings adding particular underscores
frame=single, % adds a frame around the code
tabsize=2, % sets default tabsize to 2 spaces
captionpos=b, % sets the caption-position to bottom
breaklines=true, % sets automatic line breaking
breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
escapeinside={\%*}{*)}, % if you want to add a comment within your code
% size, font
commentstyle=\fontsize{7}{7}\selectfont,
basicstyle=\ttfamily\fontsize{7}{7}\selectfont,
keywordstyle=\color{red},
commentstyle=\color{blue},
stringstyle=\color{green}
}
答案 4 :(得分:1)
使用breaklines=true
e。 G:
\lstnewenvironment{bash}
{\lstset{language=bash,breaklines=true,frame=trBL}}
{}