命令 \minted 和 \mintinline 是否可以不依赖软件包列表而产生圆角?是否需要 tcolorbox 和 tikz?

命令 \minted 和 \mintinline 是否可以不依赖软件包列表而产生圆角?是否需要 tcolorbox 和 tikz?

我使用 XeLaTeX,但我不能同时使用两者或类似或重复的包,因为有人说在 XeLaTeX 中这是坏主意。我只想使用 minted。

这里有两个答案提供带有圆角的内联代码,但仅适用于lstinlineminted

但在这些环节中,它们都依赖于listings

我从两个链接中的一个中取出了一些代码,并重新调整了一些命令和单词,主要是替换listing. forminted\lstinline. for \mintline,而不依赖于listings,但没有 则无法工作listings。以下是较小的代码:

\documentclass[10pt, a4paper, portuguese]{abntex2}
\usepackage{etoolbox}
\usepackage{tcolorbox}
\tcbuselibrary{minted, skins, xparse}

\BeforeBeginEnvironment{minted}{\vspace{2mm}\begin{tcolorbox}[colback=bg, colframe=bg, arc=1.2pt]}%
\AfterEndEnvironment{minted}{\end{tcolorbox}\vspace{2mm}}%

\usepackage{newverbs}
\definecolor{inline}{RGB}{187,57,82}
\newverbcommand{\cverb}{\color{inline}}{}
\usemintedstyle{paraiso-dark}

\DeclareTotalTCBox{\commandbox}{ s v }
{minted, enhanced, frame hidden, arc=2pt}
{\IfBooleanTF{#1}{\textcolor{red}{\ttfamily\bfseries > }}{}%
\mintinline{#1}{#2}^#3^}

\begin{document} 

\commandbox{php}{<?php echo "Hello!" ?>}

\end{document}

并且不依赖于listingstikz来自让内联代码打印更美观,我只替换{\texttt{#2}}{\mintinline{#1}{#2}},但我测试了,它没有起作用,错误:

\documentclass[10pt, a4paper, portuguese]{abntex2}

%...

\newcommand{\inlinecode}[2]
{
    \tikz[baseline=(s.base)]
    {
        \node(s)
        [
            rounded corners,
            fill = whitesmoke, % background color
            % draw = prussianblue,    % border of box
            text = solitudeblue,  % text color
            inner xsep = 2pt,    % horizontal space between text and border
            inner ysep = 0pt,    % vertical space between text and border
            text height = 2ex,    % height of box
            text depth = 1ex,    % depth of box
            #1                  % other options
        ]{\mintinline{#1}{#2}};
    }
}

\begin{document} 

The basic code in PHP \inlinecode{php}{<?php echo "Hello $name" ?>}

\end{document}

相关内容