Estou tentando construir um exemplo de texto com caixas numeradas, que também possa ser referenciado no índice. Este exemplo é uma mistura das duas perguntas, uma das quais feita por mim:caixas mdframed no índice.
Parece-me que deveria passar o startinnercode=\addcontentsline{mdbox}{subsection}\mdf@frametitle
comando no \newenvironment{infobox}
, como argumento do mdframed
. Mas não consigo fazer funcionar. Mantendo-o separado, ou eu chamo com infobox
, e então tenho caixas numeradas, mas não no ToC, ou chamo com mdframedtoc
, e elas não são numeradas.
Ajuda apreciada, obrigado!
\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}
Responder1
O mdframedtoc
ambiente deve ser chamado dentro do wrapper infobox
, não mdframed
. As entradas da lista são geradas desde que mdframedtoc
utilizem um \addcontentsline
código inicial e sejam numeradas, pois infobox
são numeradas. A numeração está correta, pois infobox
define o frametitle
com seu esquema de numeração.
\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}
Atualização com uso do 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}