I wonder which changes are made by the draft option?

That means what will be changed by calling it as global class option (\documentclass[draft]{<class>}) or locally for a single package if it is available (\usepackage[draft]){<package>}.

I know that this depends on the loaded packages and if they react on the draft option or not. But I thought it could be helpful to have a overview which packages do what.

I suggest the answers to be CW and using this layout

Package/Class: `name`  

- one
- two

Has `final` option too: yes/no

If you like we can discuss the layout in meta …

  • 9
    While I like your question, I don't see a point in adding several CW answers. Why not write a single answer covering everything you know (with appropriate sections) and let other users add their knowledge either in separate answers (provided your answer was non-CW) or by editing your (CW) answer?
    – lockstep
    Commented Mar 24, 2012 at 18:31
  • 3
    @lockstep: Hm … I though it’s a little more tidy in separate answers. And furthermore the answers can be sorted by importance/relevance by upvoting them. If you comment get’s 5 upvotes (do we call it upvotes for comments too?) I’ll merge the CW answers.
    – Tobi
    Commented Mar 24, 2012 at 18:38
  • Several packages for setting someting in the page background, e.g draftmark or xwatermark, have a draft and final option, but I was too lazy to search for, what it means in each case.
    – Speravir
    Commented Mar 25, 2012 at 1:17
  • 3
    @IlmariKaronen: The question shouldn’t explain it. For that we have the answers below. And since it depends on the packages one can’t say what the option does in general ;-)
    – Tobi
    Commented Mar 25, 2012 at 8:23
  • @lockstep: I decided to make an overview answer and keeping the more detailed single answers. I guess thats a good compromise, isn’t it? I’ll stick the overview to the top by accepting as soon as it is possible to accept my own answer.
    – Tobi
    Commented Mar 25, 2012 at 9:56

18 Answers 18



Please add your answer here in alphabetical order too


Print a box at the end of overfull lines.
See this answer below for a list of classes and details.


The links lead to the answers below.

  • changes (final disables markup of changes, and list of changes)

  • cryptocode (disables syntax highlighting to reduce compilation time)

  • flowfram (show frame, typeblock and margin bounding boxes)

  • graphics (draw frames instead of including images)

  • graphicx (draw frames instead of including images)

  • hyperref (disable all linking features)

  • listings (don’t include external files)

  • listofsymbols (final suppresses printing of macro names and unused symbols)

  • mfpic (assume every latex run to be the first one)

  • pdfcomment (final suppresses the comments)

  • pdfpages (don’t include external file but print a frame box)

  • pgf (similar to graphics/x: all images will be replaced by empty rectangles)

  • pstricks (no native support, but a workaround)

  • showkeys (draft shows the labels, the default option)

  • showlabels (draft shows the labels, the default option)

  • thumbs (thumbs' width=2pt, thumbs' text=black, thumbs' color=grey)

  • todonotes (with obeyDraft package only enabled in draft mode)

  • varioref (turn warnings in error messages)

Related questions:


Package: microtype

  • The draft option no longer exists, but can be emulated by loading the package with disable=ifdraft:

    If the disable option is passed to the package, all micro-typographic extensions will be disabled, which may lead to different line, and hence even page, breaks. This option replaces the draft option from earlier versions, which could be inherited from the class options; to restore the previous behaviour, you may pass the value ifdraft: in this case, the disable option will be set to true if and only if the document class has been loaded with the draft option.

Has final option: no


Document classes

Standard: article, book, report
AMS: amsart, amsbook, amsproc
KOMA-Script: scrartcl, scrbook, scrreprt, scrlttr2
Other: proc, memoir


  • Print a mark for overfull lines

    overfull rule

Have final option too: yes

Related questions:


Package: graphicx

  • Prints frames containing the file name instead of including the images

    draft final

Has final option too: yes

  • 3
    While it wasn't asked for directly, I think the demo option should also be mention where you don't need the actual figure and you get a black box.
    – StrongBad
    Commented Mar 25, 2012 at 18:58

Package: showkeys

  • draft is the default setting

Has final option: yes, it disables all package functionality.


Package: varioref

  • Turn error messages into warnings.

Has final option: yes


Package: hyperref


  • Turns all hypertext options off

final option: yes


Package: listings

  • Doesn’t include external file but prints their caption and makes their labels.



Has final option too: yes

  • 2
    How can I suppress this behaviour, or have it render a box of the SAME size as the listing, so that my DRAFT documents layout isn't heavily modified when the input listings disappear... Commented Nov 12, 2013 at 12:31
  • 2
    You can pass the final option directly to a package, while the draft class option stays active for the class and other packages without the explicit option. I.e. \documentclass[draft]{article} ... \usepackage[final]{listings} ...
    – Tobi
    Commented Nov 12, 2013 at 12:47
  • My experience is that draft mode even inhibits the display of regular lstlisting environment listings; i.e., not only code from external files. Commented Sep 30, 2018 at 20:07

Package: pdfcomment

  • Option draft is the default.

Changes with final option:

“PDF annotations will not be typeset and will not influence line breaking.”

(In other words: The lines will change, if inline annotations have been used.)


Package: listofsymbols

  • Option draft is default with this package.
  • Option final removes the macronames from the lists. Symbols that are not used in the document are omitted from the List of Symbols and from the List of Subscripts.

Has final option too: yes (see above)


Package: pdfpages

  • Does not insert pages, but prints a box and the filename instead.

Has final option too: yes

  • That behaviour is probably inherited from graphicx. Commented Mar 24, 2012 at 20:53
  • @MartinSchröder Yes, probably. Maybe merge the answers for these two?
    – yo'
    Commented Mar 25, 2012 at 5:21

Package pgf (but not TikZ)


  • All images will be replaced by empty rectangles.

final option: yes


package: thumbs


Option draft (not the default) sets the thumb mark width to 2 pt, thumb mark text colour to black and thumb mark background colour to grey (gray). Either do not use this option with the thumbs package at all, or use draft=false, or final, or final=true to get the original appearance of the thumb marks.

final option: yes


Package: changes

  • Option draft is the default.

Changes with final option:

The final-option disables markup of changes, only the correct text will be shown. The list of changes is disabled, too.


Package: mfpic

  • Treats any pdflatex run as the first run, pretending figure files have not been created.

Has final option too: yes


Package: flowfram


  • Shows the bounding boxes with identifying tags for each frame, the typeblock and the margins.





\setstaticcontents{1}{Top Area}


\marginpar{Marginal Note}\lipsum*[1]

\lipsum*[2-3]\marginpar{Margin Note 2}


image of document

Has final option:

image of document in final mode


Package: pstricks

While the package pstricks does not support the class option draft, it is possible to add this behaviour:

  • All pspicture environments will be replaced by white space. PSTricks commands will be ignored.

To do so use LaTeX's internal test for document class options \@ifclasswith (c.f. stackexchange question here):


Change the article in line 3 to whatever class you have in use.


Package: todonotes

Note: there are no changes while using draft or final unless changes are made to the todonotes package options.

  • option obeyDraft: will display the to do notes (only output the todos/todolist if in "draft mode")

Changes using final:

  • option obeyFinal: will not display the to do notes (suppress output of the todos/todolist if in "final mode")

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .