A ideia básica seria colocar uma legenda ao lado de uma imagem e centralizá-la verticalmente. Eu tentei isso em um tcolorbox
ambiente, pois está sendo usado em um pôster. Não tenho certeza do quanto a tcolorbox
moldura é importante, mas a mantive como contêiner aqui.
A ideia seria colocar a imagem em uma coluna e a legenda na outra, que deveria ser compensada por meio de um \vspace
comando. Conforme mostrado abaixo, o código coloca o espaço vertical entre a primeira e a segunda linha do texto e não acima da primeira linha (onde estaria no código).
\documentclass{standalone}
\usepackage{tikz}
\usepackage{multicol}
\usepackage{tcolorbox}
\begin{document}
\begin{tcolorbox}[boxsep=-1mm]
\begin{multicols}{2} % also tried unbalanced multicols*
\begin{tikzpicture}
\draw (0,0) -- (5,0) -- (5,4) -- (0,4) -- (0,0);
\draw (0,0) -- (5,4);
\draw (5,0) -- (0,4);
\end{tikzpicture}
\vspace{0.5cm} % this command causes strange vertical spacing
Figure aption. Weird vertical spacing between 1st and 2nd line, when using \textbackslash vspace command.
\end{multicols}
\end{tcolorbox}
\end{document}
Para efeito de comparação, você pode ver duas imagens, mostrando o efeito do \vspace
comando:
Existe uma maneira de contornar isso? isso é um erro ou uma característica?
Responder1
Você tem que sair do horizontal
modo primeiro, ou seja, usar uma linha vazia e depois emitir \vspace{0.5cm}
, se for realmente necessário.
\documentclass{standalone}
\usepackage{tikz}
\usepackage{multicol}
\usepackage{tcolorbox}
\begin{document}
\begin{tcolorbox}[boxsep=-1mm]
\begin{multicols}{2} % also tried unbalanced multicols*
\begin{tikzpicture}
\draw (0,0) -- (5,0) -- (5,4) -- (0,4) -- (0,0);
\draw (0,0) -- (5,4);
\draw (5,0) -- (0,4);
\end{tikzpicture}
% this command causes strange vertical spacing
\vspace{0.5cm}
Figure caption. No weird vertical spacing between 1st and 2nd line, when using \textbackslash vspace command.
\end{multicols}
\end{tcolorbox}
\end{document}
Responder2
Se usar tcolorbox
não há necessidade de multicol
ambiente, pois tcolorbox
já divide cada caixa em upper
e lower
peças, que podem ser colocadas lado a lado.
Provavelmente a maneira mais fácil de obter o resultado desejado do OP é \tcbsidebyside
box (presente desde a versão 20/11/2015) que precisa xparse
de tcolorboxlibrary. Este comando já divide a caixa em duas colunas iguais e o conteúdo fica centralizado verticalmente:
\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\usepackage[skins,xparse]{tcolorbox}
\begin{document}
\tcbsidebyside[notitle,lower separated=false]{%
\begin{tikzpicture}
\draw (0,0) -- (5,0) -- (5,4) -- (0,4) -- (0,0);
\draw (0,0) -- (5,4);
\draw (5,0) -- (0,4);
\end{tikzpicture}
}{%
Figure caption. Weird vertical spacing between 1st and 2nd line, when using \textbackslash vspace command.
}
\end{document}