问题:从 exsheets 迁移到 xsim (2)

问题:从 exsheets 迁移到 xsim (2)

我目前正尝试从 exsheets 迁移到 xsim,但遇到了一些问题。

由于不支持 exsheets,我正在尝试迁移到 xsim,但遇到了一些问题:

  1. 我如何插入副标题?我想要“练习 A.1(副标题)”之类的东西,其中副标题是粗体 - 见图片。默认为“练习 A.1。副标题。这可以通过 exsheets 实现(下面已解决)。

这里这里

  1. 如何使用 \printsolutions 抑制自动标题?(已解决)

  2. 为什么我编译时会有这么多文件?如果你有超过 20 个问题,这会很烦人。

答案1

为什么我编译时会有这么多文件?如果你有超过 20 个问题,这会很烦人。

答案是:因为我在创建包时就决定这样做了。对我来说,一个优点是,这允许练习及其解决方案中的逐字材料……

我理解你为什么不太喜欢这个。这就是为什么手册上这样说:

可以说,使用外部文件进行每个练习及其解决方案的方法的一个缺点是,您的项目文件夹将堆满文件。为了解决这个问题,xsim提供了以下选项:

path = {<path name>} 使用此选项可以指定主项目文件夹内的子文件夹或路径。练习将被写入并包含在该路径中。您使用之前,该路径必须存在于您的系统中!

因此,所有练习文件都将被写入(以及主文件夹内\xsimsetup{path=exercises}命名的文件夹),这将使您的主文件夹保持“干净”。:)exercises


附言:我计划为用户提供关闭新文件创建的选项,但我不知道什么时候才能找到时间来做这件事,所以也许永远不会实现……


编辑自 v0.13 (2019/10/06) 起xsim有包选项no-files

答案2

我可以回答前两个问题:

  1. \GetExercisePropertyT{subtitle}{ \textbf{(\PropertyValue)}}% \textbf{.}见下面的例子)

    这里

  2. \printsolutions[headings=false]

     \documentclass[11pt, a4paper, parskip=full]{scrartcl}
    \usepackage[ngerman]{babel}
    
    \usepackage[utf8]{inputenc}
    
       \usepackage{xsim}
    
    \renewcommand\thesection{\Alph{section}}
    \usepackage{xsim}
    
    \usepackage{needspace}
    \DeclareExerciseEnvironmentTemplate{runin}
      {%
        \par\vspace{\baselineskip}
        \Needspace*{2\baselineskip}
        \noindent
        \textbf{\XSIMmixedcase{\GetExerciseName}~\GetExerciseProperty{counter}}%
      \GetExercisePropertyT{subtitle}{ \textbf{(\PropertyValue)}}% <<< notice the space
      \textbf{.} 
        \IfInsideSolutionF{%
          \GetExercisePropertyT{points}{%
            \marginpar{%
              \printgoal{\PropertyValue}%
              \GetExercisePropertyT{bonus-points}{+\printgoal{\PropertyValue}}%
    \,\IfExerciseGoalSingularTF{points}
        {\XSIMtranslate{point}}
        {\XSIMtranslate{points}}%
    }% 
    }%
    }% 
    }
    {}
    
    \xsimsetup{%     
        exercise/within = subsection ,      
        exercise/the-counter = \thesubsection.\arabic{exercise}
    }
    
    \SetExerciseParameters{exercise}{
     exercise-name = Aufgabe ,
     solution-name = Loesung ,
     exercise-template = runin ,
     solution-template = runin
    }
    
    
    
    
    \begin{document}
    \selectlanguage{ngerman}
    \section{Aufgaben} 
    \subsection{subsection}
    
    \begin{exercise}[subtitle=Test]
    Was ist 1 mal 1? 
    \end{exercise}  
    \begin{solution} 
    1 mal 1 ist 1.  siehe \ref{abba}
    \end{solution} 
    
    \begin{exercise} 
    Was ist 2 mal 2? 
    \end{exercise}  
    \begin{solution} 
    2 mal 2 ist 4. 
    \end{solution} 
    
    \section{Schwere Aufgaben} 
    \subsection{subsection}
    \begin{exercise}  
    Was ist 3 mal 3? 
    \end{exercise}  
    \subsection{subsection}
    \begin{solution} 
    3 mal 3 ist 9. 
    \end{solution} 
    
    \begin{exercise}  
    Was ist 4 mal 4? 
    \end{exercise}  
    \begin{solution} 
    4 mal 4 ist 16. 
    \end{solution} 
    
    
    \printsolutions[headings=false]
    
    \end{document}
    

相关内容