对不起,我的英语不好。
我的文件使用了 fouriernc 字体。但是右括号不太美观。
我发现一个代码可以很好地自定义右括号,但是如果旁边有文本,它们就会像这样堆叠在一起。
请帮我修复代码以避免该问题。非常感谢!
\documentclass{article} % https://tex.stackexchange.com/a/327584/121799
\usepackage{tikz,amsmath,environ,fourier}
\usetikzlibrary{decorations.pathreplacing,calc}
\tikzset{
ncbar angle/.initial=90,
ncbar/.style={
to path=(\tikztostart)
-- ($(\tikztostart)!#1!\pgfkeysvalueof{/tikz/ncbar angle}:(\tikztotarget)$)
-- ($(\tikztotarget)!($(\tikztostart)!#1!\pgfkeysvalueof{/tikz/ncbar angle}:(\tikztotarget)$)!\pgfkeysvalueof{/tikz/ncbar angle}:(\tikztostart)$)
-- (\tikztotarget)
},
ncbar/.default=0.5cm
}
%
\tikzset{square left brace/.style={ncbar=1ex}}
\tikzset{square right brace/.style={ncbar=-1ex}}
%
\NewEnviron{rcases}{\setbox0=\hbox{$\,\begin{matrix}\BODY\end{matrix}\,$}%
\setbox2=\hbox{\begin{tikzpicture}
\draw (0,\botdim) to [square left brace] (0,\topdim);
\copy0
\end{tikzpicture}}
\vcenter{\hbox{\copy2}}%
}
\def\topdim{\the\dimexpr+\ht0+.5\ht\strutbox-.5\dp\strutbox-3pt\relax}
\def\botdim{\the\dimexpr-\ht0+.5\ht\strutbox-.5\dp\strutbox+3pt\relax}
\begin{document}
\[ \left[\begin{matrix}
0 & \text{if}~x<0\\
1 & \text{if}~x\ge0
\end{matrix} \right.
\]
\[
f(x)=
\begin{rcases}
0 & \text{if}~x<0 \\
1 & \text{if}~x\ge0
\end{rcases} x+y=0
\]
\end{document}
答案1
使用 Ti钾这里的 Z 对我来说似乎有点过度了。
\documentclass{article}
\usepackage{amsmath,fourier}
\newenvironment{bcases}{%
\vcenter\bgroup
\vbox\bgroup
\hrule width1ex % <-- choose your desired size
\hbox\bgroup
\vrule
\hbox\bgroup
$\mathsurround0pt\def\arraystretch{1.2}\array{@{\kern.5em}l@{\quad}l@{}}%
}{% ^^^ ^^^^^^^^
\endarray$ % or whatever you like
\egroup
\egroup
\hrule width1ex
\egroup
\egroup
}
\begin{document}
\begin{gather*}
f(x)=\begin{cases}
0 & \text{if $x<0$} \\
1 & \text{if $x\ge0$}
\end{cases}
x+y=0
\\
f(x)=\begin{bcases}
0 & \text{if $x<0$} \\
1 & \text{if $x\ge0$}
\end{bcases} x+y=0
\end{gather*}
\end{document}
(我称之为环境bcases
而不是rcases
因为后者是由mathtools
包提供的。)