Deaktivieren Sie den \appendices-Schalter und setzen Sie die normalen Abschnittsbeschriftungen fort.

Deaktivieren Sie den \appendices-Schalter und setzen Sie die normalen Abschnittsbeschriftungen fort.

Hintergrund:

Ich füge mehrere IEEE-Style-Paper an, die die Lösung verwendenHier.

Die meisten Dokumente enthalten Anhänge, die mit dem \appendicesSchalter „Neudefinieren“ \thesectionals Anhang A, B, C usw. erstellt werden. Mein Problem besteht darin, dass der Abschnitt nie neu definiert wird, wenn ein neues Dokument in das Dokument aufgenommen wird. Daher ist das, was als Abschnitt 1 bezeichnet werden sollte, nun Anhang A.

Frage:

Wie definiere ich \thesection neu, um die normalen Abschnittsmarkierungen im ieeetran-Stil wiederherzustellen?

Antwort1

Ich habe mir erlaubt, die Lösung schamlos zu stehlen in Fügen Sie \maketitle in das Inhaltsverzeichnis ein, um ein „Buch“ mit IEEE-Artikeln zusammenzustellenvon dem komischen Typen, der es bereitgestellt hat (;-))

IEEEtranist insofern restriktiv, als dass es sectionsnach einem \appendixoder \appendices-Befehl nichts zulässt. Auf diese Weise definiert es das Makro

\def\@IEEEdestroythesectionargument#1

um eine Warnung/einen Fehler auszugeben. Dies kann behoben werden, indem \let\LaTeXStandardSectionanstelle der Warnung das gespeicherte Abschnittsmakro eingefügt wird. (Kleiner Vorbehalt: Funktioniert jedoch nicht für Abschnitte mit optionalem Argument --> besserer Weg: Patchen Sie den Befehl \appendixusw.

Die \thesectionusw. Zählerformatmakros müssen am Ende wiederhergestellt werden \maketitle!

Schnelle und schmutzige MethodeDefinieren Sie es neu \appendicesusw., sodass es nichts anderes bewirkt, als das Zählerformat für die Strukturierungsebenenzähler zurückzusetzen.

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

Bildbeschreibung hier eingeben

verwandte Informationen