如何避免重写代码行来生成代码块

如何避免重写代码行来生成代码块

我有以下几行:

\scriptsize
\begin{Shaded}
\lstset{language=C++,
                keywordstyle=\color{blue},
                stringstyle=\color{red},
                commentstyle=\color{green},
                morecomment=[l][\color{magenta}]{\#}
}
\begin{lstlisting}[frame=none]
    int main(){
        some_cpp_code
    }
\end{lstlisting}
\end{Shaded}
\normalsize

我用它来生成c++代码块。但是这些 Latex 代码行应该重复,因为我需要经常使用这些块。

所以我想做的事情如下:

首先定义一个“类”文档之前的行。

Latex_class Code_block

\scriptsize
\begin{Shaded}
\lstset{language=C++,
                keywordstyle=\color{blue},
                stringstyle=\color{red},
                commentstyle=\color{green},
                morecomment=[l][\color{magenta}]{\#}
}
\begin{lstlisting}[frame=none]
   ....
\end{lstlisting}
\end{Shaded}
\normalsize

然后使用类为避免重复这些行:

\begin{Code_block}
    int main(){
        some_cpp_code
    }
\end{Code_block}

但我想知道是否有任何方法可以做到这一点。任何帮助都将不胜感激。


已编辑

我使用的Shaded环境如下

\usepackage{color}
\definecolor{shadecolor}{RGB}{248,248,248}
\newenvironment{Shaded}{\begin{snugshade}}{\end{snugshade}}

相关内容