LaTeX 源代码列表

LaTeX 源代码列表

我想要一个代码列表,但我列出的代码是 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}

在此处输入图片描述

相关内容