سلام
شمارندهای به نام exblock
در سند شما به صورت زیر معرفی شده بود:
\newcounter{exblock}[chapter]
مقدار این شمارنده به طور پیشفرض صفر است و با فصل جدید تغییر میکند. به این معنا که
این شماره به طور خودکار در شروع هر فصل بازنشانی میشود و به مقدار اولیهاش (صفر) بر میگردد. از این سیستم شمارهگذاری در تعریف محیطهای \question
، \printsolutions
و \exheader
استفاده شده است.
با اجرای ماکروی \exheader
در شروع هر فصل مقدار این شمارنده به صفر برمیگردد و باعث میشود محیط لیست شما در درون محیط لیست دیگری از همان نوع توزیع شود و خطای زیر را از تک دریافت کنید:
Too deeply nested. \item
تا زمانی که فصل جدیدی ایجاد نگردد، این سیستم مشکلی نخواهد داشت. به عنوان نمونه اگر ساختار زیر را قبل از شروع فصل دوم به کار ببرید بدون خطا فایل شما اجرا خواهد شد و خروجی زیر را دارید:
\chapter{پاسخ تمرینات}
\printsolutions
\stop
خروجی:
اگر این شمارنده را با تعریف زیر نیز ارائه دهید، اگرچه خطا مرتفع میشود، اما شمارهگذاریهای شما به درستی انجام نمیشوند:
\newcounter{exblock}
سیستم شمارهگذاری صفحات نیز به درستی کار نمیکند.
از شمارندهای به نام mycounter
برای اصلاح ساختار فایل شما استفاده کردهام که مستقل از فصل است.
در ابتدای هر فصل شمارهی فصل را در سیستم قبلی ذخیره میکردید. این کار را به صورت اتوماتیک و نیز همزمان کار بازنشانی شمارهی mycounter
را در ابتدای هر فصل با ساختار زیر اصلاح کردهام:
\newcommand{\mchapter}[1]{\chapter{#1}
\label{ex.\arabic{chapter}}
\setcounter{mycounter}{1}}
کدهای شما به صورت زیر تغییر میکنند که با مقایسه با کدهای خودتان تفاوتها را خواهید دید:
\documentclass{book}
\usepackage{lipsum,adjmulticol}
\usepackage{color}
%%%%%%
\usepackage{newfile}
\usepackage{xifthen}
\usepackage{enumitem}
\usepackage{amsmath}
\usepackage{stackengine}
%%%%%%%%%%%%%%%
\usepackage{ptext}
%%%%%%%%%%%%%%%%%%%%% دستورات مربوط به زی پرشین
\usepackage{xepersian}
%\settextfont[Scale=1]{Yas}
%\settextfont{XB Niloofar}
\settextfont{XB Kayhan}
%%%%%%%%%%%%%%%%
\definecolor{myblueii}{RGB}{63,200,244}
\setlength{\parindent}{0pt}
\newoutputstream{solutions}
\openoutputfile{\jobname.solutions}{solutions}
\newcounter{exblock}
\newcounter{mycounter}
\newcounter{exquestion}
\newcounter{exsubquestion}
\newlist{questionlist}{enumerate}{1}
\newlist{solutionlist}{enumerate}{1}
\newlist{subquestionlist}{enumerate*}{1}
\newlist{subsolutionlist}{enumerate*}{1}
\setlist[questionlist,solutionlist]{label=\arabic*.}
\setlist[subquestionlist,subsolutionlist]{label=(\alph*),itemjoin={},before=~}
\newcommand{\exheader}{%
\ifthenelse{\value{exblock}>0}{\addtostream{solutions}{\noexpand\end{solutionlist}}}{}%%
\refstepcounter{exblock}%1
% \label{ex.\arabic{exblock}}
\setcounter{exquestion}{0}%
\noindent\def\stackalignment{l}
\stackunder[0pt]
{\colorbox{myblueii}{\textcolor{white}{\textbf{\large مسائل\; \large \ref{ex.\arabic{chapter}}.\arabic{mycounter}
}}}}
{\textcolor{myblueii}{\rule{\linewidth}{1pt}}}\medskip\label{gt}\newbox\rtbox
\sbox\rtbox{\pageref{gt}}
\addtostream{solutions}{\noexpand\paragraph{مسائل \noexpand \ref{ex.\arabic{chapter}}.\arabic{mycounter}
, صفحهِی
\thepage
}}%
\stepcounter{mycounter}
\addtostream{solutions}{\noexpand\begin{solutionlist}}
}
\newcommand{\printsolutions}{%
\begin{adjmulticols}{2}{-15.3em}{0pt}
\ifthenelse{\value{exblock}>0}{\addtostream{solutions}{\noexpand\end{solutionlist}}}{}%
\closeoutputstream{solutions}%
\input{\jobname.solutions}%
\end{adjmulticols}
}
\newenvironment{exercisescol}[2][]{%
\begin{adjmulticols}{2}{0em}{0pt}%
\begin{questionlist}[start=\value{exquestion}+1, #1]%
}{%
\end{questionlist}%
\end{adjmulticols}%
}
\newcommand{\question}[2]{%
\refstepcounter{exquestion}%
\label{ex.\arabic{exblock}.\arabic{exquestion}}%
\item #1%
\addtostream{solutions}{\noexpand\item[\noexpand\ref{ex.\arabic{exblock}.\arabic{exquestion}}.] #2}%
}
\setlist*[questionlist]{font=\bfseries}
\setlist*[solutionlist]{noitemsep,font=\bfseries}
\newcommand{\mchapter}[1]{\chapter{#1}
\label{ex.\arabic{chapter}}
\setcounter{mycounter}{1}}
%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\mchapter{فصل اول}
\ptext[1-2]
\exheader
\begin{exercisescol}[noitemsep]{2}
\question{
$\int\sqrt{x}dx$}{$\tfrac{2}{3}x\sqrt{x}+C$}
\question{$\int3e^xdx$}{$3e^x+C$}
\question{$\int(3x^2-\sqrt{5x}+2)dx$}{$x^3-\tfrac{2}{3}x\sqrt{5x}+2x+C$}
\question{$\int(\tfrac{1}{2x}-\tfrac{2}{x^2}+\tfrac{3}{\sqrt{x}})dx$}{$\tfrac{1}{2}\ln|x|+\tfrac{2}{x}+6\sqrt{x}+C$}
\question{$\int\sqrt{x}dx$}{$\tfrac{2}{3}x\sqrt{x}+C$}
\end{exercisescol}
\ptext[1]
\exheader
\begin{exercisescol}[noitemsep]{2}
\question{
$\int\sqrt{x}dx$}{$\tfrac{2}{3}x\sqrt{x}+C$}
\question{$\int3e^xdx$}{$3e^x+C$}
\question{$\int(3x^2-\sqrt{5x}+2)dx$}{$x^3-\tfrac{2}{3}x\sqrt{5x}+2x+C$}
\question{$\int(\tfrac{1}{2x}-\tfrac{2}{x^2}+\tfrac{3}{\sqrt{x}})dx$}{$\tfrac{1}{2}\ln|x|+\tfrac{2}{x}+6\sqrt{x}+C$}
\question{$\int\sqrt{x}dx$}{$\tfrac{2}{3}x\sqrt{x}+C$}
\end{exercisescol}
\mchapter{فصل دوم}
\exheader
\begin{exercisescol}[noitemsep]{2}
\question{
$\int\sqrt{x}dx$}{$\tfrac{2}{3}x\sqrt{x}+C$}
\question{$\int3e^xdx$}{$3e^x+C$}
\question{$\int(3x^2-\sqrt{5x}+2)dx$}{$x^3-\tfrac{2}{3}x\sqrt{5x}+2x+C$}
\question{$\int(\tfrac{1}{2x}-\tfrac{2}{x^2}+\tfrac{3}{\sqrt{x}})dx$}{$\tfrac{1}{2}\ln|x|+\tfrac{2}{x}+6\sqrt{x}+C$}
\question{$\int\sqrt{x}dx$}{$\tfrac{2}{3}x\sqrt{x}+C$}
\end{exercisescol}
\mchapter{فصل سوم}
\exheader
\begin{exercisescol}[noitemsep]{2}
\question{
$\int\sqrt{x}dx$}{$\tfrac{2}{3}x\sqrt{x}+C$}
\question{$\int3e^xdx$}{$3e^x+C$}
\question{$\int(3x^2-\sqrt{5x}+2)dx$}{$x^3-\tfrac{2}{3}x\sqrt{5x}+2x+C$}
\question{$\int(\tfrac{1}{2x}-\tfrac{2}{x^2}+\tfrac{3}{\sqrt{x}})dx$}{$\tfrac{1}{2}\ln|x|+\tfrac{2}{x}+6\sqrt{x}+C$}
\question{$\int\sqrt{x}dx$}{$\tfrac{2}{3}x\sqrt{x}+C$}
\end{exercisescol}
\chapter{پاسخ تمرینات}
\printsolutions
\end{document}
خروجیهای زیر را نیز با نسخههای اولیهی تکلایو 2018 دارید:
موفق باشید.