我正在寻找一种方法来改进我当前的命令:
\newcommand{\deq}[2][]{\begin{tcolorbox}[
colback = blizzardblue!30!white, colframe = white,
top = -0.3cm, bottom = 0.1cm]\begin{flalign}
\text{\bfseries #1} && #2 & &
\end{flalign}\end{tcolorbox}
}
产生
我想要改进的是允许为公式写第二个标题。使用表格,我得到了以下结果:
但我找不到让方程水平和垂直居中的方法。表格的代码如下:
\begin{tcolorbox}[
colback = blizzardblue!30!white, colframe = white]
\begin{tabularx}{\textwidth}{Lcr}
\bfseries Clausius's Theorem
& $\dps\sideset{_R}{}\oint \frac{\dbar Q}{T} = 0$ & \refstepcounter{equation}(\theequation) \\
\bfseries Part of the Second Law of Thermodynamics
\end{tabularx}
\end{tcolorbox}
我正在使用这个包:
\usepackage[italicdiff]{physics}
\usepackage[scr = rsfso]{mathalfa}
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage{xcolor}
\definecolor{blizzardblue}{rgb}{0.4, 0.6, 0.8}
\usepackage{tcolorbox}
\tcbuselibrary{skins, breakable, hooks, theorems}
问题的最佳答案必须包含居中的方程式(水平和垂直)和一个命令(如我编写的命令),以生成具有 3 个参数的表格/环境:#1 方程式(必需),如果可能的话,#2 主标题(可选)和 #3 次标题(可选)。我不知道是否可以有多个可选参数。感谢您的阅读和帮助!
答案1
我将把第二部分设置在 之外flalign
。
\documentclass{article}
\usepackage[italicdiff]{physics}
\usepackage[scr = rsfso]{mathalfa} % para \mathscr
\usepackage{mathtools} % si molesta sacar.
\usepackage{amssymb}
\usepackage{xcolor}
\usepackage{tcolorbox}
\tcbuselibrary{skins, breakable, hooks, theorems}
\definecolor{blizzardblue}{rgb}{0.4, 0.6, 0.8}
% https://tex.stackexchange.com/a/282196/4427
\newcommand{\dbar}{{d\mkern-7mu\mathchar'26\mkern-2mu}}
\NewDocumentCommand{\deq}{omo}{%
\begin{tcolorbox}[
colback = blizzardblue!30!white,
colframe = white,
]
\setlength{\abovedisplayskip}{0pt}
\begin{flalign}
\IfValueT{#1}{\textbf{#1}} && #2 &&
\end{flalign}
\IfValueT{#3}{\bfseries #3}
\end{tcolorbox}
}
\begin{document}
\deq[Clausius's Theorem]
{\sideset{_R}{}\oint \frac{\dbar Q}{T} = 0}
\deq[Clausius's Theorem]
{\sideset{_R}{}\oint \frac{\dbar Q}{T} = 0}
[Part of the Second Law of Thermodynamics]
\end{document}