Я использую 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}