Estoy intentando crear un ejemplo de texto con cuadros numerados, al que también se puede hacer referencia en la tabla de contenido. Este ejemplo es una combinación de las dos preguntas, una de las cuales la hice yo:cuadros mdframed en la tabla de contenido.
Me parece que debería pasar el startinnercode=\addcontentsline{mdbox}{subsection}\mdf@frametitle
comando en \newenvironment{infobox}
, como argumento de mdframed
. Pero no puedo hacerlo funcionar. Manteniéndolo separado, o lo llamo con infobox
y luego tengo cuadros numerados pero no en el ToC, o lo llamo con mdframedtoc
y no están numerados.
Se agradece la ayuda, gracias!
\documentclass{book}
\usepackage{lipsum}
\usepackage[english]{babel}
\newcounter{infobox}[chapter]
\renewcommand{\theinfobox}{\thechapter.\arabic{infobox}}
\usepackage[framemethod=tikz,rightmargin=5,
leftmargin=5,backgroundcolor=gray!10,
frametitlerule=true,frametitlebackgroundcolor=gray!30,roundcorner=10pt]
{mdframed}
\newenvironment{infobox}[1][]{%
\refstepcounter{infobox}
\begin{mdframed}[%
frametitle={Infobox \theinfobox\ #1},
]%
}{%
\end{mdframed}
}
\makeatletter
\newmdenv[startinnercode=\addcontentsline{mdbox}{subsection}\mdf@frametitle]
{mdframedtoc}
\newcommand{\listofboxes}{%
\section*{Liste des focus}
\@starttoc{mdbox}%
}
\makeatother
\begin{document}
\tableofcontents
\listofboxes
\chapter{Stuff}
\lipsum[1]
\begin{infobox}[Sausage]
\lipsum[2]
\label{ibx:sausage}
\end{infobox}
Infobox \ref{ibx:sausage} says:
\lipsum[2]
\chapter{Other Stuff}
\begin{infobox}[Fried eggs]
\lipsum[4-5]
\label{ibx:eggs}
\end{infobox}
Infobox \ref{ibx:eggs} says:
%
\lipsum[4]
\lipsum[5]
\end{document}
Respuesta1
El mdframedtoc
entorno debe llamarse dentro del contenedor infobox
, no mdframed
. Las entradas de la lista se generan ya que mdframedtoc
utilizan un \addcontentsline
código de inicio y están numeradas, porque infobox
están numeradas. La numeración es correcta ya que infobox
establece frametitle
con su esquema de numeración.
\documentclass{book}
\usepackage{lipsum}
\usepackage[english]{babel}
\newcounter{infobox}[chapter]
\renewcommand{\theinfobox}{\thechapter.\arabic{infobox}}
\usepackage[framemethod=tikz,rightmargin=5,
leftmargin=5,backgroundcolor=gray!10,
frametitlerule=true,frametitlebackgroundcolor=gray!30,roundcorner=10pt]
{mdframed}
\newenvironment{infobox}[1][]{%
\refstepcounter{infobox}
\begin{mdframedtoc}[%
frametitle={Infobox \theinfobox\ #1},
]%
}{%
\end{mdframedtoc}
}
\makeatletter
\newmdenv[startinnercode=\addcontentsline{mdbox}{subsection}\mdf@frametitle]
{mdframedtoc}
\newcommand{\listofboxes}{%
\section*{Liste des focus}
\@starttoc{mdbox}%
}
\makeatother
\begin{document}
\tableofcontents
\listofboxes
\chapter{Stuff}
\lipsum[1]
\begin{infobox}[Sausage]
\lipsum[2]
\label{ibx:sausage}
\end{infobox}
\begin{infobox}[Garam Masala]
A delicious and important spice mixture from India!
\label{ibx:garammasala}
\end{infobox}
Infobox \ref{ibx:sausage} says:
\lipsum[2]
\chapter{Other Stuff}
\begin{infobox}[Fried eggs]
\lipsum[4-5]
\label{ibx:eggs}
\end{infobox}
Infobox \ref{ibx:eggs} says:
%
\lipsum[4]
\lipsum[5]
\end{document}
Actualizar con el uso de babel
\documentclass{book}
\usepackage{lipsum}
\usepackage[T1]{fontenc}
\usepackage[english,french]{babel}
\newcounter{infobox}[chapter]
\renewcommand{\theinfobox}{\thechapter.\arabic{infobox}}
\usepackage[framemethod=tikz,rightmargin=5,
leftmargin=5,backgroundcolor=gray!10,
frametitlerule=true,frametitlebackgroundcolor=gray!30,roundcorner=10pt]
{mdframed}
\usetikzlibrary{babel}
\newenvironment{infobox}[1][]{%
\refstepcounter{infobox}
\begin{mdframedtoc}[%
frametitle={Infobox \theinfobox\ #1},
]%
}{%
\end{mdframedtoc}
}
\makeatletter
\newmdenv[startinnercode=\addcontentsline{mdbox}{subsection}\mdf@frametitle]
{mdframedtoc}
\newcommand{\listofboxes}{%
\section*{Liste des focus}
\@starttoc{mdbox}%
}
\makeatother
\begin{document}
\tableofcontents
\listofboxes
\chapter{Stuff}
\lipsum[1]
\begin{infobox}[Sausage]
\lipsum[2]
\label{ibx-sausage}
\end{infobox}
\begin{infobox}[Garam Masala]
A delicious and important spice mixture from India!
\label{ibx-garammasala}
\end{infobox}
Infobox \ref{ibx-sausage} says:
\lipsum[2]
\chapter{Other Stuff}
\begin{infobox}[Fried eggs]
\lipsum[4-5]
\label{ibx-eggs}
\end{infobox}
Infobox \ref{ibx-eggs} says:
%
\lipsum[4]
\lipsum[5]
\end{document}