编辑:感谢您的评论。我已经编辑了问题以供使用,lstnewenvironment
但它仍然给出相同的错误。我会在阅读手册时将问题保留在这里lstlistings
。
以下代码在文档中使用时对我有用:
\begin{adjustwidth*}{0pt}{-5cm}
\begin{lstlisting}
function test() { return (void *) test_func(a, b, 3); }
\end{lstlisting}
\end{adjustwidth*}
但是当我想为其创建自定义环境时,Overleaf 给出了错误
任务中止,没有找到合法的 \end。
梅威瑟:
\documentclass{article}
\usepackage[right=10cm]{geometry} % Create a large right margin
\usepackage{listings}
\usepackage{changepage}
% Create a new environment for code samples that can extend into the outer margin.
\lstnewenvironment{config}{%
\begin{adjustwidth*}{0pt}{-5cm}
}{%
\end{adjustwidth*}
}
\begin{document}
\begin{config}
function test() { return (void *) test_func(a, b, 3); } asdfasdfa asdf
\end{config}
\end{document}
答案1
显然,changepage
而且listings
互相争斗。但是,您不需要changepage
此应用程序。
\documentclass{article}
\usepackage[right=10cm]{geometry} % Create a large right margin
\usepackage{listings}
\usepackage{lipsum}
% Create a new environment for code samples that can extend into the outer margin.
\lstnewenvironment{config}[1][]{\lstset{xrightmargin=-5cm,#1}}{}
\lstset{basicstyle=\ttfamily,columns=fullflexible} % so my eyes don't bleed
\begin{document}
\lipsum[1][1-4]
\begin{config}
function test() { return (void *) test_func(a, b, 3); } asdfasdfa asdf
\end{config}
\end{document}
您可以通过调用“\begin{config}[]”以通常的方式添加listings
选项config