
Возможно, это очень глупый вопрос, но он сводит меня с ума.
У меня есть три tcolorbox, связанных стрелками. Вторая строка блоков находится в среде мини-страницы, и я хочу, чтобы один был смещен влево, а другой — в центре под первым блоком.
Вот мой код:
\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}
Но у меня получается что-то вроде этого:
EDIT: Честно говоря, я пытаюсь переделать эту диаграмму для проекта, в более стилизованной манере. Но поскольку я новичок в 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}
который дает:
Как вы видите, в решении выше нет необходимости в мини-страницах, содержимое tcolorbox
-es you записывается в узел, узлы располагаются относительно друг друга. Расстояние контролируется node distance
. Только car должен определить смещение стрелки между узлами ci
и adm
.
Обратите внимание, на первых изображениях я не использовал utf8
кодировку, поэтому некоторые буквы отсутствуют.