我想用“模型 4.1:一个美丽的方程式”来为我的模型添加标题。
我可以用我在论坛上找到的以下代码来写“模型 1:一个漂亮的方程式”对齐环境的标题:
\documentclass{article}
\usepackage{amsmath,lipsum}
\newcounter{equationset}
\newcommand{\equationset}[]{% \equationset{<caption>}
\refstepcounter{equationset}% Step counter
\noindent\makebox[\linewidth]{model~\theequationset: #1}}% Print caption
\begin{document}
\begin{align}
f(x) &= ax^2 + bx + c \\
&= g(x)
\end{align}
\equationset{A beautiful equation.}
\medskip
\end{document}
我的主管非常严格,这就是为什么它必须被称为 4.1。代码是复制的,我对它了解不够,所以我不知道如何改编它。我甚至还没有想出如何至少将其更改为“模型 4:”。有人知道解决方案吗?(也可以是完全不同的东西,主要是它有效)。
答案1
您可能需要熟悉float
自定义浮点数包,将您自己的浮点数定义为model
,为其定义一个标签,例如,Model
并获取您的浮点数列表
查看示例
下面重新定义方程编号以包含部分
\numberwithin{equation}{section}
我没有将其包含在代码中,但应该放在你的序言中。
\documentclass{report}
\usepackage{etoolbox}
\usepackage{amsmath,lipsum}
\usepackage[colorlinks]{hyperref}
\usepackage{cleveref}
% \pretocmd{\@startsection}{\protect\setcounter{modelc}{0}}{}{}
\newcounter{modelc}
\numberwithin{equation}{chapter}
\numberwithin{modelc}{chapter}
\crefname{modelc}{model}{models}
\Crefname{modelc}{Model}{Models}
% \crefformat{modelc}{model~#2(#1)#3} % Custom formatting -> model (C.M)
% \Crefformat{modelc}{Model~#2(#1)#3} % -> Model (C.M)
\NewDocumentEnvironment{model}{O{} m +b}{%
% #1 - label (optional)
% #2 - caption
\refstepcounter{modelc} \notblank{#1}{\label{#1}}{}
#3
%%% Increase a counter and set the label if provided
%%% Formatting a caption
\settowidth{\dimen0}{Model \themodelc}%
\settowidth{\dimen1}{#2}%
\ifdim \dimen1 > \dimexpr(\textwidth - \dimen0 - 1em)
\dimen1=\dimexpr(\textwidth - \dimen0 - 1em)\fi
\begingroup
\centering
\parbox[t]{\dimexpr(\dimen0 + 1em)}{Model \themodelc: }%
\parbox[t]{\dimexpr(\dimen1)}{#2}%
\vspace{\baselineskip}
\par
\endgroup
}{}
\makeatother
\begin{document}
\chapter{The first chapter}
\lipsum[1][1-2]
\section{This is a section}
\lipsum[1][1]
\chapter{The second chapter} \label{chap:second}
\section{This is a section with a model}
\lipsum[1][2]
\begin{model}[mod:beq]{A very very long description of a extremely beautiful equation spanning multiple lines}
\begin{align} % Only caption
f(x) &= ax^2 + bx + c \label{eq:eq1} \\
&= g(x) \label{eq:eq2}
\end{align}
\end{model}
\lipsum[1][3-5]
\chapter{The final chapter}
\lipsum[1][3-5]
\chapter{This is a star variant section}
\lipsum[1][6]
\section{This is a section with another model}
\lipsum[1][5]
\begin{model}{A beautiful equation} % Caption + label
\begin{align}
f(\mathbf{x}) &= x_1 - x_2
\end{align}
\end{model}
Reference to \Cref{mod:beq} on \cpageref{mod:beq} in \cref{chap:second}.
\end{document}