목차에서도 참조할 수 있는 번호가 매겨진 상자가 있는 텍스트 예제를 작성하려고 합니다. 이 예는 두 가지 질문이 혼합된 것입니다. 그 중 하나는 제가 질문한 것입니다.목차의 mdframed 상자.
의 인수로 startinnercode=\addcontentsline{mdbox}{subsection}\mdf@frametitle
의 명령 을 전달해야 할 것 같습니다 . 그러나 나는 그것을 작동시킬 수 없습니다. 별도로 유지하면서 로 호출한 다음 상자에 번호가 매겨져 있지만 ToC에는 없거나, 로 호출 하고 번호가 매겨지지 않습니다.\newenvironment{infobox}
mdframed
infobox
mdframedtoc
도와주셔서 감사합니다!
\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}
답변1
환경 은 가 아닌 mdframedtoc
래퍼 내에서 호출되어야 합니다 . 목록 항목은 시작 코드로 사용 하고 번호가 매겨져 있으므로 생성됩니다 . 번호 매기기 체계를 사용 하여 을 설정했으므로 번호 매기기가 정확합니다 .infobox
mdframed
mdframedtoc
\addcontentsline
infobox
infobox
frametitle
\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}
바벨 사용으로 업데이트
\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}