생성된 코드 표시에 제목 표시줄 추가

생성된 코드 표시에 제목 표시줄 추가

mintedPython 코드 블록 에 제목 표시줄을 추가하는 방법을 알고 싶습니다 . 다음은 제가 사용하고 싶은 제목 표시줄의 예입니다.

여기에 이미지 설명을 입력하세요

나는이 솔루션하지만 해당 솔루션에 게시된 코드를 pdftex -shell-escape. 게시된 코드를 실행하면해결책, 다음 오류가 발생합니다.

오류: 파일을 읽을 수 없습니다: [Errno 2] 해당 파일이나 디렉터리가 없습니다: 'codeboxes_1.pyg'

! 패키지 발행 오류: Pygments 출력 누락; \inputminted에 존재하지 않는 파일이 주어졌을 수 있습니다. 그렇지 않으면 outputdir 패키지 옵션이 필요하거나, 호환되지 않는 빌드 도구를 사용하거나, 누락된 파일과 함께 Frozencache를 사용하고 있을 수 있습니다.

지금까지 내 코드는 다음과 같습니다.

암호

\documentclass[letter, 12pt]{report}   

%###########################         FOR PYTHON         ####################################
% https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted
\usepackage{minted}
\usepackage{xcolor} % to access the named colour LightGray
\definecolor{LightGray}{gray}{0.9}

\begin{document}

\begin{minted}
[
frame=lines,
framesep=2mm,
baselinestretch=1.2,
bgcolor=LightGray,
fontsize=\footnotesize,
firstnumber = 41,
linenos
]
{python}
fig = plt.subplots(figsize=(12,2))
ax = plt.subplot(1,1,1)
ax.plot(times, x)
ax.grid(True)
plt.ylabel('amplitude [in A.U.]', fontsize=14)
plt.xlabel('time [in sec]', fontsize=14)
plt.xticks(fontsize=13)
plt.yticks(fontsize=13)
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
plt.show()
\end{minted}

\end{document}

답변1

귀하가 게시한 코드가 귀하가 게시한 오류 메시지를 어떻게 생성할 수 있는지 확인하기 어렵습니다. 아니면 연결된 솔루션에서 코드를 시험해 볼 때 오류 메시지를 얻었습니까? 파일에서 코드를 입력하려고 했는데 해당 파일이 없는 것 같습니다.

귀하가 게시한 실제 코드는 컴파일되지만 제목 표시줄이 없습니다. 이를 위해서는 tcolorbox 패키지가 필요합니다.

다음은 Python 코드에 사용하기 위해 연결한 솔루션의 코드를 수정하려는 시도입니다. 해당 솔루션에 정의된 다른 환경에는 신경 쓰지 않았습니다. 원하는 출력과 유사한 코드 블록을 생성하는 환경만 있으면 됩니다.

거기에 제공된 코드에 시작 줄 번호에 대한 네 번째 인수를 추가했습니다.

그러나 게시한 코드 스타일과는 여전히 상당히 다릅니다. 조정하고 싶은 부분이 있습니까?

\documentclass[letter, 12pt]{report}

\newcounter{commentCount}
\newcounter{filePrg}
\newcounter{inputPrg}

\usepackage[dvipsnames]{xcolor}
\usepackage{minted}

\usepackage[many]{tcolorbox}
\tcbuselibrary{listings}
\tcbuselibrary{minted}

\usepackage{ifthen}
\usepackage{fontawesome}

\usepackage{tabularx}
\newcolumntype{\CeX}{>{\centering\let\newline\\\arraybackslash}X}%
\newcommand{\TwoSymbolsAndText}[3]{%
  \begin{tabularx}{\textwidth}{c\CeX c}%
    #1 & #2 & #3
  \end{tabularx}%
}

\newtcblisting[use counter=inputPrg, number format=\arabic]{codeInput}[4]{
  listing engine=minted,
  minted language=#1,
  minted options={autogobble,linenos,breaklines,  firstnumber={#4}},
  listing only,
  size=title,
  arc=1.5mm,
  breakable,
  enhanced jigsaw,
  colframe=brown,
  coltitle=White,
  boxrule=0.5mm,
  colback=white,
  coltext=Black,
  title=\TwoSymbolsAndText{\faCode}{%
    \textbf{Input program \thetcbcounter}\ifthenelse{\equal{#2}{}}{}{\textbf{:} \textit{#2}}%
  }{\faCode},
  label=inputPrg:#3
}

\begin{document}

\begin{codeInput}{python}{A sample program.}{code01}{41}
fig = plt.subplots(figsize=(12,2))
ax = plt.subplot(1,1,1)
ax.plot(times, x)
ax.grid(True)
plt.ylabel('amplitude [in A.U.]', fontsize=14)
plt.xlabel('time [in sec]', fontsize=14)
plt.xticks(fontsize=13)
plt.yticks(fontsize=13)
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
plt.show()
\end{codeInput}

\end{document}

헤드바가 있는 파이썬

관련 정보