我想在书中某一章的末尾输入一些练习。此外,我正在使用该xepersian
包用波斯语输入这本书。我在使用该exercises
包排版练习时遇到了一些问题。它们是:
- 练习的标题不是用波斯语排版的,而是(تمرینها)
- 我想要根据章节来安排练习的数量,比如 1.1、1.2、1.3...
- 我想将
:
每个练习的符号改为一个点。
下面我附上了最小代码:
\documentclass{book}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{exercises}
\usepackage{xepersian}
\settextfont{Yas}
\begin{document}
\chapter{فصل 1}
\begin{exercise}
محاسبه کند
$ 1 + 2 $
\end{exercise}
\end{document}
答案1
您可以使用选项exercisename=...
设置练习的名称,然后可以执行\renewcommand\exercises@formatnumbers[1]{\thechapter.\arabic{#1}}
(被包围\makeatletter
和\makeatother
),但我担心冒号被硬编码到练习中:
\documentclass{book}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[exercisename=تمرینها]{exercises}
\usepackage{xepersian}
\settextfont{Yas}
\makeatletter
\renewcommand\exercises@formatnumbers[1]{\thechapter.\arabic{#1}}
\makeatother
\begin{document}
\chapter{فصل 1}
\begin{exercise}
محاسبه کند
$ 1 + 2 $
\end{exercise}
\end{document}
您可以尝试xsim
替代包...它允许您完全控制布局:
\documentclass{book}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{xsim}
\usepackage{xepersian}
\settextfont{Yas}
\xsimsetup{
exercise/name = تمرینها ,
exercise/the-counter = \thechapter.\arabic{exercise}
}
\begin{document}
\chapter{فصل 1}
\begin{exercise}
محاسبه کند
$ 1 + 2 $
\end{exercise}
\end{document}
答案2
我找不到想要的东西,但我找到了一个合适的解决方案。事实上,我应该忽略exercises
包的使用。我将其\newtheorem{exercise}{تمرین}[chapter]
用作练习部分的新环境。在下面,您可以看到结果:
\documentclass{book}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{xepersian}
\settextfont{Yas}
\setdigitfont{Yas}
\newtheorem{exercise}{تمرین}[chapter]
\begin{document}
\chapter{فصل 1}
\begin{exercise}
\label{ex-1}
محاسبه کند
$ 1 + 2 $
\end{exercise}
\begin{exercise}
\label{ex-2}
محاسبه کند
$ 2 + 3 $
\end{exercise}
\begin{latin}
I can even refer to them those exercises such
Ex. \ref{ex-1} and \ref{ex-2}.
\end{latin}
\end{document}
结果是
通过这种形式,我甚至可以引用一个具体的练习。