我想要一个代码列表,但我列出的代码是 LaTeX。当我简单地使用时:
\usepackage{listings}
...
\begin{lstlisting}
...LaTeX document goes here...
\end{lstlisting}
清单如下所示:
我希望它看起来比这更专业一点。有人能帮我吗?
答案1
用于\lstset
自定义您的列表;选择特定的语言和美观的等宽字体;例如:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{bera}
\usepackage{listings}
\lstset{%
basicstyle=\small\ttfamily,
language=[LaTeX]{TeX}
}
\begin{document}
\begin{lstlisting}
\documentclass{article}
\usepackage{listings}
\begin{document}
Hello world!
\end{document}
\end{lstlisting}
\end{document}
答案2
如果你正在排版 LaTeX 代码并想要显示输出,我建议包裹showexpl
因为它在一个步骤中显示代码和输出:
代码:
\documentclass{article}
\usepackage{showexpl}
\usepackage{xcolor}
\usepackage{lipsum}
\lstdefinestyle{myLatexStyle}{
language=TeX,
basicstyle=\small\ttfamily,
backgroundcolor=\color{yellow},
numbers=left, numberstyle=\tiny, stepnumber=2, numbersep=5pt,
commentstyle=\color{red},
showstringspaces=false,
keywordstyle=\color{blue}\bfseries,
morekeywords={align,begin},
pos=l
}
\begin{document}
\noindent
Here is a basic example:
\begin{LTXexample}[style=myLatexStyle,width=0.60\linewidth]
\title{Sample Document}
\author{John Smith}
\date{\today}
\begin{document}
\maketitle
Hello World!
% This is a comment.
\end{document}
\end{LTXexample}
\end{document}
评论中指出,LTXexample
环境无法使用 和 排版完整的 LaTeX 输入文件\documentclass
。\usepackage
但事实并非如此,正如以下两个基本示例所示:
由于该LTXexample
环境旨在显示代码片段的效果,因此多页文档无法很好地显示。
笔记:
- 我发现的一个限制是包必须包含在主文件中。因此请注意,为了
\lipsum
在下面的示例中展示包的使用,必须更新前言以包含该包。 - 尽管此处的示例显示了不同的文档类,但似乎
\documentclass
忽略了可以通过使用来显示\documentclass{foobar}
但仍然会产生输出。
代码:
\documentclass{article}
\usepackage{showexpl}
\usepackage{xcolor}
\usepackage{lipsum}
\lstdefinestyle{myLatexStyle}{
language=TeX,
basicstyle=\small\ttfamily,
backgroundcolor=\color{yellow},
numbers=left, numberstyle=\tiny, stepnumber=2, numbersep=5pt,
commentstyle=\color{red},
showstringspaces=false,
keywordstyle=\color{blue}\bfseries,
morekeywords={align,begin},
pos=l
}
\begin{document}
\noindent
Here is a basic example:
\begin{LTXexample}[style=myLatexStyle,width=0.60\linewidth]
\documentclass{article}
\usepackage{listings}
\begin{document}
Hello world!
\end{document}
\end{LTXexample}
\noindent
Here is an example of using the \texttt{lipsum} package:
\begin{LTXexample}[style=myLatexStyle,width=0.60\linewidth]
\documentclass{book}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\end{document}
\end{LTXexample}
\end{document}
答案3
这是我最喜欢的设置:
\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}
\lstset
{
language={[LaTeX]TeX},
%alsolanguage={PGF/TikZ},
frame=single,
framesep=\fboxsep,
framerule=\fboxrule,
rulecolor=\color{red},
xleftmargin=\dimexpr\fboxsep+\fboxrule,
xrightmargin=\dimexpr\fboxsep+\fboxrule,
breaklines=true,
basicstyle=\small\tt,
keywordstyle=\color{blue}\sf,
identifierstyle=\color{magenta},
commentstyle=\color{cyan},
backgroundcolor=\color{yellow!10},
tabsize=2,
columns=flexible,
}
\begin{document}
\begin{lstlisting}
\documentclass{article}
\usepackage{listings}
\title{Sample Document}
\author{John Smith}
\date{\today}
\begin{document}
\maketitle
Hello World!
% This is a comment.
\end{document}
\end{lstlisting}
\end{document}
答案4
与 Gonzalo 的答案相同,但添加了一些趣味……
\documentclass{article}
\usepackage{listings,xcolor}
\begin{document}
\lstset{%
basicstyle=\small\ttfamily,language={[LaTeX]TeX}, numbersep=5mm, numbers=left, numberstyle=\tiny, % number style
breaklines=true,frame=single,framexleftmargin=8mm, xleftmargin=8mm,
prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
backgroundcolor=\color{green!5},frameround=fttt,escapeinside=??,
rulecolor=\color{red},
morekeywords={% Give key words here % keywords
maketitle},
keywordstyle=\color[rgb]{0,0,1}, % keywords
commentstyle=\color[rgb]{0.133,0.545,0.133}, % comments
stringstyle=\color[rgb]{0.627,0.126,0.941} % strings
%columns=fullflexible
}%
\begin{lstlisting}
\documentclass{article}
\usepackage{listings}
\title{Sample Document}
\author{John Smith}
\date{\today}
\begin{document}
\maketitle
Hello World!
% This is a comment.
\end{document}
\end{lstlisting}
\end{document}