设置 \inputminted 的全局选项

设置 \inputminted 的全局选项

我正在使用该minted包来突出显示源代码。

如何全局设置选项参数\inputminted?我想这样做是因为我有很多 php 代码文件将包含在我的文档中,而且我不想每次都浪费时间指定选项。

我尝试使用以下命令定义 mint 的默认值:

\newmint{php}{
 %options
 }

然后尝试:

....
\inputminted{php}{foo.php}
....

编译之后,我所做的设置\newmint将被忽略。

有办法解决这个问题吗?

LE:这是我到目前为止得到的:

\documentclass[a4paper,12pt,fleqn,twoside,openright]{article}
%php syntax highlight
\userpackage[chapter]{minted}
\definecolor{mintedbackground}{rgb}{0.95,0.95,0.95}
\newmint{php}{
bgcolor=mintedbackground,
fontfamily=tt,
linenos=true,
numberblanklines=true,
numbersep=12pt,
numbersep=5pt,
gobble=0,
frame=leftline,
framerule=0.4pt,
framesep=2mm,
funcnamehighlighting=true,
tabsize=4,
obeytabs=false,
mathescape=false
samepage=false, %with this setting you can force the list to appear on the same page
showspaces=false,
showtabs =false,
texcl=false,
}

\begin{document}
     \inputmined{php}{foo.php}
\end{document}
% The settings for php are ignored.

LE:我在 minted 的文档中发现我可以使用\newmintedfile最后为定义一个新的特定于语言的别名\inputminted

问题是,我无法从文档中的示例中了解如何定义全局设置。

答案1

一些修复

嗯,你走对了路。你只需更改\newmint\newmintedfile,在修复 MWE 中的某些设置后,它将使用-shell-escape传递给的选项进行编译pdflatex

以下是修复内容。

  1. 没有openright类别选项article,因此也没有chapter选项,因为这看起来像是原始文件minted中的设置report
  2. 有一个拼写错误\inputmined。应该是\inputminted

解释\newmintedfile

语法是\newmintedfile[<alias>]{<language>}{<external file>}

用法与 相同\newmint。如果您明确指定了它的别名,那么phpcode您可以使用\phpcode{foo.php},否则,file将 附加到语言名称,在这种情况下,您可以写\phpfile{foo.php}。文档对此的解释不太好,但您可以找到与命令及其定义的对应关系\newmint

代码

foo.php这是我使用的文件:

<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>

文件如下foobar.php

<?php
//This is a PHP comment line

/*
This is
a PHP comment
block
*/
?>

最后是 LaTeX 代码。

\documentclass[preview,border=5]{standalone}
%php syntax highlight
\usepackage[section]{minted}
\definecolor{mintedbackground}{rgb}{0.95,0.95,0.95}

\newmintedfile[phpcode]{php}{
bgcolor=mintedbackground,
fontfamily=tt,
linenos=true,
numberblanklines=true,
numbersep=5pt,
gobble=0,
frame=leftline,
framerule=0.4pt,
framesep=2mm,
funcnamehighlighting=true,
tabsize=4,
obeytabs=false,
mathescape=false
samepage=false, %with this setting you can force the list to appear on the same page
showspaces=false,
showtabs =false,
texcl=false,
}

\usepackage{kantlipsum}

\begin{document}

\phpcode{foo.php}

\kant[1]

\phpcode{foobar.php}

\end{document}

输出

下面是输出

在此处输入图片描述

相关内容