![Общая подпись под подсюжетами](https://rvso.com/image/330730/%D0%9E%D0%B1%D1%89%D0%B0%D1%8F%20%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D1%8C%20%D0%BF%D0%BE%D0%B4%20%D0%BF%D0%BE%D0%B4%D1%81%D1%8E%D0%B6%D0%B5%D1%82%D0%B0%D0%BC%D0%B8.png)
Как сделать общую подпись посередине под обоими сюжетами, на которую можно ссылаться с помощью метки, и как удалить (a) и (b), чтобы подписи подсюжетов уместились на одной строке?
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\usepackage{subfig}
\usepackage{float}
\begin{document}
\begin{figure}
\centering
\subfloat[Compability graph]
{%
\begin{tikzpicture}
\node[shape=circle,draw=black] (A) at (0,0) {3};
\node[shape=circle,draw=black] (B) at (0,1) {2};
\node[shape=circle,draw=black] (C) at (0,2) {1};
\node[shape=circle,draw=black] (D) at (2,0) {6};
\node[shape=circle,draw=black] (E) at (2,1) {5};
\node[shape=circle,draw=black] (F) at (2,2) {4} ;
\path [-] (C) edge node[left] {} (D);
\path [-] (C) edge node[left] {} (E);
\path [-] (C) edge node[left] {} (F);
\path [-] (B) edge node[left] {} (E);
\path [-] (B) edge node[left] {} (D);
\path [-] (A) edge node[left] {} (D);
\end{tikzpicture}
%
}\hfil
\subfloat[Conflict graph]
{%
\begin{tikzpicture}
\node[shape=circle,draw=black] (A) at (0,0) {3};
\node[shape=circle,draw=black] (B) at (0,1) {2};
\node[shape=circle,draw=black] (C) at (0,2) {1};
\node[shape=circle,draw=black] (D) at (2,0) {6};
\node[shape=circle,draw=black] (E) at (2,1) {5};
\node[shape=circle,draw=black] (F) at (2,2) {4} ;
\path [-] (B) edge node[left] {} (F);
\path [-] (A) edge node[left] {} (E);
\path [-] (A) edge node[left] {} (F);
\end{tikzpicture}
%
}
\end{figure}
\end{document}
решение1
Я предполагаю, что вам понравится что-то вроде того, что показано на картинке ниже.
Мне нравится отговаривать делать то, что вы намереваетесь. Если вы сотрете номер subcation
( (a)
, (b)
), то вы потеряете возможность ссылаться на них. Для одной строки subcation
лучше немного увеличить горизонтальное расстояние, как я сделал на рисунке выше.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{chains,positioning}
\usepackage{subfig}
\usepackage{float}
\begin{document}
\begin{figure}
\centering
\subfloat[Compability graph \label{fig:main-a}]
{%
\begin{tikzpicture}[
node distance = 3mm and 22mm,
start chain = going above,
every node/.style = {shape=circle, draw=black,
inner sep=1mm, on chain}
]
\node (A) {3};
\node (B) {2};
\node (C) {1};
%
\node (D) [right=of A] {6};
\node (E) {5};
\node (F) {4} ;
%%
\draw (C) -- (D) (C) -- (E) (C) -- (F)
(B) -- (E) (B) -- (D)
(A) -- (D);
\end{tikzpicture}
%
}\hfil
\subfloat[Conflict graph \label{fig:main-b}]
{%
\begin{tikzpicture}[
node distance = 3mm and 22mm,
start chain = going above,
every node/.style = {shape=circle, draw=black,
inner sep=1mm, on chain}
]
\node (A) {3};
\node (B) {2};
\node (C) {1};
%
\node (D) [right=of A] {6};
\node (E) {5};
\node (F) {4} ;
%%
\draw (B) -- (F)
(A) -- (E) (A) -- (F);
\end{tikzpicture}
%
}
\caption{Main caption}
\label{fig:main}
\end{figure}
\end{document}
Как видите, добавление основного заголовка не представляет собой ничего сложного. Возможность article
размещения заголовка посередине ширины текста. Если вы будете использовать caption
пакет, вам нужно будет соответствующим образом настроить заголовки (для этого вам нужно прочитать документацию пакета). В противном случае я позволил себе сделать ваш код намного более компактным, однако все еще остаюсь в чистой картинке TikZ. В этом я использую библиотеки chains
и positioning
.
решение2
Вот вариант использованияsubcaption
- позволяет указать ширину блока. Так, если указать два блока, каждый из которых будет иметь ширину, .5\linewidth
они будут центрированы относительно страницы и друг друга:
\documentclass{article}
\usepackage{graphicx,subcaption}
\begin{document}
\begin{figure}[ht]
\centering
\subcaptionbox{Compability graph}{%
\includegraphics[width=80pt]{example-image-a}%
}\hfill
\subcaptionbox{Conflict graph}{%
\includegraphics[width=80pt]{example-image-b}%
}
\bigskip
\subcaptionbox{Compability graph}[.5\linewidth]{%
\includegraphics[width=80pt]{example-image-a}%
}%
\subcaptionbox{Conflict graph}[.5\linewidth]{%
\includegraphics[width=80pt]{example-image-b}%
}
\bigskip
\subcaptionbox*{Compability graph}{%
\includegraphics[width=80pt]{example-image-a}%
}\hfill
\subcaptionbox*{Conflict graph}{%
\includegraphics[width=80pt]{example-image-b}%
}
\caption{A figure caption}
\end{figure}
\end{document}
Он также позволяет вам использовать звездную *
версию подписи, чтобы удалить нумерацию, что дает вам немного дополнительного места.