pdfpages 软件包使用 enumitem 中断定制

pdfpages 软件包使用 enumitem 中断定制

我有一个较长的工作,其中我想包含一个 pdf 文件,并且我还使用包自定义了 enumerate-items enumitem。使用包含的包时pdfpages出现错误。

是否可以使用pdfpagesenumitem 包含并保留我的自定义?下面是最小的工作示例。

\documentclass{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{enumitem}

% um PDF-Dateien einbinden zu können ---------------------------------------------------------------
\usepackage{pdfpages}

% Tabellen -----------------------------------------------------------------------------------------
\usepackage{booktabs}                   % horizontale Linien in Tabellen
\usepackage{longtable}                  % lange Tabellen
\usepackage{ragged2e,array}             % für Ausrichtung der Tabellen(-spalten/-zellen)

% Programmierung der Auflistung der Interviewitems -------------------------------------------------
\newcounter{Kategorie}
\setcounter{Kategorie}{0}
\newcounter{Frage}
\setcounter{Frage}{1}

\newcommand{\KategoriePlus}{%
  \addtocounter{Kategorie}{1}%
  [\Alph{Kategorie}]%
  \setcounter{Frage}{1}%
}

\newcommand{\FragePlus}{%
  \theFrage%
  \addtocounter{Frage}{1}%
}

\usepackage{blindtext}

\begin{document}

\chapter{Einleitung}

\blindtext[3]

\chapter{Anhang}

\renewcommand{\arraystretch}{2}
\begin{longtable}[l]{>{\RaggedRight}p{5.75cm}>{\RaggedRight}p{10.25cm}} \toprule

Inhalt & Frage \\ \midrule
\multicolumn{2}{l}{\begin{minipage}[t]{16cm}
\bfseries \begin{enumerate}[label=\KategoriePlus] \item Allgemeine Daten \end{enumerate} \end{minipage}} \\
Soziodemografische Daten der Versuchsperson &
\begin{minipage}[t]{10cm} \begin{enumerate}[label=\Alph{Kategorie}.\FragePlus]
\item Alter
\item Geschlecht
\item Schulabschluss
\end{enumerate} \end{minipage} \\ \bottomrule

\end{longtable}

\end{document}

答案1

pdfpages加载包calc使得\setcounter和更加脆弱,特别是如果它们在包的重新定义环境的\addtocounter选项内部使用时。labelenumitemenumerate

最好的解决方案是避免在label. 中进行计数器分配,因为此选项旨在格式化标签,仅此而已。如果的后续版本每调用两次enumitem的代码,那么它也会扰乱计数器分配。\label\item

因此,以下仅是一种粗略的破解方法,使用了强大的计数器分配,但不能解决根本问题:

\newcommand{\KategoriePlus}{%
  % \stepcounter{Kategorie}%
  \global\advance\value{Kategorie} by 1\relax
  [\Alph{Kategorie}]%
  % \setcounter{Frage}{1}%
  \global\value{Frage}=1\relax
}

\newcommand{\FragePlus}{%
  \theFrage
  % \stepcounter{Frage}%
  \global\advance\value{Frage} by 1\relax
}

相关内容