Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

[See Torn paper: matching up the torn edges for more on this topic, as well as better illustrations of the final product.]

I have a document with a lot of short excerpts from another book scattered through it. Putting frames around them looks a little too 'clean'. How can I get a 'torn page' type effect, to make it look as if the excerpt has been physically torn out of a book? (I've occasionally seen this done in printed books, although I can't find an example right now.)

I'm not wedded to a very specific look here -- Googling 'torn page' gives plenty of examples. But just to give this some frame of reference, here are some of the nicer ones:

enter image description here

http://www.vectorstock.com/i/composite/84,79/white-paper-rip-edge-vector-198479.jpg

enter image description here

http://lh6.ggpht.com/-eO-uRyGeA_0/TUkzCMuwuJI/AAAAAAAAB6E/2och4rP0l88/386--x--277--torn-paper.jpg

(The strong colouration in this second example is a probably a little too distracting for actual use, although it might be interesting as an option. It's more the edge effect I'm interested in.)

enter image description here

Edit (again): I tried typesetting my text according to the updated versions of the answers below. Here are the results:

enter image description here

Or with interpolated shading: http://people.ds.cam.ac.uk/mg262/combined2.pdf

share|improve this question
4  
I am quite sure some tikz answers will show up soon; I'd like to note that it seems to me that some fractal-based solution might be a good idea. –  mbork Dec 8 '12 at 20:14
1  
For clarification: Are you interested in actually cutting off text, or just framing it with ragged edges that look like a torn page? –  Charles Staats Dec 9 '12 at 0:13
    
@Charles Staats: just framing. –  Mohan Dec 9 '12 at 0:24
    
Relevant: mathematica.stackexchange.com/q/4148 (if someone's looking for ideas) –  Lorem Ipsum Dec 9 '12 at 4:44
1  
To insert a image sample which looks right, you can capture the screen when using the appropriate pdf viewer, and crop the relevant part. A good tool for this kind of things under Windows is irfanview. –  JLDiaz Dec 9 '12 at 18:28

2 Answers 2

up vote 69 down vote accepted
+200

Not exactly the result you wanted, but it can be a starting point. It combines framed and tikz packages. The idea can lead to further improvements.

Framed-tikz

See http://www.texample.net/tikz/examples/framed-tikz/ (btw, I'm the author)

UPDATE: Playing with the idea of a fractal decoration, and also with shaded paper and blurred drop shadows, I got the following results. Currently the implementation still does not use framed, so it is restricted to the case in which the framed paragraph does not break among pages.

Results

\documentclass[a5paper]{article}
\usepackage{lipsum}   % To generate test text 
\usepackage{framed}
\usepackage{tikz}
\usepackage[margin=1cm]{geometry}% for screen preview
\usetikzlibrary{decorations.pathmorphing,calc,shadows.blur,shadings}
\pgfmathsetseed{1} % To have predictable results
% Define a background layer, in which the parchment shape is drawn
\pgfdeclarelayer{background}
\pgfsetlayers{background,main}

% This is the base for the fractal decoration. It takes a random point between the start and end, and
% raises it a random amount, thus transforming a segment into two, connected at that raised point
% This decoration can be applied again to each one of the resulting segments and so on, in a similar
% way of a Koch snowflake.
\pgfdeclaredecoration{irregular fractal line}{init}
{
  \state{init}[width=\pgfdecoratedinputsegmentremainingdistance]
  {
    \pgfpathlineto{\pgfpoint{random*\pgfdecoratedinputsegmentremainingdistance}{(random*\pgfdecorationsegmentamplitude-0.02)*\pgfdecoratedinputsegmentremainingdistance}}
    \pgfpathlineto{\pgfpoint{\pgfdecoratedinputsegmentremainingdistance}{0pt}}
  }
}

% define some styles
\tikzset{
   paper/.style={draw=black!10, blur shadow, shade=bilinear interpolation,
                 lower left=black!20, upper left=black!15, upper right=white, lower right=black!10},
   irregular border/.style={decoration={irregular fractal line, amplitude=0.2},
           decorate,
     },
   ragged border/.style={ decoration={random steps, segment length=7mm, amplitude=2mm},
           decorate,
   }
}

% Macro to draw the shape behind the text, when it fits completly in the
% page
\def\tornpaper#1{
\tikz{
  \node[inner sep=1em] (A) {#1};  % Draw the text of the node
  \begin{pgfonlayer}{background}  % Draw the shape behind
  \fill[paper] % recursively decorate the bottom border
        decorate[irregular border]{decorate{decorate{decorate{decorate[ragged border]{
        ($(A.south east) - (0, random*5mm)$) -- ($(A.south west) - (0, random*5mm)$)
        }}}}}
        -- (A.north west) -- (A.north east) -- cycle;
  \end{pgfonlayer}}
}


\begin{document}
\noindent
\tornpaper{
\parbox{.9\textwidth}{\lipsum[11]}
}

\bigskip
\noindent
\tornpaper{
\parbox{.9\textwidth}{\lipsum[15]}
}
\end{document}

NOTE Some pdf viewers (eg. Sumatra) have issues to display the interpolated shading used in the last examples.

UPDATE See also the related question Torn paper: matching up the torn edges

share|improve this answer
5  
Even if it's not quite what I'm looking for, that's beautiful! I don't suppose you'd consider turning it into a package? –  Mohan Dec 8 '12 at 20:20
    
Regarding the update: the q. doesn't request multi-page excerpts, so I think you're safe! –  Mohan Dec 9 '12 at 10:47
    
Acrobat 9.4.1 displays correctly, some portability limintations: Evince 3.6.1 shows an artificial grid inside a the paper, qpdfview 0.4.1 shows the paper correctly but there are glitches in the shadow, xpdf 3.03 shows all black. –  alfC May 6 '13 at 22:17
    
@JLDiaz, Also, is there any change one can use this frame around a lstlisting enviroment? I can't do it (\lst@next has an extra }). The error has to do with fragile issues. –  alfC May 6 '13 at 23:21

EDIT: Added color on request.

Here is an approach which builds on Marc van Dongen's answer to Simulating hand-drawn lines.

\documentclass{memoir}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing}
\definecolor{paper}{RGB}{239,227,157}
\usepackage{lipsum}
\begin{document}
\begin{tikzpicture}[pencildraw/.style={ %
    decorate,
    decoration={random steps,segment length=2pt,amplitude=1pt}
    } %
]
\node[
preaction={fill=black,opacity=.5,transform canvas={xshift=1mm,yshift=-1mm}},
pencildraw,draw,fill=paper,text width=.8\textwidth,inner sep=5mm] 
{\lipsum[1]};
\end{tikzpicture} 
\end{document}

Output: enter image description here

And yes, this does not really look like paper.

share|improve this answer
    
Thanks! Is memoir a requirement? –  Mohan Dec 8 '12 at 22:16
    
No, memoir is not required. See also the question that I linked to. –  Ipsen Dec 8 '12 at 22:16
    
By the way, is it possible to change the colour of the 'rectangle' enclosed by the line, or does the ragged edge make that difficult? –  Mohan Dec 8 '12 at 22:53
    
@Mohan, it's easy to change the color. Simply replace fill=white with another color. You could define a new color \definecolor{paper}{RGB}{239,227,157}, and use fill=paper –  Ipsen Dec 8 '12 at 23:05
2  
@Ipsen... I would say that this is also well worth making into a package. –  Mohan Dec 9 '12 at 10:45

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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