\newcommand에서 오류 발생: Runaway Argument? \lstKV@OptArg@@이 완료되기 전에 단락이 종료되었습니다.

\newcommand에서 오류 발생: Runaway Argument? \lstKV@OptArg@@이 완료되기 전에 단락이 종료되었습니다.

listings문서에서 패키지를 사용하고 있습니다 . 명령 사용을 단순화하기 위해 \lstinline다음과 같은 새 명령을 만들었습니다.

\newcommand{\lstcs}[1]{\lstinline[language=[Sharp]C,breaklines=false]#1}

그리고 나는 또한 다음을 시도했습니다.

\newcommand{\lstcs}[1]{\lstinline[language=[Sharp]C,breaklines=false]{#1}}

물론 저는 이 명령을 사용하여 C# 코드를 인라인으로 나열합니다. 이것은 정확히 동일한 오류 메시지가 나타나는 샘플 문서입니다.

\documentclass{scrreprt}
\usepackage{listings}
\newcommand{\lstcs}[1]{\lstinline[language=[Sharp]C,breaklines=false]#1}

\begin{document}

This is \lstcs{CSharpCode()}.

\end{document}

오류 메시지는 다음과 같습니다.

Runaway argument?
CSharpCode(). 
./test.tex:8: Paragraph ended before \lstKV@OptArg@@ was complete.
<to be read again> 
               \par 
l.8 

? 
[1{/usr/local/texlive/2012/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
(./test.aux) )
(\end occurred inside a group at level 1)

### simple group (level 1) entered at line 7 ({)
### bottom level
(\end occurred when \ifx on line 7 was incomplete)
(\end occurred when \ifx on line 7 was incomplete)
(\end occurred when \ifx on line 7 was incomplete)
(\end occurred when \ifx on line 7 was incomplete)
(\end occurred when \ifx on line 7 was incomplete) </usr/local/texlive/2012/texm
f-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb>
Output written on test.pdf (1 page, 11039 bytes).
SyncTeX written on test.synctex.gz.
Transcript written on test.log.

저는 LaTeX를 처음 접했고 \newcommand이전에 사용해 본 적이 없으며 여기에 문제가 있다고 가정합니다.

당신이 나를 도울 수 있기를 바랍니다!

고마워요 - 크리스

답변1

]너무 일찍 닫히는 것을 보면 혼란스러워지므로 Sharp별도의 중괄호 쌍으로 묶어야 합니다. 또한 주위에 또 다른 교정기가 필요합니다.#1

\documentclass{scrreprt}
\usepackage{listings}
\newcommand{\lstcs}[1]{\lstinline[language={[Sharp]C},breaklines=false]{#1}}

\begin{document}

This is \lstcs{CSharpCode()}.

\end{document}

관련 정보