我如何创建与此 .tex 对应的命令

我如何创建与此 .tex 对应的命令

如何创建与该文档对应的命令:

\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的使用,作为列表引擎和所需语言。它应该是正确的,但我的系统失败了,我无法测试解决方案。顶部显示的结果是使用此代码的先前版本完成的,该版本不使用。我将尝试解决问题并显示正确的结果。mintedmintedpythonmintedminted

更新:解决问题后,我可以确认以前的代码有效。以下是带有代码和几个格式选项的minted+MikTeX示例:pythontcolorbox

\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}

在此处输入图片描述

相关内容