
누군가가 하나의 옵션을 tcolorbox 목록 에 동시에 minted options
전달할 수 있는 방법을 알려줄 수 있습니까 ? 내 말은, 아래 MWE에 표시된 것처럼 일부 옵션이 에 전달되고 일부 옵션이 에 표시된 것처럼 전달되기를 원한다는 것입니다 .tcolorbox
pythoncode
minted options
#1
tcolorbox
#2
\documentclass{book}
\usepackage[left=1.00in, right=1.00in, top=1.00in, bottom=1.00in]{geometry}
\usepackage{amsmath}
\usepackage{tcolorbox}
\tcbuselibrary{minted,skins,breakable}
\usepackage{hyperref}
\hypersetup{ %
pdfborder = {0 0 0},
colorlinks=true,
}
\newtcblisting{pythoncode}[2][]{
listing engine=minted,
breakable,
colback=bg,
colframe=black!70,
listing only,
minted style=colorful,
minted language=python,
minted options={linenos=true,numbersep=3mm,texcl=true,#1},
left=5mm,enhanced,
overlay={\begin{tcbclipinterior}\fill[black!25] (frame.south west)
rectangle ([xshift=5mm]frame.north west);\end{tcbclipinterior}},
#2,
}
\begin{document}
\section{Python example}
\begin{pythoncode}[colback=red!5!white,colframe=red!75!black,title=My nice heading]
# indent your Python code to put into an email
import glob
# glob supports Unix style pathname extensions
python_files = glob.glob('*.py')
for file_name in sorted(python_files):
print ' ------' + file_name
with open(file_name) as f:
for line in f:
print ' ' + line.rstrip()
print
\end{pythoncode}
\end{document}
답변1
당신이 한 일은 작은 변화에도 효과가 있었습니다. pythoncode
이와 같은 환경 에 옵션을 전달해야 합니다.
\begin{pythoncode}[linenos=true,]{colback=red!5!white,colframe=red!75!black,title=My nice heading}
tcolorbox
옵션을 (즉, ) 필수 로 설정했으므로 옵션이 안으로 들어갈 pythoncode
때 중괄호로 묶어야 합니다 .minted
brakets
\documentclass{book}
\usepackage[left=1.00in, right=1.00in, top=1.00in, bottom=1.00in]{geometry}
\usepackage{amsmath}
\usepackage{tcolorbox}
\tcbuselibrary{minted,skins,breakable}
\usepackage{hyperref}
\hypersetup{ %
pdfborder = {0 0 0},
colorlinks=true,
}
\newtcblisting{pythoncode}[2][]{
listing engine=minted,
breakable,
colback=bg,
colframe=black!70,
listing only,
minted style=colorful,
minted language=python,
minted options={numbersep=3mm,texcl=true,#1},
left=5mm,enhanced,
overlay={\begin{tcbclipinterior}\fill[black!25] (frame.south west)
rectangle ([xshift=5mm]frame.north west);\end{tcbclipinterior}},
#2,
}
\begin{document}
\section{Python example}
\begin{pythoncode}[linenos=true,]{colback=red!5!white,colframe=red!75!black,title=My nice heading}
# indent your Python code to put into an email
import glob
# glob supports Unix style pathname extensions
python_files = glob.glob('*.py')
for file_name in sorted(python_files):
print ' ------' + file_name
with open(file_name) as f:
for line in f:
print ' ' + line.rstrip()
print
\end{pythoncode}
\end{document}
약간의 설명:
정의할 때
\newtcblisting{pythoncode}[2][]{
당신은 환경에 대해 두 가지 주장이 있을 것이라고 말하고 있습니다 pythoncode
. 비어 있는 경우 기본값이 없음 []
인 첫 번째 인수를 만듭니다 . optional
선택적 인수는 내부에서 사용되거나 brackets
기본값(여기에서는 없음)이 사용되는 경우 간단히 생략할 수 있습니다. 두 번째 인수는 필수이며 중괄호 안에 넣습니다. 아무 값도 지정하지 않으려면 간단히 사용하세요 {}
(아무 것도 사용할 필요가 없는 첫 번째 것과는 달리). 따라서 옵션이 없으면 사용해야합니다
\begin{pythoncode}{}
결론은 [2][]
두 개의 인수가 있다는 것을 의미합니다. 첫 번째 인수는 선택 사항이며 기본값이 있습니다 none
.