\appendices 스위치를 끄고 일반 섹션 레이블을 다시 시작하세요.

\appendices 스위치를 끄고 일반 섹션 레이블을 다시 시작하세요.

배경:

솔루션을 사용하여 여러 IEEE 스타일 문서를 첨부하고 있습니다.여기.

대부분의 논문에는 부록 A, B, C 등을 생성하기 위해 \appendices재정의하는 스위치를 사용하는 부록이 포함되어 있습니다 \thesection. 제가 가진 문제는 새 논문이 문서에 도입될 때 \thesection이 결코 재정의되지 않으므로 섹션 1이라는 라벨을 붙여야 한다는 것입니다. 이제 부록 A입니다.

질문:

ieeetran 스타일에서 일반 섹션 표시를 재개하기 위해 \thesection을 어떻게 재정의합니까?

답변1

나는 뻔뻔하게 해결책을 훔치는 것을 허용했습니다. IEEE 기사의 "책"을 편집하려면 목차에 \maketitle을 포함하세요.그것을 제공한 이상한 남자로부터 (;-))

IEEEtranor 명령 sections뒤에는 허용되지 않는다는 점에서 매우 제한적입니다 . 이런 식으로 매크로를 정의합니다.\appendix\appendices

\def\@IEEEdestroythesectionargument#1

경고/오류를 발행합니다. \let\LaTeXStandardSection경고 대신 저장된 섹션 매크로를 삽입하여 이 문제를 해결할 수 있습니다 . (작은 주의 사항: 선택적 인수가 있는 섹션에서는 작동하지 않지만 --> 더 나은 방법: 명령을 패치하는 \appendix등의 방법이 있습니다.

\thesection의 카운터 형식 매크로는 ! 끝에서 복원되어야 합니다 \maketitle.

빠르고 더러운 방법\appendices구조화 수준 카운터에 대한 카운터 형식을 재설정하는 것 외에는 아무것도 수행하지 않도록 재정의합니다 .

\documentclass[journal]{IEEEtran}

\usepackage{etoolbox}%
\usepackage{xpatch}
\usepackage{blindtext}
\usepackage{tocloft}%

\newlength{\articlesectionshift}%
\setlength{\articlesectionshift}{10pt}%
\addtolength{\cftsecindent}{\articlesectionshift}%

\let\LaTeXStandardSection\section
\let\LaTeXStandardTheSection\thesection
\let\LaTeXStandardTheSubSection\thesubsection
\let\LaTeXStandardTheSubSubSection\thesubsubsection
\let\LaTeXStandardTheParagraph\theparagraph


\makeatletter
\newcounter{titlecounter}

\xpretocmd{\maketitle}{\ifnumgreater{\value{titlecounter}}{1}}{\clearpage}{}{} % Well, this is lazy at the end ;-)
\xpatchcmd{\maketitle}{\let\maketitle\relax\let\@maketitle\relax}{\refstepcounter{titlecounter}\begingroup
  \addtocontents{toc}{\begingroup\addtolength{\cftsecindent}{-\articlesectionshift}}%
  \addcontentsline{toc}{section}{\protect{\numberline{\thetitlecounter}{\@title~ \@author}}}%
  \addtocontents{toc}{\endgroup}
}{%
  \typeout{Patching was successful}
}{%
  \typeout{patching failed}
}%

\def\@IEEEdestroythesectionargument#1{\LaTeXStandardSection{#1}}%


\xapptocmd{\maketitle}{%
\renewcommand{\thesection}{\LaTeXStandardTheSection}%
\renewcommand{\thesubsection}{\LaTeXStandardTheSubSection}%
\renewcommand{\thesubsubsection}{\LaTeXStandardTheSubSubSection}%
\renewcommand{\theparagraph}{\LaTeXStandardTheParagraph}%
}{}{}%


\@addtoreset{section}{titlecounter}

\makeatother
\begin{document}
\onecolumn
\tableofcontents
\twocolumn        



% Title and Author information  Paper 1
\title{Title 1}
\author{Author 1}
% Make the title area
\maketitle

\section{First}
\subsection{First subsection of 1st section}%
\subsection{2nd subsection of 1st section}%
\subsection{3rd subsection of 1st section}%
\subsection{4th subsection of 1st section}%

\blindtext[10]
\section{Two}
\subsection{First subsection of 2nd section}%
\appendix
\section{First of Appendix}

% Title and Author information  Paper 2
\title{Title 2}
\author{Author 2}
% Make the title area
\maketitle
\section{First from second paper}
\subsection{First subsection of 2nd section of 2nd article}%

\blindtext[20]

%$ Paper Content

\end{document}

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

관련 정보