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 startcode
oder startinnercode
keine Paketoption ist, sondern eine Option für eine Umgebung. Sie können es direkt nach oder beim Definieren eines Stils oder einer Umgebung mdframed
verwenden .\begin{mdframed}
mdframe
Darüber hinaus \definecolor
wird 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}