如何绘制一个根据内容调整的框架?

如何绘制一个根据内容调整的框架?

我知道该软件包tcolorbox提供了选项\tcbox。但显然它无法处理换行符、引号(例如 csquotes 显示等式)或数学模式内容。我认为这\begin{tcolorbox}很棒,它完全符合我的要求,除了根据内容调整其宽度。

我想要的是一个命令,它可以在任意一段文本周围创建一个调整后的框架,并允许我使用换行符和环境,如方程式、引语等。我不关心分页符。

我还能用这个tcolorbox软件包实现这个功能吗?或者还有其他选择吗?我是 LaTeX 的初学者,提前谢谢

编辑:更准确地说,使用该\boxed命令可以给我我想要实现的一般输出:

\begin{equation*}
  \boxed{
   \begin{aligned}
   &p = \text{Intervallverhältnis von 1 Cent} \\
   &2 = \text{Intervallverhältnis der reinen Oktave} \\ \\
   &p^{1200} = 2 \longrightarrow p = \sqrt[1200]{2}
   \end{aligned}
  }
\end{equation*}

输出图像

这正是我想要使用tcolorbox及其框架实现的。围绕(居中)数学的框架,宽度自动调整。

我已经尝试使用以下\tcbox命令:

\tcbox{
 \begin{equation*}
  \begin{aligned}
  &p = \text{Intervallverhältnis von 1 Cent} \\
  &2 = \text{Intervallverhältnis der reinen Oktave} \\ \\
  &p^{1200} = 2 \longrightarrow p = \sqrt[1200]{2}
  \end{aligned}
 \end{equation*}
}

这会导致包amsmath错误消息,并且虽然框架按照我想要的方式调整到其内容,但整个框不再居中而是左对齐。

答案1

\tcbhighmath可能会很有趣:

在此处输入图片描述

\documentclass{article}
\usepackage[many]{tcolorbox}
\usepackage{amsmath}
\usepackage{lipsum}
\begin{document}
\lipsum[4]
\begin{equation*}
\tcbhighmath{
  \begin{aligned}
  &p = \text{Intervallverhältnis von 1 Cent} \\
  &2 = \text{Intervallverhältnis der reinen Oktave} \\ \\
  &p^{1200} = 2 \longrightarrow p = \sqrt[1200]{2}
  \end{aligned}
  }
\end{equation*}
\lipsum[4]
\end{document}

框的样式也可以定制。\tcbset{highlight math style={colframe=black,colback=white,boxrule=1pt, sharp corners}}例如给出以下输出:

在此处输入图片描述

相关内容