Я пытаюсь использовать пакеты probsoln и listings для упражнений по информатике, но, похоже, эти пакеты несовместимы, когда задачи помещаются в отдельный файл. Любая помощь будет оценена по достоинству.
Определение проблемы в файле:
\documentclass{report}
\usepackage{probsoln,listings}
\begin{document}
\begin{onlyproblem}[fragile]
\lstset{language=Pascal}
\begin{lstlisting}
for i:=maxint to 0 do
begin
{ do nothing }
end;
Write('Case insensitive');
WritE('Pascal keywords.');
\end{lstlisting}
\end{onlyproblem}
\end{document}
работает хорошо, но когда я разделяю проблемный и основной документ, то код не компилируется.
Например, компиляция testPsLstLoad.tex
\documentclass{report}
\usepackage{probsoln,listings}
\begin{document}
\loadallproblems{testProblem}
\useproblem{program}
\end{document}
с testProblem.tex
\begin{defproblem}{program}
\begin{onlyproblem}[fragile]
\lstset{language=Pascal}
\begin{lstlisting}
for i:=maxint to 0 do
begin
{ do nothing }
end;
Write('Case insensitive');
WritE('Pascal keywords.');
\end{lstlisting}
\end{onlyproblem}
\end{defproblem}
дает:
pdflatex testPsLstLoad.tex
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
(./testPsLstLoad.tex
LaTeX2e <2020-02-02> patch level 5
L3 programming layer <2020-08-07>
(/usr/local/texlive/2020/texmf-dist/tex/latex/base/report.cls
Document Class: report 2019/12/20 v1.4l Standard LaTeX document class
(/usr/local/texlive/2020/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2020/texmf-dist/tex/latex/probsoln/probsoln.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/base/ifthen.sty)
(/usr/local/texlive/2020/texmf-dist/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the `?' option.
(/usr/local/texlive/2020/texmf-dist/tex/latex/amsmath/amstext.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/amsmath/amsgen.sty))
(/usr/local/texlive/2020/texmf-dist/tex/latex/amsmath/amsbsy.sty)
(/usr/local/texlive/2020/texmf-dist/tex/latex/amsmath/amsopn.sty))
(/usr/local/texlive/2020/texmf-dist/tex/latex/etoolbox/etoolbox.sty)
(/usr/local/texlive/2020/texmf-dist/tex/latex/xkeyval/xkeyval.sty
(/usr/local/texlive/2020/texmf-dist/tex/generic/xkeyval/xkeyval.tex
(/usr/local/texlive/2020/texmf-dist/tex/generic/xkeyval/xkvutils.tex
(/usr/local/texlive/2020/texmf-dist/tex/generic/xkeyval/keyval.tex)))))
(/usr/local/texlive/2020/texmf-dist/tex/latex/listings/listings.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/listings/lstmisc.sty)
(/usr/local/texlive/2020/texmf-dist/tex/latex/listings/listings.cfg))
(/usr/local/texlive/2020/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def)
(./testPsLstLoad.aux) (./testProblem.tex) (./testPsLstLoad.vrb
(/usr/local/texlive/2020/texmf-dist/tex/latex/listings/lstlang1.sty)
Package Listings Warning: Text dropped after begin of listing on input line 1.
)
! LaTeX Error: \begin{lstlisting} on input line 1 ended by \end{onlyproblem}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.6 \useproblem{program}
?
Спасибо, Джон.
решение1
Я знаю, поэтому прошу прощения... :)
Я нашел, как мне кажется, еще одну несовместимость между листингами и пробсолном.
Я использую шаблон «Orange Book». В листингах у меня написано «Превышена емкость TeX, извините [размер стека параметров=10000]».
без моего документа компилируется отлично...
\usepackage{bbding} \usepackage{amsmath} \usepackage{probsoln} \usepackage{enumitem}%,hyperref} \usepackage{nccmath} % для уравнения ceqn center в тегах выравнивания \usepackage{pdfpages} \usepackage{caption} \usepackage{multicol} % многоколоночные тексты \usepackage{wrapfig} % для таблиц и рисунков в многоколонках \usepackage{multirow} % для таблиц \usepackage{epigraph} \usepackage{longtable} %\usepackage{listings}
С наилучшими пожеланиями