en referencia a esta pregunta que hice aquí:Lista de cuadros en la tabla de contenido, Probé el siguiente código, en el que intento usar startcode como una opción para el paquete mdframed que crea una entrada de tabla de contenido. Lamentablemente no parece funcionar (mientras que el anterior comentado funciona perfectamente). ¿Alguna sugerencia sobre lo que estoy haciendo mal? El objetivo es evitar definir un nuevo entorno y seguir usando los comandos estándar mdframed en el texto. Es por eso que realmente me gustaría definir la parte de la línea addtocontents en las opciones de mdframed
¡Gracias!
\documentclass[12pt,a4paper,final]{book}
\definecolor{grigiochiaro}{gray}{0.90}
\makeatletter
\usepackage[startcode=\addcontentsline{mdbox}{subsection}\mdf@frametitle},framemethod=tikz,rightmargin=5,leftmargin=5,backgroundcolor=grigiochiaro,roundcorner=10pt]{mdframed}
\newcommand{\listofboxes}{%
\section*{List of Focus}
\@starttoc{mdbox}%
}
\makeatother
\begin{document}
\tableofcontents
\listofboxes
\chapter{Chapter 1}
text text text text text text text text text text text text text
text text text text text
\section{Section 1}
text text text text text text text text text text text text text
text text text text text
\begin{mdframed}[frametitle={Title of frame}]
\vspace{-15pt}
\singlespacing
text of frame text of frame text of frame text of frame text of frame
text of frame text of frame text of frame
text of frame text of frame
\end{mdframed}
text text text text text text text text text text text text text
\end{document}
Respuesta1
El principal problema es que startcode
o startinnercode
no es una opción de paquete, sino una opción para un mdframed
entorno. Puede usarlo directamente después \begin{mdframed}
o al definir un mdframe
estilo o entorno.
Además, \definecolor
está definido por el paquete \xcolor
, que se carga implícitamente mdframed
, por lo que puede usarlo solo después de cargar el paquete.
Finalmente, hubo una llave desequilibrada.
\documentclass[12pt,a4paper,final]{book}
\makeatletter
\usepackage[framemethod=tikz,rightmargin=5,leftmargin=5,backgroundcolor=grigiochiaro,roundcorner=10pt]{mdframed}
\newmdenv[startinnercode=\addcontentsline{mdbox}{subsection}\mdf@frametitle]{mdframedtoc}
\newcommand{\listofboxes}{%
\section*{List of Focus}
\@starttoc{mdbox}%
}
\makeatother
\definecolor{grigiochiaro}{gray}{0.90}
\begin{document}
\tableofcontents
\listofboxes
\chapter{Chapter 1}
text text text text text text text text text text text text text
text text text text text
\section{Section 1}
text text text text text text text text text text text text text
text text text text text
\makeatletter
\begin{mdframedtoc}[frametitle={Title of frame}]
\vspace{-15pt}
%\singlespacing
text of frame text of frame text of frame text of frame text of frame
text of frame text of frame text of frame
text of frame text of frame
\end{mdframedtoc}
\makeatother
text text text text text text text text text text text text text
\end{document}