定义环境名称的同义词

定义环境名称的同义词

我目前正在写一些需要嵌入代码片段的作业。我已经找到了这个listings包,它运行良好。

我的“问题”是,我想写\begin{code}...\end{code}而不是\begin{lstlisting}...\end{lstlisting},这会更直观(在我看来)。

有办法实现这个吗?

答案1

最简单的方法是使用\lstnewenvironment可选参数,设置\lstset环境启动代码中的选项。这肯定比解决 listings 环境切换到逐字的特殊问题和注入细绳 \end{lstlisting}而不是代币\end{lstlisting}

\documentclass{article}


\usepackage{listings}

\lstnewenvironment{code}[1][]{%
  \lstset{language={C},#1}%
}{}

\begin{document}

\begin{lstlisting}[language={C}]
#include <stdio.h>
int main(int argc, char **argv)
{
  printf("Hello World");
  return(0);
}
\end{lstlisting}


\begin{code}
#include <stdio.h>
int main(int argc, char **argv)
{
  printf("Hello World");
  return(0);
}
\end{code}

\end{document}

请比较一下,这两种方式没有区别。

在此处输入图片描述

相关内容