如何将 TikZ 图片和文本并排对齐

如何将 TikZ 图片和文本并排对齐

我想TikZ在文本块旁边添加图片

\documentclass{article}
\usepackage{lipsum}
\usepackage{tikz}
\begin{document}
  \lipsum[1]
\begin{tikzpicture}[color=white]
\node[fill=blue!70,rotate=90] at (0,0) {Vertical Text on Left};
\end{tikzpicture}
  \lipsum[2]
  \lipsum[3]
\end{document}

但是在这个结构中,TikZ`图片被插入到文本的第一行,而不是并排放置。

在此处输入图片描述

一种解决方案是使用类似wrapfig将文本环绕在图片周围的包。有没有更简单的解决方案将TikZ图片放在文本旁边?

答案1

使用时\parbox,我只是将宽度设置为的一小部分\linewidth

\documentclass{article}
\usepackage{lipsum}
\usepackage{tikz}
\begin{document}
  \lipsum[1]
\noindent\parbox[][][t]{.05\linewidth}{\begin{tikzpicture}[color=white]
\node[fill=blue!70,rotate=90] at (0,0) {Vertical Text on Left};
\end{tikzpicture}}%
\parbox[][][t]{.95\linewidth}{
  \lipsum[2]
  \lipsum[3]
}
\end{document}

在此处输入图片描述

答案2

仅供参考,这里有一个解决方案wrapfig

\documentclass{article}
\usepackage{tikz}
\usepackage{wrapfig}
\usepackage{lipsum}

\begin{document}
\lipsum[1]
\begin{wrapfigure}[10]{L}{.5cm}
\vspace{-\baselineskip}
\begin{tikzpicture}[color=white]
\node[fill=blue!70,rotate=90,minimum width=9\baselineskip,align=center]
at (0,0) {Vertical Text on Left};
\end{tikzpicture}
\end{wrapfigure}
\lipsum[2]
\lipsum[3]
\end{document}

(作者:贡萨洛·梅迪纳)

答案3

这是使用小页面环境。相比之下,在一个地方使用 \strut,在另一个地方使用 \bigkip,以改善间距。

\documentclass{article}
\usepackage{lipsum}
\usepackage{tikz}
\usepackage{wrapfig}

\begin{document}
\lipsum[1] \strut  
\noindent
\begin{minipage}{0.05\textwidth}
\begin{tikzpicture}[color=white]
    \node[fill=blue!70,rotate=90] at (0,0) {Vertical Text on Left};
\end{tikzpicture}
\end{minipage} \quad
\begin{minipage}{0.9\textwidth}
\lipsum[2]
\end{minipage}
\bigskip\lipsum[3]

\end{document}

在此处输入图片描述

相关内容