You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在tikz-cd交换图中为D、E、F构成的底部三角形添加外框?

给tikz-cd中底部三角形添加外框的实现方法

嘿,我来帮你搞定这个外框的问题!要给D、E、F组成的底部三角形加外框,咱们可以借助tikz的fit库来精准拟合这三个节点,具体操作如下:

步骤拆解

  1. 加载fit库:因为要自动包围多个节点,需要先加载tikz的fit扩展库,直接在导言区添加即可。
  2. 给目标节点命名:给D、E、F三个节点分别设置名称,方便tikz定位它们。
  3. 绘制外框:用fit节点来拟合这三个节点,同时可以自定义边框的样式(比如粗细、圆角等)。

完整代码示例

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz-cd}
\usetikzlibrary{fit} % 加载fit库,用于拟合节点外框
\begin{document}
\[
\begin{tikzcd}[row sep=2.5em]
  & \text{A} \\
\arrow[rightarrow]{d}{R_4}\text{B} \arrow[leftarrow]{ur}{R_1} \arrow[dashed,leftrightarrow]{rr}{R_3} && \text{C} \\
\node (D) {\text{D}};\arrow[leftrightarrow]{rr}{R_3} & & \node (E) {\text{E}}; \arrow[leftrightarrow]{ld}{R_2}\\
  & \node (F) {\text{F}}; &
% 绘制包围D、E、F的外框
\node[fit=(D)(E)(F), draw, thick, inner sep=6pt, rounded corners] {};
\end{tikzcd}
\]
\end{document}

关键代码解释

  • \usetikzlibrary{fit}:启用fit库,让tikz可以自动计算多个节点的包围区域。
  • \node (D) {\text{D}};:给D节点设置名称为D,同理E和F节点分别命名为E、F,方便后续定位。
  • \node[fit=(D)(E)(F), draw, thick, inner sep=6pt, rounded corners] {};:
    • fit=(D)(E)(F):指定要包围的三个目标节点;
    • draw:表示绘制边框;
    • thick:设置边框的粗细,也可以换成thin或ultra thick调整;
    • inner sep=6pt:调整边框和节点之间的间距,数值越大间距越宽;
    • rounded corners:给边框添加圆角效果(可选,不需要的话直接删掉即可)。

你可以根据自己的需求调整边框样式,比如改成黑色实线、蓝色虚线等,灵活度很高~

内容的提问来源于stack exchange,提问作者Aleph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:07:42