如何调整并排 tcolorbox 环境的边距

如何调整并排 tcolorbox 环境的边距

我有以下工作代码:

\documentclass[11pt, oneside]{book}

\renewcommand\sfdefault{cmss}
\renewcommand{\familydefault}{\sfdefault}

\usepackage[top = 2.54cm, bottom = 2.54cm, left = 1.5cm, right = 1.5cm]{geometry}

\usepackage{physics}
\usepackage[italic = true]{derivative}
\usepackage[scr = rsfso]{mathalfa} 
\usepackage{mathtools}
\usepackage{amssymb}

\usepackage{chngcntr}
  \numberwithin{equation}{chapter}

\usepackage{tcolorbox}
    \tcbuselibrary{skins, xparse, breakable, hooks, theorems}
\definecolor{blizzardblue}{rgb}{0.4, 0.6, 0.8}

\NewDocumentCommand{\bcases}{som}{%
    \IfBooleanTF{#1}{
        \tcbsidebyside[righthand ratio = 0.6,
        colback = blizzardblue!30!white, 
        colframe = blizzardblue!30!white,
        ]{{\bfseries #2}}{%
        \begin{gather*}
            \begin{cases}
                #3  
            \end{cases}
        \end{gather*}
        }\noindent
    }{
        \tcbsidebyside[righthand ratio = 0.6,
        colback = blizzardblue!30!white, 
        colframe = blizzardblue!30!white
        ]{{\bfseries #2}}{%
        \begin{gather}
            \begin{cases}
                #3      
            \end{cases}
        \end{gather}
        }\noindent
}}


   \begin{document}
        \bcases[Sphericals to Cartesians]{
        x & = r~\sin{\theta} \cos{\phi} \\
        y & = r~\sin{\theta} \cos{\phi} \\
        z & = r~\cos{\theta}
    }
    \end{document}

产生

在此处输入图片描述

我试图修复的是最小化Sphericals to Cartesians使用的水平空间并最大化(并居中)空间cases environment。现在,最后一个环境太靠近页面的右侧,我需要它更居中。

我已经尝试过更改righthand ratio, lefthand ratio和添加sidebyside align=right选项但没有成功\tcbsidebyside(这个出现错误,不知道为什么)。

这个问题的答案将是一个复制此问题的代码(该图已编辑):

在此处输入图片描述

感谢您阅读本文并继续提供帮助!

答案1

由于您可能不希望在整个文档中齐平左对齐方程,因此我fleqn在这里不使用全局文档类选项。

nccmath所以我使用提供环境的包fleqn。请注意,此包略微减少了显示方程式前后的垂直空间。

在此代码中,我使用环境fleqn在其中,我使用通常的环境gather(并且是带星号的版本)。

细微的排版调整:我已将x & = r~\sin代码中的“(等等)”替换为x = r\sin“(等等),这样元素之间的间距得到了更好的调整(=相同,之间的间距r而“sin”则介于“sin”和“cos”之间。

请注意,\sin等不带参数,因此我用\sin{\theta}替换\sin\theta

我也修正了转换公式,但这并不重要。

最后,我删除了未使用的软件包(physics、derivative、mathalfa、amssymb)。关于软件包physics,最好用新的physics2(doc:http://mirrors.ctan.org/macros/latex/contrib/physics2/doc/physics2.pdf) 和一些其他软件包(参见http://mirrors.ctan.org/macros/latex/contrib/physics2/doc/physics2-legacy.pdf有关physics包裹的问题)。

代码:

\documentclass[11pt, oneside]{book}

\renewcommand\sfdefault{cmss}
\renewcommand{\familydefault}{\sfdefault}

\usepackage[top = 2.54cm, bottom = 2.54cm, left = 1.5cm, right = 1.5cm]{geometry}
 
\usepackage{mathtools}
\usepackage{nccmath} % >>> provide the fleqn environment

\usepackage{chngcntr}
  \numberwithin{equation}{chapter}

\usepackage{tcolorbox}
    \tcbuselibrary{skins, xparse, breakable, hooks, theorems}
\definecolor{blizzardblue}{rgb}{0.4, 0.6, 0.8}

\NewDocumentCommand{\bcases}{som}{%
    \IfBooleanTF{#1}{
        \tcbsidebyside[righthand ratio = 0.75,
        colback = blizzardblue!30!white, 
        colframe = blizzardblue!30!white,
        ]{{\bfseries #2}}{%
        \begin{fleqn}
            \begin{gather*}
                \begin{cases}
                    #3  
                \end{cases}
            \end{gather*}
        \end{fleqn}
        }\noindent
    }{
        \tcbsidebyside[lefthand ratio = 0.25,
        colback = blizzardblue!30!white, 
        colframe = blizzardblue!30!white
        ]{{\bfseries #2}}{%
        \begin{fleqn}
            \begin{gather}
                \begin{cases}
                    #3      
                \end{cases}
            \end{gather}
        \end{fleqn}
        }\noindent
}}


   \begin{document}
        \bcases[Sphericals to Cartesians]{
        x = r\sin\theta \cos\phi \\
        y = r\sin\theta \sin\phi \\
        z = r\cos\theta
    }
    \end{document}

结果:

在此处输入图片描述

与 OP 代码进行比较(我通过在和bicolor,colbacklower = red!30!white,之间添加线,为两侧添加了不同的颜色):colback =colframe =

在此处输入图片描述

相关内容