Удалить "(председатель)" при использовании саптезиса

Удалить "(председатель)" при использовании саптезиса

Я используюsapthesispackage. Позволяет указать несколько экзаменаторов с помощью команды \examiner(например \examiner{Jon Doe}). Если указан хотя бы один экзаменатор, после первого добавляется строка (chairman).

Скриншот

Поскольку у меня нет председателя, мне нужно избавиться от этой строки.

Вот минимальный воспроизводимый пример:

\documentclass[a4paper,english,binding=0.6cm]{sapthesis}

\newcommand{\thesistitle}{XYZ}
\newcommand{\myname}{XXX}
\title{\thesistitle}
\author{\myname}
\IDnumber{XXX}
\course{XXX}
\courseorganizer{XXX}
\AcademicYear{XXX}
\advisor{XXX}
\authoremail{X@Y}
\copyyear{XXX}

\examdate{MY DATE}
\examiner{Jon Doe}
\examiner{Mary Smith}

\begin{document}
    \frontmatter
    \maketitle
    \mainmatter
\end{document}

решение1

Оригинальное определение можно найти sapthesis.cls, например, на сайтеhttps://ctan.org/tex-archive/macros/latex/contrib/sapthesisили в локальном каталоге установки LaTeX. В строке 320 мы находим следующий код:

\newcommand{\examiner}[2][]{% 
  \ifnum\SAP@examinercount=\z@ 
    \SAP@examinertoks={#2 (\SAP@chairman\if|#1|\relax\else, #1\fi)}% 
  \else 
    \SAP@examinertoks=\expandafter{\the\SAP@examinertoks\\[0.75mm]#2 \if|#1|\relax\else (#1)\fi}% 
  \fi 
  \advance\SAP@examinercount\@ne}

Вы можете увидеть конструкцию ifnum-else: если текущий счетчик экзаменаторов равен нулю ( \z@), то вывести (председатель).

Для упрощения можно удалить весь if-else и оставить тело else по умолчанию.

Чтобы внести это изменение в документ, вам нужно будет \renewcommandвместо \newcommand, в противном случае вы получите ошибку, что команда, которую вы пытаетесь определить, уже существует.

@Кроме того, поскольку в определении команды присутствуют символы, вам необходимо \makeatletterи \makeatotherвокруг переопределения.

Код:

\documentclass[a4paper,english,binding=0.6cm]{sapthesis}

\newcommand{\thesistitle}{XYZ}
\newcommand{\myname}{XXX}
\title{\thesistitle}
\author{\myname}
\IDnumber{XXX}
\course{XXX}
\courseorganizer{XXX}
\AcademicYear{XXX}
\advisor{XXX}
\authoremail{X@Y}
\copyyear{XXX}

% adapted from original definition at sapthesis.cls line 320
\makeatletter
\renewcommand{\examiner}[2][]{% 
  \SAP@examinertoks=\expandafter{\the\SAP@examinertoks\\[0.75mm]#2 \if|#1|\relax\else (#1)\fi}% 
\advance\SAP@examinercount\@ne}
\makeatother

\examdate{MY DATE}
\examiner{Jon Doe}
\examiner{Mary Smith}

\begin{document}
    \frontmatter
    \maketitle
    \mainmatter
\end{document}

Результат:

введите описание изображения здесь

Связанный контент