minipage 环境中的水平对齐问题

minipage 环境中的水平对齐问题

这可能是一个非常愚蠢的问题,但它让我发疯。

我有三个用箭头链接的 tcolorbox。第二行框位于 minipage 环境中,我希望一个框与第一个框对齐,另一个框位于第一个框下方的中心。

这是我的代码:

\begin{center}
\begin{tcolorbox}[enhanced, overlay, width=1.5in, halign = flush center, remember as=ci]
Circuit Imprimé
\end{tcolorbox}

\begin{minipage}{.5\linewidth}
\begin{flushleft} 
\begin{tcolorbox}[enhanced, overlay, width=1.3in, halign = flush center, remember as=pm]
Procédés\\ Métallurgiques
\end{tcolorbox}
\end{flushleft} 
\end{minipage}%
\begin{minipage}{.3\linewidth}
\begin{tcolorbox}[enhanced, overlay, width=1.8in, halign = flush center, remember as=adm]
Analyse des matériaux
\end{tcolorbox}
\end{minipage} 

\end{center}

\begin{tikzpicture}[overlay,remember picture,line width=0.5mm,draw=red!75!black]
\draw[->, rounded corners] (ci.east) -- ++(1.5,0)  |- (adm.east);
\end{tikzpicture}
\begin{tikzpicture}[overlay,remember picture,line width=0.5mm,draw=red!75!black]
\draw[->, rounded corners] (adm.west) to (pm.east);
\end{tikzpicture}

但我得到了类似这样的信息: 在此处输入图片描述

在此处输入图片描述

编辑:说实话,我正在尝试以更风格化的方式为一个项目重新制作此图表。但由于我是 tikz 和 tcolorbox 的新手,所以这并不容易: 在此处输入图片描述

答案1

Your `tikzpicures` replace width:

\begin{tikzpicture}[overlay,remember picture,
                    line width=0.5mm, draw=red!75!black,
                    rounded corners]
\draw[->] (ci.east) -- +(5,0)  |- (adm);
\draw[->] (adm) -- (pm);
\end{tikzpicture}

你将获得:

在此处输入图片描述

我想知道,为什么要用如此复杂的方式绘制这幅图像,直接在 TikZ 中绘制会更简单且更容易“控制”:

\documentclass{article}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{tikz}
\usetikzlibrary{arrows.meta,positioning}
    \usepackage[many]{tcolorbox}

    \begin{document}
\begin{tikzpicture}[
    node distance = 5mm and -3mm,
mynode/.style = {draw=gray, ultra thick, fill=gray!20,
                 rounded corners, align=center,
                 minimum height= 12mm, inner sep=2mm,
                 text width = #1},
 arrow/.style = {draw=red!75!black, line width=1mm, 
                 -{Triangle[]}  }
                          ]   
\node (ci)  [mynode=1.5in]      {Circuit Imprimé};
\node (pm)  [mynode=1.3in,
             below  left=of ci] {Procédés\\ Métallurgiques};
\node (adm) [mynode=1.3in,
             below right=of ci] {Analyse\\ des Matériaux};
%
\draw[arrow] (ci.east) -- +(5,0) |- (adm);
\draw[arrow] (adm) -- (pm);
\end{tikzpicture}
    \end{document}

这使:

在此处输入图片描述

可以看出,上面的解决方案不需要 minipages,tcolorbox-es you 的内容写入节点,节点彼此相对定位。距离由 控制node distance。只有 car 是确定节点ci和之间箭头的偏移量adm

请注意,在第一张图片中我没有使用utf8编码,因此缺少了一些字母。

相关内容