MDFramed-Boxen im Inhaltsverzeichnis

MDFramed-Boxen im Inhaltsverzeichnis

in Bezug auf diese Frage, die ich hier gestellt habe:Liste der Felder im InhaltsverzeichnisIch habe den folgenden Code ausprobiert, in dem ich versuche, startcode als Option für das Paket mdframed zu verwenden, das einen Inhaltsverzeichniseintrag erstellt. Leider scheint es nicht zu funktionieren (während der vorherige, kommentierte, perfekt funktioniert). Irgendwelche Vorschläge, was ich falsch mache? Das Ziel besteht darin, die Definition einer neuen Umgebung zu vermeiden und weiterhin die Standardbefehle von mdframed im Text zu verwenden. Aus diesem Grund möchte ich den Zeilenteil addtocontents wirklich in den Optionen von mdframed definieren

Danke!

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

Antwort1

Das Hauptproblem besteht darin, dass startcodeoder startinnercodekeine Paketoption ist, sondern eine Option für eine Umgebung. Sie können es direkt nach oder beim Definieren eines Stils oder einer Umgebung mdframedverwenden .\begin{mdframed}mdframe

Darüber hinaus \definecolorwird durch das Paket definiert \xcolor, das implizit von geladen wird mdframed, sodass Sie es erst nach dem Laden des Pakets verwenden können.

Schließlich kam es zu einer unausgeglichenen Klammer.

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

verwandte Informationen