listofexercises 中每一项前面都有神秘的 t

listofexercises 中每一项前面都有神秘的 t

我使用该exercises包在脚本文件中创建练习,但在我的脚本文件中\listofexercises,每个条目的开头都有,我找不到任何解释。我该如何解决这个问题?

我尝试通过 babel 来使用不同的语言,但问题仍然存在。
这是我的代码:

\documentclass[11pt, oneside]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{lmodern}
\usepackage{kpfonts}
\usepackage[]{geometry}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{framed}
\usepackage{exercise}

\begin{document}
\tableofcontents
\listofexercises
\section{Lipsum}
\lipsum[1]
\begin{framed}
\begin{Exercise}[
title={Integration 1},
difficulty=0,
origin=myself, label=aufg1]
Integrieren Sie folgende Funktion:
\[\left(\sin (x)+\cos(x)\right)^{e^{-x}}\]
\end{Exercise}
\end{framed}
\lipsum[1]
\end{document}

答案1

该包中exercise有两个\expandafter命令位置错误;它们实际上是错误的,必须被移除。

您会收到一条明显的警告:

LaTeX Font Warning: Font shape `T1/jkp/m/i' undefined
(Font)              using `T1/jkp/m/n' instead on input line 1.

源自loe文件中的行

\contentsline {exercise}{{\"U}bung\ 1\ {\relax \fontshape it\selectfont Integration 1}\hspace {.66em}}{1}{}%

显然\fontshape it是错误的并且是由错误产生的\expandafter我们将要消除。

\documentclass[11pt, oneside]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{lmodern}
\usepackage{kpfonts}
\usepackage[]{geometry}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{framed}
\usepackage{exercise}

\usepackage{etoolbox}

\makeatletter
% remove the faulty \expandafter
\patchcmd{\@@@ExeEnv}
  {\theExercise\ \expandafter}
  {\theExercise\ }
  {}{}
\patchcmd{\@@@ExeCmd}
  {\theExercise\ \expandafter}
  {\theExercise\ }
  {}{}
\makeatother

\begin{document}
\tableofcontents
\listofexercises
\section{Lipsum}
\lipsum[1]
\begin{framed}
\begin{Exercise}[
title={Integration 1},
difficulty=0,
origin=myself, label=aufg1]
Integrieren Sie folgende Funktion:
\[\left(\sin (x)+\cos(x)\right)^{e^{-x}}\]
\end{Exercise}
\end{framed}
\lipsum[1]
\end{document}

我补充说\usepackage[T1]{fontenc}这对于德语排版确实是必要的。

现在loe文件将具有正确的咒语:

\contentsline {exercise}{{\"U}bung\ 1\ {\itshape Integration 1}\hspace {.66em}}{1}{}%

在此处输入图片描述

如果您还想删除\itshape,请进行第二系列修补。

\documentclass[11pt, oneside]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{lmodern}
\usepackage{kpfonts}
\usepackage[]{geometry}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{framed}
\usepackage{exercise}

\usepackage{etoolbox}

\makeatletter
% remove the faulty \expandafter
\patchcmd{\@@@ExeEnv}
  {\theExercise\ \expandafter}
  {\theExercise\ }
  {}{}
\patchcmd{\@@@ExeCmd}
  {\theExercise\ \expandafter}
  {\theExercise\ }
  {}{}
% remove \itshape
\patchcmd{\@@@ExeEnv}
  {\itshape}
  {}
  {}{}
\patchcmd{\@@@ExeCmd}
  {\itshape}
  {}
  {}{}
\makeatother

\begin{document}
\tableofcontents
\listofexercises
\section{Lipsum}
\lipsum[1]
\begin{framed}
\begin{Exercise}[
title={Integration 1},
difficulty=0,
origin=myself, label=aufg1]
Integrieren Sie folgende Funktion:
\[\left(\sin (x)+\cos(x)\right)^{e^{-x}}\]
\end{Exercise}
\end{framed}
\lipsum[1]
\end{document}

在此处输入图片描述

相关内容