我有一张 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}