IEEE 기사의 "책"을 편집하려면 목차에 \maketitle을 포함하세요.

IEEE 기사의 "책"을 편집하려면 목차에 \maketitle을 포함하세요.

배경:

여러 IEEE 형식의 기사를 편집하고 있습니다. 이 편집물은 단일 목차로 구성됩니다. 각 문서에는 제목과 \maketitle명령이 포함되어 있습니다. 목차에 모든 섹션/하위 섹션 등과 함께 각 논문의 제목을 기본 수준으로 포함하고 싶습니다.

    \documentclass[journal]{IEEEtran}

    \begin{document}
    \onecolumn
    \tableofcontents
     \twocolumn        


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

    % Title and Author information  Paper 2
        \title{Title 2}
        \author{Author 2}
        % Make the title area
        \maketitle
       $ Paper Content

\end{document}

다음과 비슷한 TOC를 생성해야 합니다.

  1. 제목 1

    I - 섹션 1

    IA 제1항

    IB 하위 섹션 2

    II - 섹션 2

  2. 제목 2

    I - 섹션 1

    IA 제1항

    IB 하위 섹션 2

    II - 섹션 2

질문:

제목을 포함하도록 TOC를 수정하려면 어떻게 해야 합니까?

다른 제안에도 열려 있습니다. ieeetran이나 다른 기사/저널 클래스에서는 \chapter또는 \part명령을 사용하지 않는다는 것을 알고 있지만 클래스를 변경하지 않고 이 작업을 강제로 수행할 수 있는 방법이 있다면 그러한 솔루션에도 관심이 있을 것입니다.

답변1

\maketitle매크로가 끝나기 직전에 자체적으로 '비활성화'되는 명령입니다(글쎄, 그 \relax다음에는 실행됩니다). 따라서 이 매크로를 추가로 호출하면 아무 것도 제공되지 않습니다. 패치 명령을 사용하면 이를 \let\maketitle\relax포착하고 \addcontentsline대신 명령을 삽입하여 ToC 항목을 수행할 수 있습니다.

titlecounter또한 자동으로 다시 단계를 거치는 카운터를 도입하여 이 기능 \label도 작동할 것입니다. ToC 항목의 형식은 현재 매우 간단합니다. 마음대로 변경할 수 있습니다.

\clearpageMico는 중요한 이의를 제기했습니다. 명령 시작 부분에 \maketitle이전 기사에서 가능한 플로트를 배송할 권한이 있어야 합니다 . 그러나 나는 이 동작을 2차 등으로 제한했습니다 \maketitle.

\documentclass[journal]{IEEEtran}

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

\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}\addcontentsline{toc}{section}{\protect{\numberline{\thetitlecounter}{\@title~ \@author}}}}{\typeout{Patching was successful}}{\typeout{patching failed}}%
\makeatother
\begin{document}
\onecolumn
\tableofcontents
\twocolumn        



% Title and Author information  Paper 1
\title{Title 1}
\author{Author 1}
% Make the title area
\maketitle
\blindtext[10]
%$ Paper Content

% Title and Author information  Paper 2
\title{Title 2}
\author{Author 2}
% Make the title area
\maketitle
\blindtext[20]
%$ Paper Content

\end{document}

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

레벨 들여쓰기가 있는 버전

\setlength{\articlesectionindent}{10pt}제목 목차 항목과 관련된 수준의 들여쓰기를 얻으려면 (또는 다른 적절한 값)을 사용하십시오 .

섹션 등의 재설정은 명령으로 수행됩니다 \@addtoreset{section}{titlecounter}. 즉, 단계를 밟을 때마다 titlecounter섹션이 재설정됩니다(그리고 연속적으로 하위 섹션 등도 마찬가지입니다).

\documentclass[journal]{IEEEtran}

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

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

\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}}%

\@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}%

% 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}

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

hyperref** 경고 ** 두 버전 모두 패키지 와 함께 실패합니다 . 명령 에 문제가 있습니다 \footnotemark.

관련 정보