如何在 Tikzpicture 中插入空白行;常规方法不起作用

如何在 Tikzpicture 中插入空白行;常规方法不起作用

我有一张 tikzpicture:

在此处输入图片描述

它是由下面的代码生成的。

\documentclass{book}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{color}
\usepackage{tikz}

\newlength\drop % To drop the start of the paragraph below the top of the picture.
\setlength\drop{10pt}

\begin{document}
\thispagestyle{empty}

\begin{tikzpicture}
  \shade node[preaction={fill=black,opacity=.5,},fill=blue!25, inner sep=5mm]
  {\parbox{0.87\textwidth}{\fontsize{12}{13}\selectfont
    \vspace{\drop}%
    \hangindent=\dimexpr 0.2\textwidth+\columnsep\relax
    \hangafter=-4
    \noindent\llap{\raisebox{\dimexpr \drop+0.6\baselineskip-\height}[0pt][0pt]% overlap indentation
      {\includegraphics[width=0.2\textwidth]{example-image-c}}\hspace{\columnsep}}% 
      This is the first sentence. \\  
      %This is the first sentence. \vspace*{12pt}  
      %This is the first sentence. \vskip 12pt  
      \textbf{\textit{\lipsum[2]}}}} ;
\end{tikzpicture}
\end{document}

但是,当我想通过替换和来增加第一个句子和拉丁文之间的空格时This is the first sentence. \\This is the first sentence. \vspace*{12pt}This is the first sentence. \vskip 12pt分别得到了

在此处输入图片描述

在此处输入图片描述

问题 有人知道为什么会发生这种情况以及如何解决它吗?tikzpicture只要它们都是连续段落的一部分或被 分隔,这似乎可以很好地处理句子\\。其他任何事情似乎都会产生奇怪的结果。我在想,如果我可以在后面添加一个“空白句子”,\\我可能就能得到我想要的东西。

前几天我发布了一个类似的问题,但没有得到任何答案。我简化了 tikzpicture 和问题,希望有人能指出问题的原因以及如何纠正它。我希望这样没问题。

谢谢。

答案1

\documentclass{book}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{color}
\usepackage{tikz}

\newlength\drop % To drop the start of the paragraph below the top of the picture.
\setlength\drop{10pt}

\begin{document}
\thispagestyle{empty}

\begin{tikzpicture}
  \shade node[preaction={fill=black,opacity=.5,},fill=blue!25, inner sep=5mm]
  {\parbox{0.87\textwidth}{\fontsize{12}{13}\selectfont
    \vspace{\drop}%
    \hangindent=\dimexpr 0.2\textwidth+\columnsep\relax
    \hangafter=-4
    \noindent\llap{\raisebox{\dimexpr \drop+0.6\baselineskip-\height}[0pt][0pt]% overlap indentation
      {\includegraphics[width=0.2\textwidth]{example-image-c}}\hspace{\columnsep}}% 
      This is the first sentence.\\[-5pt]~\smallskip\\
%
      %This is the first sentence. \vspace*{12pt}  
      %This is the first sentence. \vskip 12pt  
      \textbf{\textit{\lipsum[2]}}}} ;
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

这与周围的 tikz 完全无关,它只是显示正常的 LaTeX 换行。

如果使用\vspace中线,则段落会像往常一样分成几行,然后在当前行后插入空格,如第一张图所示。

这里需要强制换行,后面跟一个空格,因此\\[12pt]可以使用标准 LaTeX 命令。由于行占用的空间比“预期”的要多,我将行数\hangafter从 4 减少到 3,这样就只切入了三行。

在此处输入图片描述

\documentclass{book}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{color}
\usepackage{tikz}

\newlength\drop % To drop the start of the paragraph below the top of the picture.
\setlength\drop{10pt}

\begin{document}
\thispagestyle{empty}

\begin{tikzpicture}
  \shade node[preaction={fill=black,opacity=.5,},fill=blue!25, inner sep=5mm]
  {\parbox{0.87\textwidth}{\fontsize{12}{13}\selectfont
    \vspace{\drop}%
    \hangindent=\dimexpr 0.2\textwidth+\columnsep\relax
    \hangafter=-3
    \noindent\llap{\raisebox{\dimexpr \drop+0.6\baselineskip-\height}[0pt][0pt]% overlap indentation
      {\includegraphics[width=0.2\textwidth]{example-image-c}}\hspace{\columnsep}}% 
      This is the first sentence. \\[12pt] 
      \textbf{\textit{\lipsum[2]}}}} ;
\end{tikzpicture}
\end{document}

相关内容