![如何修复 Tikz 中括号的高度](https://linux22.com/image/410972/%E5%A6%82%E4%BD%95%E4%BF%AE%E5%A4%8D%20Tikz%20%E4%B8%AD%E6%8B%AC%E5%8F%B7%E7%9A%84%E9%AB%98%E5%BA%A6.png)
我正在用 Tikz 构建一个图形,我需要插入不同的垂直括号(方括号),就像我之前的问题一样(参见:如何建构一览表?) 具有以下不同高度:
- 括号内1730-1740 : 0.717厘米
- 括号 1740-1747 :0.5019cm
- 括号内1760-1789:2.0793厘米
- 括号 1790-1797 :0.5019厘米
- 括号内1790-1799:0.6453厘米
- 括号内1800-1819:1.3623厘米
- 括号内1820-1832:0.8604厘米
- 括号内1820-1839:1.3623厘米
我使用大小不同的 },如 \big}\Big}\bigg}\Bigg},但我无法控制括号的大小。这是我的代码:
\documentclass[symmetric,justified,marginals=raggedouter]{tufte-book}
\usepackage{ulem,tikz}
\usetikzlibrary{automata,positioning,arrows.meta,shapes,calc}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node[anchor=west,font=\normalsize](a)at(5.63cm,9.7465cm){\Big \} \strut};
\end{tikzpicture}
\end{document}
谁能帮助我解决这个问题?
提前谢谢你。
答案1
在 Ti 内钾Z 您可以使用(书法)括号装饰来获得任意尺寸的括号。
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{decorations.pathreplacing,calligraphy}
\begin{document}
\begin{tikzpicture}
\begin{scope}[thick,decoration=calligraphic brace]
\foreach \X in {2,...,5}{
\draw[stealth-stealth] (1.5*\X-0.3,0) -- ++ (0,\X*1em);
\draw[decorate] (1.5*\X,0) -- ++ (0,\X*1em)
node[midway,left=0.5ex,fill=white,font=\small\sffamily]{\X\,em};
}
\pgfmathsetmacro{\myrnd}{4+rnd*6}
\draw[stealth-stealth] (9-0.3,0) -- ++ (0,\myrnd*1em);
\draw[decorate] (9,0) -- ++ (0,\myrnd*1em)
node[midway,left=0.5ex,fill=white,font=\small\sffamily]{\pgfmathprintnumber\myrnd\,em};
\end{scope}
\end{tikzpicture}
\end{document}
答案2
感谢薛定谔的猫,我解决了我的问题,并得到了我想要的括号的一个例子,如下所示:
\documentclass[symmetric,justified,marginals=raggedouter]{tufte-book}
\usepackage{ulem,tikz}
\usetikzlibrary{automata,positioning,arrows.meta,shapes,calc}
\usetikzlibrary{positioning}
\usetikzlibrary{decorations.pathreplacing,calligraphy}
\begin{document}
\begin{tikzpicture}
\begin{scope}[thick,decoration=calligraphic brace]
\pgfmathsetmacro{\myrnd}{0.717} % <= 0,717 is the height
\draw[decorate,decoration={mirror}] (5.9,9.408) -- ++ (0,\myrnd*1cm) % <= (5.9,9.408) is the position on the tikzpicture and cm is the length unit (centimeter)
node{};
\end{scope}
\end{tikzpicture}
\end{document}