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.

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

  • Perfect. Many thanks, Ignasi. I just "accepted" your answer. – user3671 Aug 11 '17 at 16:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.