如何布局不规则段落形状

如何布局不规则段落形状

我在研讨会(制作幻灯片的工具)文档的封面中找到了这一点。

以下是我得到的最终结果:

在此处输入图片描述

完整文档可以下载这里

我想知道怎么做这个。有什么简单的方法吗?

答案1

摘自 TeXbook 第 14 章

您可以通过以下方式指定基本上任意的段落形状:\parshape= <number>,其中<number>是正整数n, 其次是2n< dimen > 规格。一般来说,'\parshape=n i1 l1 i2 l2... ' 指定段落,其第一个n线的长度l1l2,...,,并且将从左边距缩进相应的金额i1i2,...,

我直接找到了源头http://mirrors.ctan.org/macros/latex/contrib/seminar/doc/并发现seminar-doc.tex。我能够重现结果:

在此处输入图片描述

代码如下

\documentclass[12pt]{article}

\usepackage[textwidth=15cm,textheight=26cm]{geometry}
\setlength{\parindent}{0mm}

\begin{document}

\setlength{\unitlength}{1cm}
\thicklines
\centerline{\lower.8in\hbox{%
\begin{picture}(0,0)
\put(2,-11){\framebox(4,2){}}
\put(2,-11){\line(-2,3){1}}
\put(2,-9){\line(-2,3){1}}
\put(6,-9){\line(-2,3){1}}
\put(1,-9.5){\line(0,1){2}}
\put(1,-7.5){\line(1,0){4}}
\put(5.8,-8.7){\line(0,1){2}}
\put(5.0,-6.7){\oval(1.6,1.6)[tr]}
\put(5.0,-5.9){\line(-1,0){.7}}
\put(3.1,-6.4){\framebox(1.2,1){}}
\put(3.1,-6.4){\line(-1,2){.3}}
\put(3.1,-5.4){\line(-1,3){.3}}
\put(4.3,-5.4){\line(-1,3){.3}}
\put(2.8,-5.8){\line(0,1){1.3}}
\put(2.8,-4.5){\line(1,0){1.2}}
\put(0,6.2){\oval(14,10)}
\put(.02,6.18){\oval(14,10)}
\thinlines
\put(2.8,-5.8){\line(-4,3){9.6}}
\put(2.8,-4.5){\line(-3,5){9.35}}
\put(4,-4.5){\line(1,6){2.6}}
\put(6.8,1.4){\line(-1,-3){2.5}}
\end{picture}}}
\par
\bigskip
\rightskip=0pt plus 2em\relax
\parshape=20
0cm 2.3cm
0cm 2.9cm
0cm 3.5cm
0cm 4.1cm
0cm 4.7cm
0cm 5.3cm
0cm 5.9cm
0cm 6.5cm
0cm 7.1cm
0cm 7.7cm
0cm 8.3cm
0cm 8.3cm
0cm 8.3cm
0cm 7.3cm
0cm 7.3cm
0cm 7.3cm
0cm 7.3cm
0cm 7.3cm
0cm 7.3cm
0cm 7.3cm
seminar.sty is a \LaTeX\ style for typesetting slides or
transparencies, and accompanying notes. Here are some of its special features:
It is compatible with AmS-\LaTeX, and you can use PostScript and AmS
fonts. Slides can be landscape and portrait. There is support for color and
frames. The magnification can be changed easily.
Overlays can be produced from a single slide environment. Accompanying notes,
such as the text of a presentation, can be put
    outside the slide environments. The slides, notes or both together
    can then be typeset in a variety of formats.

\end{document}

请注意,参考 TeXbook 引文,每行缩进0cm,但每行的长度不同。段落设计为20行长。

答案2

ConTeXt 允许您使用 metapost 定义形状,然后使用该形状排版任何文本。在方案背后,Metapost 计算 的参数\parshape,将其写入外部文件,TeX 读取该文件并设置\parshape。以下是示例:

\startuseMPgraphic{shape}
  % Shape of the paragraph
  path p ; p := ((0,1)..(-1,0)..(1,0)--cycle) scaled 5cm ;

  build_parshape
  ( p,                     % shape path
   .5*\baselinedistance,  % offset
   .5*\baselinedistance,  % x offset
   .5*\baselinedistance,  % y offset
   \baselinedistance,     % distance between lines
   \strutheight,          % height of a line
   \strutdepth,           % depth of a line
   \strutheight           % height of the first line
  ) ;

  % For visualization purposes only
  draw p ;
\stopuseMPgraphic

% For visualization purposes only
\defineoverlay[shape][\useMPgraphic{shape}]

\useMPlibrary[txt]
\setupshapetexts%
  [bodyfont=10pt]

\starttext
\startshapetext[shape]
  \input knuth \endgraf
\stopshapetext


% The \type{background} is set only to visualize the parshape
\startTEXpage[background=shape,offset=2mm]
{\getshapetext}
\stopTEXpage
\stoptext

这使

在此处输入图片描述

答案3

你可以看看沙普帕包裹。

答案4

您可以使用\parshape原始的。以下示例是 Knuth 在他的 TeXBook 中的示例的修改。命令是波斯语的(我不确定这是否对您有帮助):来源及其PDF 输出

相关内容