我想优化以下命令
\documentclass{standalone}
\usepackage{amsmath}
\newcommand{\casos}[2]{\left.\begin{cases}
#1 \\ #2
\end{cases} \mkern-18mu \right\}}
\begin{document}
\ldots demzufolge ist die Ableitung von $ \casos{\sin \theta}{ \cos \theta}$ durch
\[\frac{d}{d\theta} \casos{\sin \theta}{ \cos \theta}=\casos{+\cos \theta}{-\sin\theta}\]
gegeben.
\end{document}
我想让花括号变得更细(更薄?)(这里可能看起来还行,但如果只使用一个字符,括号似乎有点大)。此外,内联版本并不比等式中的版本小。但到目前为止,对我来说,实现它的唯一方法是cases
,如您所见。
:
答案1
在这里我做了一些战略性改变。我放弃了环境。我使用(from包)cases
构建了堆叠数学。\stackanchor
stackengine
我使用\stretchleftright{}{}{}
宏(来自包)通过拉伸和字形scalerel
来制作括号,但要遵守最大纵横比的限制。\{
\}
为了实现内联(文本样式)和显示样式的不同外观,我使用了来\mathchoice
选择适当的形式。
在 MWE 中,我展示了两个版本,给出了最大括号纵横比和内联堆叠间隙的变化。我制作了版本\textstyle
,\small
尽管也许\footnotesize
可能更可取。
\documentclass{article}
\usepackage[usestackEOL]{stackengine}
\stackMath
\usepackage{scalerel}
\def\maxaspect{300}
\def\shortgap{1pt}
% \displaystyle VERSION
\newcommand{\dcasos}[2]{\def\stacktype{L}\strutlongstacks{T}%
\stretchleftright[\maxaspect]{\{}{\stackanchor{#1}{#2}}{\}}}
%%% AN ALTERNATIVE USING TRADITIONAL \left \right SYNTAX FOR \displaystyle
%%\newcommand{\dcasos}[2]{\def\stacktype{L}\strutlongstacks{T}\left\{\stackanchor{#1}{#2}\right\}}
% \textstyle VERSION
\newcommand{\tcasos}[2]{\def\stacktype{S}\setstackgap{S}{\shortgap}\small%
\stretchleftright[\maxaspect]{\{}{\stackanchor{#1}{#2}}{\}}}
\newcommand\casos[2]{\mathchoice{\dcasos{#1}{#2}}
{\tcasos{#1}{#2}}
{\tcasos{#1}{#2}}
{\tcasos{#1}{#2}}}
\begin{document}
\ldots demzufolge ist die Ableitung von $ \casos{\sin \theta}{ \cos \theta}$ durch
\[\frac{d}{d\theta} \casos{\sin \theta}{ \cos \theta}=\casos{+\cos \theta}{-\sin\theta}\]
gegeben.
\def\maxaspect{200}
\def\shortgap{3pt}
\ldots demzufolge ist die Ableitung von $ \casos{\sin \theta}{ \cos \theta}$ durch
\[\frac{d}{d\theta} \casos{\sin \theta}{ \cos \theta}=\casos{+\cos \theta}{-\sin\theta}\]
gegeben.
\end{document}
答案2
综合 Zarko 和 Steven 的想法:
\documentclass{article}
\usepackage{mathtools}
\newcommand{\casos}[3][c]{{\mathpalette\docasos{{#1}{#2}{#3}}}}
\newcommand{\docasos}[2]{\dodocasos{#1}#2}
\newcommand{\dodocasos}[4]{%
\left\{%
\begin{\ifx\displaystyle#1\else small\fi matrix*}[#2]
#3\\
#4
\end{\ifx\displaystyle#1\else small\fi matrix*}
\right\}%
}
\begin{document}
demzufolge ist die Ableitung von $\casos{\sin\theta}{\cos\theta}$ durch
\[
\frac{d}{d\theta} \casos{\sin\theta}{\cos\theta}=\casos{\cos\theta}{-\sin\theta}
\]
gegeben.
demzufolge ist die Ableitung von $\casos[l]{\sin\theta}{\cos\theta}$ durch
\[
\frac{d}{d\theta} \casos[l]{\sin\theta}{\cos\theta}=\casos[l]{\cos\theta}{-\sin\theta}
\]
gegeben.
demzufolge ist die Ableitung von $\casos[r]{\sin\theta}{\cos\theta}$ durch
\[
\frac{d}{d\theta} \casos[r]{\sin\theta}{\cos\theta}=\casos[r]{\cos\theta}{-\sin\theta}
\]
gegeben.
\end{document}
答案3
我不知道是否存在在in-line math
和中具有不同布局的环境displaymath
,因此我建议定义两个命令,一个 -- \cases -- 用于内联使用,另一个 -- \Cases -- 用于 中。我建议使用l 和和 而displaymath
不是:cases
mathtoo
Bmatrix*
Bsmallmatrix*
\documentclass{article}
\usepackage{mathtools}
\newcommand{\Casos}[2]{\begin{Bmatrix*}[r]
#1 \\ #2
\end{Bmatrix*}}
\newcommand{\casos}[2]{\begin{Bsmallmatrix*}[r]
#1 \\ #2
\end{Bsmallmatrix*}}
\usepackage[active,textmath,floats,tightpage]{preview}
\setlength\PreviewBorder{1em}
\begin{document}
%---------------------------------------------------------------%
\begin{figure}
\ldots demzufolge ist die Ableitung von $\casos{\sin\theta}{\cos\theta}$ durch
\[
\frac{d}{d\theta} \Casos{\sin\theta}{\cos\theta}=\Casos{\cos\theta}{-\sin\theta}
\]
gegeben.
\end{figure}
%---------------------------------------------------------------%
\end{document}
由于编译您的代码时出现错误,我将我的 MWE 更改为文章并使用预览。
编辑: 在 Steven 回答之前,我并不知道 \mathchoice。有了它,我的建议可以简化为:
\documentclass{article}
\usepackage{mathtools}
\newcommand{\displaycasos}[2]{\begin{Bmatrix*}[r]
#1 \\ #2
\end{Bmatrix*}}
\newcommand{\textcasos}[2]{\begin{Bsmallmatrix*}[r]
#1 \\ #2
\end{Bsmallmatrix*}}
\newcommand\casos[2]{\mathchoice{\displaycasos{#1}{#2}}
{\textcasos{#1}{#2}}
{\textcasos{#1}{#2}}
{\textcasos{#1}{#2}}}
\begin{document}
\ldots demzufolge ist die Ableitung von $\casos{\sin\theta}{\cos\theta}$ durch
\[
\frac{d}{d\theta} \casos{\sin\theta}{\cos\theta}=\casos{\cos\theta}{-\sin\theta}
\]
gegeben.
\end{document}