|
楼主 |
kuing
发表于 2020-3-9 15:19
昨天在这帖用的 fit,突然想起也可以用于本帖。
测试结果是:用 fit 完全不会出现上面说的各种问题,连代码也简化不少!
比如开头的,只需这样写:- \documentclass{article}
- \usepackage{amsmath,amssymb}
- \usepackage{tikz}
- \usetikzlibrary{matrix,fit}
- \begin{document}
- \begin{tikzpicture}[baseline=(m-3-3.base),every node/.style={inner sep=0pt}]
- \matrix (m) [matrix of math nodes,column sep=12pt,row sep=8pt]
- {
- \square & x & y & \lambda & c_i \\
- f_1 & 2^* & \square & 0^\circ & 2 \\
- f_2 & \square & 2^\circ & 0^* & 2 \\
- f_2 & 0^\circ & 0^* & \square & 0 \\
- d_j & 2 & 2 & 0 & \square \\
- };
- \node[fit=(m-2-2)(m-4-4)(m-2-4)(m-4-2),
- left delimiter=(,right delimiter=)]{};
- \end{tikzpicture}
- \end{document}
复制代码 把四个角都 fit 起来,就完全不用管哪个长哪个短的问题,保证能完全包住。
也不用在 node 里面再来一个 \tikz 了。
(效果图没变,就不再重复截图了,下同)
3# 最后那个复杂点的,也只需这样写:- \[
- f(x)=
- \begin{tikzpicture}[baseline=(m-3-3.base),every node/.style={inner sep=0pt}]
- \matrix (m) [matrix of math nodes,column sep=12pt,row sep=8pt]
- {
- \square & x & y & \lambda & c_i \\
- f_1 & 2^* & \square & 0^\circ & 2 \\
- f_2 & \square & 2^\circ & 0^* & 2 \\
- f_2 & 0^\circ & 0^* & \square & 0 \\
- d_j & 2 & 2 & 0 & \square \\
- };
- \node[fit=(m-2-2)(m-4-4)(m-4-2)(m-2-4),
- left delimiter=(,right delimiter=)]{};
- \node[fit=(m-1-1)(m-2-2)(m-2-1)(m-1-2),
- left delimiter={[},right delimiter={]}]{};
- \node[fit=(m-1-1)(m-1-3),label={[yshift=10pt]90:$t$},
- above delimiter=\{]{};
- \end{tikzpicture}
- \]
复制代码 简单太多了,也完全没有什么 baseline 的问题。 |
评分
-
查看全部评分
|