em referência a esta pergunta que fiz aqui:Lista de caixas no índice, tentei o código a seguir, no qual tento usar startcode como uma opção para o pacote mdframed que cria uma entrada de índice. Infelizmente parece não funcionar (enquanto o anterior comentado funciona perfeitamente). Alguma sugestão sobre o que estou fazendo de errado? O objetivo é evitar a definição de um novo ambiente e continuar usando os comandos mdframed padrão no texto. É por isso que eu realmente gostaria de definir a parte da linha addtocontents nas opções do mdframed
Obrigado!
\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}
Responder1
O principal problema é que startcode
ou startinnercode
não é uma opção de pacote, mas sim uma opção de mdframed
ambiente. Você pode usá-lo logo após \begin{mdframed}
ou ao definir um mdframe
estilo ou ambiente.
Além disso, \definecolor
é definido pelo pacote \xcolor
, que é carregado implicitamente por mdframed
, portanto você pode usá-lo somente após carregar o pacote.
Finalmente, houve uma chave 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}