在 Tikzpicture 中插入居中标题,而不会对文本换行产生不利影响

在 Tikzpicture 中插入居中标题,而不会对文本换行产生不利影响

我正在制作一个语法上有点复杂的 tikzpicture,感谢 David Carlisle 的帮助,它看起来像这样:

在此处输入图片描述

生成该图片的代码如下。

\documentclass[border=1cm]{book}
\usepackage{lipsum}

\usepackage{wrapfig}
\usepackage[justification=centering]{caption}
\usepackage{graphicx}

\usepackage{color}

\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{shadows.blur}
\usetikzlibrary{shadings}

\newlength\zzz
\setlength\zzz{10pt}

\begin{document}
\thispagestyle{empty}

\definecolor{pylight}{RGB}{247, 235, 205}
\definecolor{py}{RGB}{243, 224, 181}
\definecolor{pydark}{RGB}{221, 182, 110}
\definecolor{pyhighlight}{RGB}{254, 235, 204}

\pgfdeclareverticalshading{parchment}{100bp}{%
  color(0bp)=(pydark);
  color(25bp)=(pydark);
  color(30bp)=(py);
  color(50bp)=(pylight);
  color(70bp)=(py);
  color(75bp)=(pydark);
  color(100bp)=(pydark)%
}
\pgfdeclareradialshading{rparchment}{\pgfpoint{0cm}{0cm}}{%
  color(0bp)=(pylight);
  color(13bp)=(pylight);
  color(20bp)=(py);
  color(40bp)=(pydark);
  color(60bp)=(pydark!50!black);
  color(100bp)=(black)%
}
\tikzset{
  pencildraw/.style={%
    decorate,  decoration={%
      random steps, segment length=1.1ex, amplitude=.5ex%
    }
  },
  drop shadow/.style={
    blur shadow={%
      shadow xshift=.5pt,
      shadow yshift=-.5pt,
      shadow blur steps=9,
      shadow blur extra rounding=1.5pt%
    },
  },
  parchment fill/.style={
    pencildraw, fill=pyhighlight,
    postaction={shading=parchment, opacity=1},
    postaction={shading=rparchment, opacity=.7}
  }
}

\begin{tikzpicture}
  \shade node[preaction={fill=black,opacity=.5,transform canvas={xshift=1mm,yshift=-1mm}},parchment fill, drop shadow,
    inner sep=5mm]
  {\parbox{0.87\textwidth}{\fontsize{13}{16}\selectfont
    \vspace{\zzz}%
    \hangindent=\dimexpr 0.2\textwidth+\columnsep\relax
    \hangafter=-3
    \noindent\llap{\raisebox{\dimexpr \zzz+0.6\baselineskip-\height}[0pt][0pt]% overlap indentation
      {\includegraphics[width=0.2\textwidth]{example-image-a}}\hspace{\columnsep}}%      
      %\textbf{\textcolor{red}{Objective: a Centered Title}} \vskip 8pt
    \textbf{\textit{\lipsum[2]}}}} ;
\end{tikzpicture}
\end{document}

我现在想在段落正上方和图片右侧添加一个居中标题。但是,当我添加以下行时

\textbf{\textcolor{red}{Objective: a Centered Title}} \vskip 8pt (presently commented out in the above code), it produces

在此处输入图片描述

我无法纠正后续文本的不良定位,也无法将标题居中(使用 保存\hskip),我不想这样做,因为我打算将此框用于多种用途---并希望自动将标题居中。此外,\centering{代码行}似乎将所有内容(包括段落的每一行)都居中。

问题:有人能建议我如何才能将标题居中,以及如何让段落的后续文本以适当的方式环绕图像(如在第一个 tikzpicture 中一样)吗?

谢谢。

相关内容