lstlisting
LaTeX 코드를 강조하기 위해 사용자 정의 환경을 사용하고 있습니다 . 이를 사용하기 위해 몇 가지 키워드를 추가로 입력했습니다. 그러나 multirow
패키지는 해당 이름을 명령으로 사용합니다. \mathrm
수학 환경에서 와 마찬가지로 이 인스턴스에서 키워드 강조 표시를 제거하려면 어떻게 해야 합니까 ?
환경은 다음과 같습니다(필수 항목으로 축소).
\lstnewenvironment{customtex}
{\lstset{%
language=[LaTeX]{TeX},
...
keywordstyle=\color{darkred}\bfseries,
morekeywords={multirow},
}}{}
그리고 패키지 인스턴스에서는 \RequirePackage{multirow}
강조 표시되어서는 안 되지만, 사용 시에는 \multirow{...}{...}{...}
키워드로 강조 표시되어야 합니다.
답변1
lstset
LaTeX 코드가 포함된 목록에는 LaTeX 명령의 모양을 설정하는 특수 옵션과 강조 표시된 명령 목록에 항목을 추가하는 해당 옵션이 있습니다 . 이는 texcsstyle
(TeX 제어 시퀀스 스타일) 및 입니다 moretexcs
. 백슬래시도 강조 표시하려면(예를 들어 이 웹 사이트에서 수행된 것처럼) 대신 =*
을 사용할 수 있습니다 =
.
MWE:
\documentclass{article}
\usepackage{listings}
\usepackage[svgnames]{xcolor}
\lstnewenvironment{customtex}
{\lstset{%
language=[LaTeX]{TeX},
texcsstyle=*\color{DarkRed}\bfseries,
moretexcs={RequirePackage,multirow},
}}{}
\begin{document}
\begin{customtex}
\RequirePackage{multirow}
\multirow{1}{2}{3}
\end{customtex}
\end{document}
결과: