更改或忽略 `tcblisting` 的转义字符

更改或忽略 `tcblisting` 的转义字符

在下面的 MWE 中,$default^{ok}$由 LaTeX 排版,我定义了转义字符。每次我需要在代码中使用管道时,是否可以修改此设置?我可以简单地关闭转义吗?

这将节省我输入LaTeX 文件中定义的|\pipeline|代码的时间。\newcommand\pipeline{|}

一个简单的解决方案是定义一个不带转义字符的环境,但如果我可以使用一个单一的环境,那就太好了。

也许 pgfkeys 可以完成这项工作,但我仍在阅读书中有关 pgfkeys 的部分“LaTeX 和朋友们”

\documentclass[12pt,a4paper]{article}

\usepackage[many, minted]{tcolorbox}
\usetikzlibrary{tikzmark, calc, fit}

\makeatletter
% Source: https://tex.stackexchange.com/a/124688/6880
\newcommand{\mynewminted}[3]{%
    \newminted[#1]{#2}{#3}%
    \tcbset{myminted/#1/.style = {
        minted language = #2, 
        minted options  = {#3}
    }}
}

\newcommand{\create@new@coding@env@title}[1]{%
    \mynewminted{for-coding-#1}{python}{escapeinside=||}
    \newtcblisting[]{coding-#1}[2][1]{%
        listing only,
        width = ##1\linewidth,
        title = ##2,
        myminted/for-coding-python,
    }
}

\create@new@coding@env@title{python}

\makeatother

\begin{document}

\begin{coding-python}{Basic loop Python}
def oneloop(n):            
    for i in range(n):  |$default^{ok}$|
        print(i**2)

oneloop(10)
\end{coding-python}

\end{document}

相关内容