如何创建与该文档对应的命令:
\documentclass{article}%
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{minted}
\usepackage{tcolorbox}
\usepackage[french]{babel}
\definecolor{fondtitre}{RGB}{85,85,85}
\definecolor{fonddeboite}{RGB}{232,232,232}
\begin{document}
\begin{center}
\begin{tikzpicture}
% la boite
\node[rectangle,draw=fondtitre!100,fill=fonddeboite!100,inner sep=10pt,inner ysep=20pt] (mabox)
{
\begin{minipage}{12cm}
\begin{minted}{python}
my fist arg
\end{minted}
\end{minipage}
};
% le titre de la boite
\node[fill=fondtitre!100, text=white, rectangle] at (mabox.north){\sffamily\textbf{My second arg}};
\end{tikzpicture}
\end{center}
\end{document}
其中“我的第一个参数”和“我的第二个参数”是我的 newcommand 的两个参数。
在此先向能够给我提供一些想法的任何人表示感谢。
答案1
我无法编译你的代码,但我认为你想要获得类似的东西
借助tcolorbox
帮助可以轻松完成。以下代码声明了一个新环境mycode
,其中包含一个强制参数(框标题)和一个可选参数(可帮助更改默认定义)。您可以在此环境中编写代码。
\documentclass{article}%
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{minted}
\usepackage[all]{tcolorbox}
\usepackage[french]{babel}
\usepackage{lmodern}
\definecolor{fondtitre}{RGB}{85,85,85}
\definecolor{fonddeboite}{RGB}{232,232,232}
\newtcblisting{mycode}[2][]{%
listing engine=minted, minted language=python,
width=12cm,
enhanced, title=#2, colframe=fondtitre!100,
colback=fonddeboite!100, sharp corners,
fonttitle=\sffamily\bfseries, coltitle=white,
attach boxed title to top center = {yshift=-.5mm} ,
boxed title style={sharp corners, colback=fondtitre!100},
listing only,#1}
\begin{document}
\begin{center}
\begin{mycode}{My second arg}
my first arg
\end{mycode}
\end{center}
\begin{center}
\begin{mycode}[colback=red!30, width=8cm]{Another second arg}
Another first arg
\end{mycode}
\end{center}
\end{document}
笔记正如 Konrad Rudolph 指出的,原始代码并不正确minted
,因此我添加了tcolorbox 库python
的使用,作为列表引擎和所需语言。它应该是正确的,但我的系统失败了,我无法测试解决方案。顶部显示的结果是使用此代码的先前版本完成的,该版本不使用。我将尝试解决问题并显示正确的结果。minted
minted
python
minted
minted
更新:解决问题后,我可以确认以前的代码有效。以下是带有代码和几个格式选项的minted+MikTeX
示例:python
tcolorbox
\begin{mycode}[colback=red!10, width=8cm, drop fuzzy shadow]{Another second arg}
#!/usr/bin/env python
def main():
print "Hello, World!"
if __name__ == '__main__':
main()
\end{mycode}