합체 사용시 "(의장)"을 제거합니다.

합체 사용시 "(의장)"을 제거합니다.

나는sapthesis패키지. 명령 \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 구성을 볼 수 있습니다. 현재 검사관 카운터가 0( \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}

결과:

여기에 이미지 설명을 입력하세요

관련 정보