在 xsim 中更改 \printsolutions 标题字符串

在 xsim 中更改 \printsolutions 标题字符串

我正在使用xsim在我的文档中输入练习解决方案环境。

我想更改用于标题的字符串\printsolutions[headings=true]

文档语言是希伯来语,所以我想用这种语言编写。此外,解决方案应该出现在章节末尾,所以我想将其显示为“章节练习的解决方案\thechapter”:

\章节 פתרונות לתרגילים בפרק

我对这个软件包(和它的手册)还不熟悉xsim,我在手册中找不到答案。

一位 MWE 表示:

%!TEX TS-program = xelatex
\documentclass{book}
\usepackage{xsim}
\xsimsetup{solution/print = false,}
\xsimsetup{
  exercise/name={תרגיל},
  exercises/name={תרגילים},
  solution/name={פתרון},
  solutions/name={פתרונות},
  exercise/within = chapter,
}
\usepackage{polyglossia}
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\newfontfamily\hebrewfont{David CLM}[Script=Hebrew]
\begin{document}
\chapter{גיאומטריה}
\section{הקדמה}
\begin{exercise}[subtitle={משפט פיתגורס}]
הוכח שסכום שטחי הריבועים, הבנויים על הניצבים במשולש ישר זווית, שווה לשטח הריבוע הבנוי על היתר.
\end{exercise}
\begin{solution}
מוכיחים בקלות.
\end{solution}
\printsolutions[headings=true]
\end{document}

输出: 在此处输入图片描述

答案1

default-heading您可以定义希伯来语的翻译:

\DeclareExerciseTranslations{default-heading}{
  Hebrew = פתרונות לתרגילים בפרק \thechapter 
}

在此处输入图片描述

完整代码:

% arara: xelatex: { interaction: nonstopmode }
\documentclass{book}

\usepackage{xsim}
\xsimsetup{solution/print = false,}
\xsimsetup{
  exercise/name={תרגיל},
  exercises/name={תרגילים},
  solution/name={פתרון},
  solutions/name={פתרונות},
  exercise/within = chapter,
}
\DeclareExerciseTranslations{default-heading}{
  Hebrew = פתרונות לתרגילים בפרק \thechapter
}

\usepackage{polyglossia}
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\newfontfamily\hebrewfont{David CLM}[Script=Hebrew]

\begin{document}

\chapter{גיאומטריה}

\section{הקדמה}

\begin{exercise}[subtitle={משפט פיתגורס}]
הוכח שסכום שטחי הריבועים, הבנויים על הניצבים במשולש ישר זווית, שווה לשטח הריבוע הבנוי על היתר.
\end{exercise}
\begin{solution}
מוכיחים בקלות.
\end{solution}

\printsolutions[headings=true]

\end{document}

答案2

我做的改变:

% in preamble: declare a new heading template
\DeclareExerciseHeadingTemplate{solution}{%
    \section*{פתרונות לתרגילים בפרק \thechapter}%
}

% apply that template for \printsolutions
\printsolutions[headings=true,headings-template=solution]

完整示例:

%!TEX TS-program = xelatex
\documentclass{book}
\usepackage{xsim}
\xsimsetup{solution/print = false,}
\xsimsetup{
  exercise/name={תרגיל},
  exercises/name={תרגילים},
  solution/name={פתרון},
  solutions/name={פתרונות},
  exercise/within = chapter,
}
\usepackage{polyglossia}
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\newfontfamily\hebrewfont{David CLM}[Script=Hebrew]

\DeclareExerciseHeadingTemplate{solution}{%
    \section*{פתרונות לתרגילים בפרק \thechapter}%
}

\begin{document}
\chapter{גיאומטריה}
\section{הקדמה}
\begin{exercise}[subtitle={משפט פיתגורס}]
הוכח שסכום שטחי הריבועים, הבנויים על הניצבים במשולש ישר זווית, שווה לשטח הריבוע הבנוי על היתר.
\end{exercise}
\begin{solution}
מוכיחים בקלות.
\end{solution}

\printsolutions[headings=true,headings-template=solution]
\end{document}

在此处输入图片描述

相关内容