我正在使用该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
。
以下是修复内容。
- 没有
openright
类别选项article
,因此也没有chapter
选项,因为这看起来像是原始文件minted
中的设置report
- 有一个拼写错误
\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}
输出
下面是输出