
Necesito agregar alguna palabra antes de la etiqueta de contenido toc
mediante alguna condición usando titletoc
.
\documentclass[]{report}
\usepackage{titlesec, titletoc}
\newif{\ifappendix}
\titlecontents{section}% <section-type>
[2em]% <left>
{}% <above-code>
{\ifappendix \appendixname~\fi\thecontentslabel\ }% <numbered-entry-format>
{}% <numberless-entry-format>
{\titlerule*[0.75pc]{.}\contentspage}% <filler-page-format>\\
\titleformat{\section}[block]
{\hspace{\parindent}}
{\ifappendix\appendixname~\fi\thesection}
{1em}{}
\begin{document}
\tableofcontents
\section{One}
\appendixtrue
\section{Two}
\end{document}
Como se puede ver por MWE
la condición interna, \titlecontents
no funciona (esperaba la palabra roja en la imagen), pero al mismo tiempo funciona con \titleformat
macro.
Respuesta1
Cuando se escribe la tabla de contenido, \ifappendix
devuelve falso. Debes pasar \appendixtrue
también al .toc
archivo.
\documentclass[]{report}
\usepackage{titlesec, titletoc}
\newif{\ifappendix}
\titlecontents{section}% <section-type>
[2em]% <left>
{}% <above-code>
{\ifappendix \appendixname~\fi\thecontentslabel\ }% <numbered-entry-format>
{}% <numberless-entry-format>
{\titlerule*[0.75pc]{.}\contentspage}% <filler-page-format>\\
\titleformat{\section}[block]
{\hspace{\parindent}}
{\ifappendix\appendixname~\fi\thesection}
{1em}{}
\begin{document}
\tableofcontents
\section{One}
\appendixtrue
\addtocontents{toc}{\protect\appendixtrue}
\section{Two}
\end{document}