标题中的文字环绕图形

标题中的文字环绕图形

我在创建自定义类时遇到问题。

目标

我正在编写一个自定义类作为 Dune 棋盘游戏的派系表模板。其中一个官方表(因此也是我想要的外观)如下: 阿崔迪派系表 正如您在左上角图片附近看到的,文字完美地环绕在派系徽标周围。我想实现同样的效果。

我的解决方案

这里你会发现我现在的班级取得了相当令人满意的成绩。 类的实现中,你可以看到一些问题。在第 12、14 和 16 行中,你可以看到水平空间的手动设置,这样文本就不会与图像重叠。该文档的输出如下 第一页 虽然结果还不错,但不如原来那么顺利。

我认为问题出在哪里

在类文件中你会发现以下内容

\pagestyle{fancy}
\fancyhf{}

\fancyhead[C]{%
\begin{tikzpicture}[remember picture, overlay]
  \filldraw[fill=FT@maincolor, draw=FT@maincolor!80]
  ([yshift=1.5cm,xshift=1cm]current page text area.north west) rectangle
  ([yshift=0.4cm]current page text area.north east);
%
  \node at ([yshift=-1.65cm]current page.north)
  {\color{white}\bfseries\LARGE\MakeUppercase{\textsf{\FT@name}}};
  \node at ([xshift=1.5cm]current page text area.north west)
  {\includegraphics[width=4cm]{\FT@logo}};
\end{tikzpicture}
}

我将派系徽标放在文档的页眉中,但似乎找不到自动环绕文本的方法。所以我的问题是:如何实现每页的文本环绕?现在我必须在每页的第一列上添加一些间距,这可能会有点烦人,而且肯定不可扩展。

谢谢你的时间。

答案1

以下使用\everypar\afterpage适用\parshape于每页的第一段。它可能与 的其他用途不兼容\everypar。这些通常可以根据具体情况进行修复。

\documentclass{article}
\usepackage{afterpage}
\usepackage{lipsum}% MWE only

\makeatletter
\newcommand{\AtBeginPage}{\if@firstcolumn
\global\everypar{\parshape=5 
    2em \dimexpr \columnwidth-2em\relax
    1.5em \dimexpr \columnwidth-1.5em\relax
    1em \dimexpr \columnwidth-1em\relax
    0.5em \dimexpr \columnwidth-0.5em\relax
    0pt \columnwidth
  \global\everypar{}}\fi
\afterpage{\AtBeginPage}}
\makeatother

\begin{document}
\AtBeginPage
\noindent\LipsumPar{1}

\LipsumPar{2}

\LipsumPar{3}

\LipsumPar{4}

\LipsumPar{5}
\newpage
\noindent\LipsumPar{5}

\LipsumPar{6}
\end{document}

相关内容