Desactive el interruptor \apéndices y reanude las etiquetas de sección normales

Desactive el interruptor \apéndices y reanude las etiquetas de sección normales

Fondo:

Estoy adjuntando varios artículos de estilo IEEE usando la solución.aquí.

La mayoría de los artículos incluyen apéndices que utilizan el \appendicesinterruptor para redefinir \thesectionpara crear el Apéndice A, B, C, etc. El problema que tengo es que \thesection nunca se redefine cuando se introduce un nuevo artículo en el documento y, por lo tanto, lo que debería etiquetarse como Sección 1. ahora es el Apéndice A.

Pregunta:

¿Cómo redefino \thesection para reanudar las marcas de sección normales en el estilo ieeetran?

Respuesta1

Me permití robar descaradamente la solución en Incluya \maketitle en la tabla de contenidos para compilar un "libro" de artículos IEEEde ese tipo extraño que se lo proporcionó (;-))

IEEEtranes bastante restrictivo en el sentido de que no permite sectionsdespués de un comando \appendixo \appendices. De esta manera, define la macro.

\def\@IEEEdestroythesectionargument#1

para emitir una advertencia/error. Es posible solucionar este problema insertando la macro de la sección guardada \let\LaTeXStandardSectionen lugar de la advertencia. (Pequeña advertencia: sin embargo, no funcionará para la sección con argumento opcional --> mejor manera: eliminar el comando, \appendixetc.

Las \thesectionmacros de formato de contador, etc. deben restaurarse al final de \maketitle!

Método rápido y sucioRedefinir \appendices, etc., de modo que no haga más que restablecer el formato del contador para los contadores de nivel de estructuración.

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

ingrese la descripción de la imagen aquí

información relacionada