Espaciado vertical extraño dentro del párrafo usando multicol dentro de tcolorbox

Espaciado vertical extraño dentro del párrafo usando multicol dentro de tcolorbox

La idea básica sería poner un título al lado de una imagen y centrarlo verticalmente. Probé esto dentro de un tcolorboxentorno ya que se usa en un póster. No estoy seguro de cuánto tcolorboximporta el marco, pero lo guardé como contenedor aquí.

La idea habría sido poner la imagen en una columna y el título en la otra, que debería compensarse mediante un \vspacecomando. Como se muestra a continuación, el código coloca el espacio vertical entre la primera y la segunda línea del texto y no encima de la primera línea (donde estaría en el 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}

A modo de comparación, puede ver dos imágenes que muestran el efecto del \vspacecomando:

comportamiento correcto sin comando vspace espaciado vertical extraño al usar el comando vspace

¿Hay alguna manera de evitar esto? ¿Es esto un error o una característica?

Respuesta1

Primero debe abandonar el horizontalmodo, es decir, usar una línea vacía y luego emitir \vspace{0.5cm}, si realmente es necesario.

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

ingrese la descripción de la imagen aquí

Respuesta2

Si lo usas, tcolorboxno hay necesidad de multicolentorno, porque tcolorboxcada caja ya está dividida en upperpartes lowerque se pueden colocar una al lado de la otra.

Probablemente la forma más fácil de obtener el resultado deseado de OP es \tcbsidebysideel cuadro (presente desde la versión 2015-11-20) que necesita xparsetcolorboxlibrary. Este comando ya divide el cuadro en dos columnas iguales y el contenido está centrado 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}

ingrese la descripción de la imagen aquí

información relacionada