Подпись сбоку рисунка Tikz

Подпись сбоку рисунка Tikz

Как получить подпись к рисунку Tikz?

Если я попробую использовать SCfigure, мой рисунок будет перекрываться подписью.

Вот изображение, которое я нарисовал с помощью SCfigure:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{sidecap}
\begin{document}
\begin{SCfigure} [b]
\centering
\begin{tikzpicture}[scale=0.5]
\draw  (-1,-3) -- (-1,3) -- (-0.7,3) -- (-0.7, -3) -- cycle;
\draw  (1,3) -- (1,-3) -- (0.7,-3) -- (0.7, 3) -- cycle;
 \fill[black!15] (1,3) -- (1,-3) -- (0.7,-3) -- (0.7, 3) -- cycle;
 \fill[black!15] (-1,-3) -- (-1,3) -- (-0.7,3) -- (-0.7, -3) -- cycle; 
\draw [<->] (-0.68,0) --(0.68,0);
\draw (0,0)  node[anchor=north]  {$h$};
\draw [<-] (1.01,-0.5) --(2.8,-0.5);
\draw (1.9,-0.5)  node[anchor=north]  {\small{K}};
\draw (1.75,0.5) circle (0.7);
\draw (2.2,2.5) circle (0.7);
\draw (-2,1.7) circle (0.7);
\draw (-1.75,0) circle (0.7);
\draw (-2.3,-1.6) circle (0.7);
\draw (2,-1.98) circle (0.7);
\draw [<->] (2.69,-1.98) --(1.31,-1.98);
\draw (2,-1.98)  node[anchor=north]  {$\sigma$};
\end{tikzpicture} 
\caption{I would love to have this caption on the left of my drawing :}
\label{entropic1}
\end{SCfigure}
\end{document}

введите описание изображения здесь

решение1

  • как упоминалось в комментариях выше, для подписей сбоку рисунка (или таблицы) предназначеноSCfigure
  • Вертикальное положение подписи относительно изображения можно задать с помощью \sidecaptionvpos{figure}{m}(m для середины, t для верха и b для низа /по умолчанию/)
  • с помощью опции вы можете определить соотношение между шириной изображения и подписи (по умолчанию 1)

введите описание изображения здесь

(красные линии указывают только макет страницы)

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[leftcaption]{sidecap}
\sidecaptionvpos{figure}{m}
\usepackage{tikz}

%-------------------------------- show page layout, only for test
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}
    \begin{SCfigure}[0.8][htb]
\centering
    \begin{tikzpicture}%[baseline]
\draw[fill=black!15]  (-1,-3) -- (-1,3) -- (-0.7,3) -- (-0.7, -3) -- cycle;
\draw[fill=black!15]  (1,3) -- (1,-3) -- (0.7,-3) -- (0.7, 3) -- cycle;

\draw [<->] (-0.68,0) -- node[anchor=north]  {$h$}(0.68,0);
\draw [<-] (1.01,-0.5) -- node[anchor=north]  {$K$}(2.8,-0.5);

\draw   (1.75,0.5)  circle (0.7cm)
        (2.2,2.5)   circle (0.7cm)
        (2,-1.8)    circle (0.7cm);
        (-2,1.7)    circle (0.7cm);
        (-1.75,0)   circle (0.7cm);
        (-2.3,-1.6) circle (0.7cm);
\draw [<->] (2.69,-1.8) -- node[anchor=north]  {$\sigma$}(1.31,-1.8);
    \end{tikzpicture}
\caption{I would love to have this caption on the left of my drawing :)}
\label{plates1}
    \end{SCfigure}
\end{document}

В коде выше я также сделал tikzpictureкод короче. Как видите, масштабирование изображения не требуется.

решение2

У вас синтаксическая ошибка. Первый параметр после \begin{SCfigure}должен быть числом (относительный размер подписи). У вас [b].

Вот правильный код:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage[leftcaption]{sidecap}

\begin{document} 
\begin{SCfigure}[0.5][b]
\centering 
\begin{tikzpicture}[scale=1] 
    \draw  (-1,-3) -- (-1,3) -- (-0.7,3) -- (-0.7, -3) -- cycle;
    \draw  (1,3) -- (1,-3) -- (0.7,-3) -- (0.7, 3) -- cycle;
     \fill[black!15] (1,3) -- (1,-3) -- (0.7,-3) -- (0.7, 3) -- cycle;
     \fill[black!15] (-1,-3) -- (-1,3) -- (-0.7,3) -- (-0.7, -3) -- cycle; 
    \draw [<->] (-0.68,0) --(0.68,0);
    \draw (0,0)  node[anchor=north]  {$h$};
    \draw [<-] (1.01,-0.5) --(2.8,-0.5);
    \draw (1.9,-0.5)  node[anchor=north]  {\small{K}};
    \draw (1.75,0.5) circle (0.7);
    \draw (2.2,2.5) circle (0.7);
    \draw (-2,1.7) circle (0.7);
    \draw (-1.75,0) circle (0.7);
    \draw (-2.3,-1.6) circle (0.7);
    \draw (2,-1.98) circle (0.7);
    \draw [<->] (2.69,-1.98) --(1.31,-1.98);
    \draw (2,-1.98)  node[anchor=north]  {$\sigma$};
\end{tikzpicture}
\caption{I would love to have this caption on the left of my drawing} \label{entropic1} 
\end{SCfigure} 
\end{document}

Что производит:

Результат

Связанный контент