0

I am trying to write a string of text within a cross shape (as in a simple medical cross). I know that it's possible to create custom shapes in shapepar, but was wondering if someone already has the specifications to share. Thanks in advance.

epR8GaYuh
  • 2,432
user3671
  • 655

1 Answers1

3

Following shapepar instructions it's not too difficult to design a cross shape:

\newcommand\crossshape{ %Attention, coordinate y grows down, x grows right
{6}              %line center at x=6
{0} b{3}\\       %Shapepar starts at coordinate (3,0)
{0} t{3}{6}\\    %Text line at coordinate y=0, starts at x=3 with length 6
{2.9} t{3}{6}\\  %Text line at coordinate y=2.9, starts at x=3 with length 6
{3} t{0}{12}\\   %Text line at coordinate y=3, starts at x=0 with length 12
{8.9} t{0}{12}\\ %Text line at coordinate y=8.9, starts at x=0 with length 12
{9} t{3}{6}\\    %Text line at coordinate y=9, starts at x=3 with length 6
{12} t{3}{6}\\   %Text line at coordinate y=12, starts at x=3 with length 6
{12} e{9} }      %Paragraph ends at coordinate (9,12)

Following code shows two different crosses

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage{shapepar}
\usepackage{lmodern}    

\newcommand\crossshape{ {6}
{0} b{3}\\
{0} t{3}{6}\\
{2.9} t{3}{6}\\
{3} t{0}{12}\\
{8.9} t{0}{12}\\
{9} t{3}{6}\\
{12} t{3}{6}\\
{12} e{9} }

\newcommand\anothercrossshape{ {6}
{0} b{5}\\
{0} t{5}{2}\\
{0.9} t{5}{2}\\
{1} t{0}{12}\\
{1.9} t{0}{12}\\
{2} t{5}{2}\\
{12} t{5}{2}\\
{12} e{7} }

\begin{document}

\shapepar{\crossshape} \blindtext

\shapepar{\anothercrossshape} \blindtext

\end{document}

enter image description here

enter image description here

Ignasi
  • 136,588