
Привет, я создаю диаграмму с помощью tcolorbox. Я покажу вам свой код:
\begin{center}
\begin{tcolorbox}[halign= flush center, halign title= flush center, fonttitle=\sffamily\bfseries\large, title={Lecteur DVD LG=Modèle GSA-H10N}, width=9cm]
\includegraphics[height=3cm]{Picture1.jpg}
\end{tcolorbox}
\end{center}
\tcbset{on line,before upper=\strut,width=10cm}
\vspace{10px} %%%%%%%%% Adding space %%%%%%%%%
\begin{minipage}{.45\linewidth}
\begin{flushleft}
\tcbox[tcbox width=auto]{PHASES DE DEMONTAGE}
\end{flushleft}
\end{minipage}
\hfill
\begin{minipage}{.45\linewidth}
\begin{flushright}
\tcbox[tcbox width=auto limited]{ATTACHEMENTS}
\end{flushright}
\end{minipage}
\newtcolorbox[auto counter]{mybox}[1]{fonttitle=\sffamily\bfseries\large, sidebyside, lefthand width=6.5cm,
enhanced, remember as=first,
title=#1,
overlay unbroken and first ={
\node[anchor=north east,rounded corners,draw=black!80,fill=gray!30,line width=0.5mm,text width=2.5em,align=center,minimum height=4ex] at ([xshift=-\marginparsep]frame.north west) {\thetcbcounter};
}
}
\vspace{10px}
%%%%%%%%%%%%%%%% Phase 1
\begin{minipage}{.45\linewidth}
\begin{flushleft}
\begin{mybox}{Démontage du boitier}
\includegraphics[height=3cm]{Picture2.JPG}%
\hspace{10px}\includegraphics[height=3cm]{Picture3.jpg}
\tcblower
\underline{Temps:}\\\\ 4 min.\\ 30 sec.
\end{mybox}
\end{flushleft}
\end{minipage}
\hfill
\begin{minipage}{.45\linewidth}
\begin{flushright}
\begin{tcolorbox}[enhanced, width=4.5cm,
halign=center,valign=center,
square, remember as=second]
\includegraphics[height=3.5cm]{Picture4.JPG}
\end{tcolorbox}
\end{flushright}
\end{minipage}
\begin{tikzpicture}[overlay,remember picture,line width=0.8mm,draw=red!75!black]
\draw[->] (first.east) to (second.west);
\end{tikzpicture}
%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%% Phase 2
\begin{minipage}{.45\linewidth}
\begin{flushleft}
\begin{mybox}{Démontage de la carte mère}
\includegraphics[height=3cm]{Picture2_1.jpg}%
\hspace{10px}\includegraphics[height=3cm]{Picture5.JPG}
\tcblower
\underline{Temps:}\\\\ 1 min.\\ 25 sec.
\end{mybox}
\end{flushleft}
\end{minipage}
\hfill
\begin{minipage}{.45\linewidth}
\begin{flushright}
\begin{tcolorbox}[enhanced, width=4.5cm,
halign=center,valign=center,
square, remember as=third]
\includegraphics[height=3.5cm]{Picture2_2.jpg}
\end{tcolorbox}
\end{flushright}
\end{minipage}
\begin{tikzpicture}[overlay,remember picture,line width=0.8mm,draw=red!75!black]
\draw[->] (first.east) to (third.west);
\end{tikzpicture}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%% Phase 3
\begin{minipage}{.45\linewidth}
\begin{flushleft}
\begin{mybox}{Démontage du boitier}
\includegraphics[height=3cm]{Picture6.JPG}%
\hspace{10px}\includegraphics[height=3cm]{Picture7.JPG}
\tcblower
\underline{Temps:}\\\\ 45 sec.
\end{mybox}
\end{flushleft}
\end{minipage}
\hfill
\begin{minipage}{.45\linewidth}
\begin{flushright}
\begin{tcolorbox}[enhanced, overlay, width=4.5cm,
halign=center,valign=center,
square, remember as=fourth]
\includegraphics[height=3.5cm]{Picture2_3.jpg}
\end{tcolorbox}
\end{flushright}
\end{minipage}
\begin{tikzpicture}[overlay,remember picture,line width=0.8mm,draw=red!75!black]
\draw[->] (first.east) to (fourth.west);
\end{tikzpicture}
%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%% Phase 4
\begin{mybox}{Démontage de la tête de lecture}
\includegraphics[height=3cm]{Picture8.JPG}%
\hspace{10px}\includegraphics[height=3cm]{Picture9.JPG}
\tcblower
\underline{Temps:}\\\\ 1 min.
\end{mybox}
%%%%%%%%%%%%%%%%%%%%%%%%
\begin{center}
\begin{tcolorbox}[sidebyside,lefthand width=6.5cm, fonttitle=\sffamily\bfseries\large, title={Première étape de démontage}, width=14cm, halign title=flush center]
\includegraphics[height=5cm]{Picture10.JPG}
\tcblower
\underline{Temps total:} 7 min. 30 sec.\\\\
\underline{Eléments démontés:}\\
\begin{itemize}[leftmargin=*]
\item Boitier aluminium
\item Carte mère
\item Support CD plastique
\item Moteur d'ouverture du lecteur
\item Tête de lecture
\end{itemize}
\end{tcolorbox}
\end{center}
%%%%%%%%%%%%%%%% Phase 5
\begin{mybox}{Démontage de la partie métallique}
\includegraphics[height=3cm]{Picture8.JPG}%
\hspace{10px}\includegraphics[height=3cm]{Picture9.JPG}
\tcblower
\underline{Temps:}\\\\ 30 sec.
\end{mybox}
%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%% Phase 6
\begin{mybox}{Démontage de }
\includegraphics[height=3cm]{Picture8.JPG}%
\hspace{10px}\includegraphics[height=3cm]{Picture9.JPG}
\tcblower
\underline{Temps:}\\\\ 1 min.
\end{mybox}
%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%% Phase 7
\begin{mybox}{Démontage de }
\includegraphics[height=3cm]{Picture8.JPG}%
\hspace{10px}\includegraphics[height=3cm]{Picture9.JPG}
\tcblower
\underline{Temps:}\\\\ 1 min.
\end{mybox}
Что дает мне что-то вроде этого:
Из кода видно, что поля слева определены с помощью '\newtcolorbox'. Но дело в том, что я добавляю стрелки, используя опцию remember as. Проблема в том, что 'remember as' определено в команде '\netcolorbox', поэтому все мои поля слева запоминаются как 'first'. Как мне задать разное remember as для каждого поля слева в команде \begin{mybox}?
Для первого это тоже сработало, а вот с третьим не работает как следует (когда я рисую от первого ко второму, затем от первого к третьему и т. д.).
ПРАВКА: Преамбула
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[left=1in,right=1in,top=1in,bottom=1in]{geometry}
\usepackage{array}
\usepackage[table, x11names]{xcolor}
\usepackage{array, multirow}
\usepackage{makecell, hhline}
\renewcommand\theadfont{\bfseries}
\renewcommand\theadalign{lc}
\newcommand\whitecell[1]{\cellcolor{white}{#1}}
\usepackage[english,french]{babel}
\usepackage{fancyhdr}
\usepackage{setspace}
\usepackage{listings}
\usepackage[many]{tcolorbox}
\usepackage{url}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{parskip}
\usepackage[numbers]{natbib}
\usepackage[shortlabels]{enumitem}
\setlist[itemize]{label=\textbullet}
\setlength{\parindent}{0pt}
\newcommand{\forceindent}{\leavevmode{\parindent=1em\indent}}
\usetikzlibrary{arrows,shapes.geometric,positioning}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{natbib}
\usepackage{wrapfig}
\usepackage{titlesec}
\titleformat*{\section}{\huge\bfseries}
\titleformat*{\subsection}{\Large\bfseries}
\usepackage{hyperref}
\hypersetup{urlcolor=blue, colorlinks=true, linkcolor=black, citecolor=blue}
решение1
Некоторые примечания:
- Я игнорировал предупреждения, когда это было возможно, потому что в вашем документе их много, особенно
underfull \hbox
иoverfull \hbox
. Первое означает, что вы, возможно, вставили перенос строки там, где в строке не было содержимого, например, написав\\\\
, второе означает, что ваше содержимое выходит за поля страницы. - Я удалил большую часть контента из вашего примера, поскольку для демонстрации моего решения хватило одной страницы.
- Опция
draft
тамarticle
есть, потому что у меня нет ваших файлов изображений, удалите опцию восстановления изображений. Или вообще проигнорируйте преамбулу.
А теперь решение. Поскольку вы установили новый tcolorbox
с именем mybox
, я назначил ему динамическое имя, используя remember as=a\thetcbcounter,
Так что у вас есть a1, a2, a3
и так далее. Затем для каждой другой стороны я назначилb1, b2, b3
и так далее, вручную.
Наконец, вам понадобится только один, tikzpicture
чтобы нарисовать все стрелки, использовать один для каждой строки утомительно и ненужно. Вот так:
\begin{tikzpicture}[overlay,remember picture,->, line width=0.8mm,draw=red!75!black]
\foreach \x in {1,2,3}{%
\draw (a\x.east) -- (b\x.west);
}
\end{tikzpicture}
Я думаю, это довольно понятно, но не стесняйтесь комментировать, если вам нужна помощь. Там говорится, 1,2,3
что я использовал 3 "строки", но для каждой строки вам нужно увеличить ее на одну. Если у вас, скажем, 8, вы можете написать1,...,8
.
Выход
Код
\documentclass[draft]{article}
\usepackage[margin=2cm]{geometry}
\usepackage{tikz}
\usepackage[most]{tcolorbox}
\begin{document}
\begin{center}
\begin{tcolorbox}[halign= flush center, halign title= flush center, fonttitle=\sffamily\bfseries\large, title={Lecteur DVD LG=Modèle GSA-H10N}, width=9cm]
\includegraphics[height=3cm]{Picture1.jpg}
\end{tcolorbox}
\end{center}
\tcbset{on line,before upper=\strut,width=10cm}
\vspace{10px} %%%%%%%%% Adding space %%%%%%%%%
\begin{minipage}{.45\linewidth}
\begin{flushleft}
\tcbox[tcbox width=auto]{PHASES DE DEMONTAGE}
\end{flushleft}
\end{minipage}
\hfill
\begin{minipage}{.45\linewidth}
\begin{flushright}
\tcbox[tcbox width=auto limited]{ATTACHEMENTS}
\end{flushright}
\end{minipage}
\newtcolorbox[auto counter]{mybox}[1]{fonttitle=\sffamily\bfseries\large, sidebyside, lefthand width=6.5cm,
enhanced, remember as=a\thetcbcounter,
title=#1,
overlay unbroken and first ={
\node[anchor=north east,rounded corners,draw=black!80,fill=gray!30,line width=0.5mm,text width=2.5em,align=center,minimum height=4ex] at ([xshift=-\marginparsep]frame.north west) {\thetcbcounter};
}
}
\vspace{10px}
%%%%%%%%%%%%%%%% Phase 1
\begin{minipage}{.45\linewidth}
\begin{flushleft}
\begin{mybox}{Démontage du boitier}
\includegraphics[height=3cm]{Picture2.JPG}%
\hspace{10px}\includegraphics[height=3cm]{Picture3.jpg}
\tcblower
\underline{Temps:}\\\\ 4 min.\\ 30 sec.
\end{mybox}
\end{flushleft}
\end{minipage}
\hfill
\begin{minipage}{.45\linewidth}
\begin{flushright}
\begin{tcolorbox}[enhanced, width=4.5cm,
halign=center,valign=center,
square, remember as=b1]
\includegraphics[height=3.5cm]{Picture4.JPG}
\end{tcolorbox}
\end{flushright}
\end{minipage}
%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%% Phase 2
\begin{minipage}{.45\linewidth}
\begin{flushleft}
\begin{mybox}{Démontage de la carte mère}
\includegraphics[height=3cm]{Picture2_1.jpg}%
\hspace{10px}\includegraphics[height=3cm]{Picture5.JPG}
\tcblower
\underline{Temps:}\\\\ 1 min.\\ 25 sec.
\end{mybox}
\end{flushleft}
\end{minipage}
\hfill
\begin{minipage}{.45\linewidth}
\begin{flushright}
\begin{tcolorbox}[enhanced, width=4.5cm,
halign=center,valign=center,
square, remember as=b2]
\includegraphics[height=3.5cm]{Picture2_2.jpg}
\end{tcolorbox}
\end{flushright}
\end{minipage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%% Phase 3
\begin{minipage}{.45\linewidth}
\begin{flushleft}
\begin{mybox}{Démontage du boitier}
\includegraphics[height=3cm]{Picture6.JPG}%
\hspace{10px}\includegraphics[height=3cm]{Picture7.JPG}
\tcblower
\underline{Temps:}\\\\ 45 sec.
\end{mybox}
\end{flushleft}
\end{minipage}
\hfill
\begin{minipage}{.45\linewidth}
\begin{flushright}
\begin{tcolorbox}[enhanced, overlay, width=4.5cm,
halign=center,valign=center,
square, remember as=b3]
\includegraphics[height=3.5cm]{Picture2_3.jpg}
\end{tcolorbox}
\end{flushright}
\end{minipage}
\begin{tikzpicture}[overlay,remember picture,->, line width=0.8mm,draw=red!75!black]
\foreach \x in {1,2,3}{%
\draw (a\x.east) -- (b\x.west);
}
\end{tikzpicture}
\end{document}