
저는 minted
Python에서 코드를 강조 표시하는 데 사용하고 있습니다. 어떤 경우에는 사용자가 보게 될 출력과 코드를 혼합하고 싶습니다. 예를 들어 다음과 같은 빨간색 구문 오류 상자가 표시됩니다.
때로는 오류가 발생하지 않지만 강조 표시(두 번째 줄)를 끄고 싶습니다.
그래서 몇 줄의 강조 표시를 끄면서 동시에 줄 번호 매기기 및 배경과 같은 옵션을 유지할 수 있는지 알고 싶습니다.
MWE:
\documentclass{article}
\usepackage{minted}
\definecolor{bg}{rgb}{0.95,0.95,0.95}
\newminted{python3}{bgcolor=bg, linenos=true, tabsize=4}
\begin{document}
I want lines 2 and 4 not to be highlighted but still keep the background and line numbering.
\begin{python3code}
>>> type(3.14)
<class 'float'>
>>> print(name)
NameError: name 'name' is not defined
\end{python3code}
\end{document}
편집하다:명확히 하기 위해: 로 시작하는 강조 표시하려는 줄이 있고 >>>
로 시작하지 않는 강조 표시하려는 줄이 있습니다 >>>
. 강조하고 싶지 않은 라인도 있습니다. 따라서 기본값은 해당 줄을 강조 표시하는 것이지만 일부 줄에는 예외를 추가할 수 있습니다.
답변1
짧고 긴 것은 특별한 어휘 분석기를 작성하는 것입니다. 하지만 운이 좋으면 이미 존재합니다. 그냥 pycon
언어로 사용하세요.
\newminted{pycon}{bgcolor=bg, linenos=true, tabsize=4}
답변2
#
문제에 대한 매우 간단한 해결책은 a로 시작하지 않는 각 줄 앞에 를 추가하여 코드를 사전 처리하는 것입니다 >>>
. 이는 Python 콘솔 출력의 완벽한 복사본이 아니더라도 적어도 괜찮아 보일 것입니다. 이는 regex 옵션을 사용하거나 sed
Unix에서 다른 도구(예:)를 사용하여 많은 편집기로 수행할 수 있습니다 .
그래도 선두는 >>>
여전히 Python 어휘 분석기를 버릴 수 있습니다. 어떤 경우에는 해당 항목을 삭제할 수 있습니다(원본에 대한 충실도가 떨어지지만 출력이 주석처럼 보이기 때문에 읽을 수 있습니다).
답변3
minted
의 문서를 잠깐 살펴보면 패키지가 해당 기능을 지원하지 않는 것 같습니다. 어느 쪽이든 특정 줄 번호를 지정하는 것은 정말 보기 흉한 방법인 것 같습니다.
pygmentize
하지만 백엔드로 사용 하고 원하는 라인을~ 아니다매우 구체적인 패턴에 맞게 무시하면 모두 로 시작하므로 >>>
프로그래밍 방식으로 쉽게 감지하고 무시할 수 있어야 합니다.
보고자신만의 어휘 분석기 작성에 관한 pygments 문서, 일부 패턴(정규식)의 경우 다른 어휘 분석기가 문자열을 처리하도록 지정할 수 있는 것 같습니다. 그런 다음 로 시작하지 않는 줄을 처리 >>>
하고 로 시작하지 않는 줄을 >>>
일반 Python 어휘 분석기에 전달할 수 있습니다.