我正在使用此代码绘制花括号
\documentclass[]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{fit,calc,positioning,decorations.pathreplacing,matrix}
\begin{document}
\begin{tikzpicture}[decoration={brace}][scale=2]
\node [draw] (A) {A};
\node [fit=(A)] (fit) {};
\draw [decorate,line width=1pt] (fit.south west) -- (fit.north west);
\end{tikzpicture}
\end{document}
我怎样才能使这个括号跨越“A”字符的整个高度?
答案1
您可以对大括号所用的坐标进行方便的移位:
\documentclass[]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{fit,calc,positioning,decorations.pathreplacing,matrix}
\begin{document}
\begin{tikzpicture}[decoration={brace}][scale=2]
\node [draw] (A) {A};
\node [fit=(A)] (fit) {};
\draw [decorate,line width=1pt]
([yshift=-5pt]fit.south west) -- ([yshift=5pt]fit.north west);
\end{tikzpicture}
\end{document}
您的设置不会scale=2
产生任何效果,因为您使用的第二个可选参数不是正确的语法;tikzpicture
只允许一个可选参数:
\begin{tikzpicture}[<options>]
...
\end{tikzpicture}
其中<options>
是以逗号分隔的选项列表。
我不清楚为什么您要使用该fit
节点;您可以使用类似这样的节点,而无需使用此节点:
\documentclass[]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{fit,calc,positioning,decorations.pathreplacing,matrix}
\begin{document}
\begin{tikzpicture}
\node [draw] (A) {A};
\draw[decoration={brace,raise=5pt},decorate,line width=1pt]
([yshift=-5pt]A.south west) -- ([yshift=5pt]A.north west);
\end{tikzpicture}
\end{document}
另请注意,该选项scale=2
没有效果(您需要添加transform shape
)。
答案2
使用简单的 LaTeX 代码:
\documentclass{scrartcl}
\begin{document}
$ \left\{ \rule{0pt}{5mm}\fbox{A} \right. $
$ \left\{ \rule{0pt}{15mm}\fbox{A} \right. $
$ \left\{ \rule{0pt}{20mm}\fbox{A} \right. $
\end{document}