lstnewenvironment 并包括

lstnewenvironment 并包括

我有几个列表环境,例如:

\lstnewenvironment{JavaScript}[1][]  
{  
 \renewcommand*{\lstlistingname}{Code (JavaScript)}  
 \lstset{#1,language=Java}  
}  
{  
}  

这很完美,但我希望能够包含代码而不是像下面的代码片段那样插入:

\lstinputlisting[language=Java, label=myLabel,caption=myCaption]{includes/myFile.js}  

编辑:

目前我使用:

\begin{JavaScript}[caption=example, label=code:Example, style=numbers]  
  alert("hello world");  
\end{JavaScript}  

我想要一个外部文件(例如 example.js)并将其显示在我的 PDF 中。我可以使用以下方法实现此目的:

\lstinputlisting[language=Java, label=code:Example,caption=example]{includes/example.js}  

\begin{JavaScript}会显示“代码 (JavaScript) 1.1:示例”而不是“代码 1.1:示例”。我希望能够使用第一个,但链接一个外部文件,就像第二个一样 :)

答案1

对于您改变的环境\lstlistingname如果您想对您的输入执行相同的操作,您可以定义自己的输入命令:

\newcommand\javainput[2][]{%
 \bgroup%
   \renewcommand*{\lstlistingname}{Code (JavaScript)}   
   \lstinputlisting[language=Java,#1]{#2} 
\egroup}

相关内容