Legenda na lateral de um desenho do Tikz

Legenda na lateral de um desenho do Tikz

Como posso obter uma legenda lateral para um desenho do Tikz?

Se eu tentar com o SCfigure, meu desenho se sobrepõe à legenda.

Aqui está a imagem que desenhei usando 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}

insira a descrição da imagem aqui

Responder1

  • conforme mencionado nos comentários acima, para legendas nas laterais da figura (ou tabela) pretende-seSCfigure
  • posição vertical da legenda em relação à imagem que você pode definir \sidecaptionvpos{figure}{m}(m para o meio, t para cima eb para baixo /default/)
  • com a opção você pode determinar a proporção entre a largura da imagem e da legenda (o padrão é 1)

insira a descrição da imagem aqui

(as linhas vermelhas indicam apenas o layout da página)

\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}

no código acima, também tornei tikzpictureo código mais curto. como você pode ver, o dimensionamento da imagem não é necessário.

Responder2

Você tem um erro de sintaxe. A primeira opção depois \begin{SCfigure}deve ser um número (o tamanho relativo da legenda). Você tem [b].

Este é o código correto:

\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}

O que produz:

Resultado

informação relacionada