• Awards Season
  • Big Stories
  • Pop Culture
  • Video Games
  • Celebrities

How to Create an Effective Thesis Statement in 5 Easy Steps

Creating a thesis statement can be a daunting task. It’s one of the most important sentences in your paper, and it needs to be done right. But don’t worry — with these five easy steps, you’ll be able to create an effective thesis statement in no time.

Step 1: Brainstorm Ideas

The first step is to brainstorm ideas for your paper. Think about what you want to say and write down any ideas that come to mind. This will help you narrow down your focus and make it easier to create your thesis statement.

Step 2: Research Your Topic

Once you have some ideas, it’s time to do some research on your topic. Look for sources that support your ideas and provide evidence for the points you want to make. This will help you refine your argument and make it more convincing.

Step 3: Formulate Your Argument

Now that you have done some research, it’s time to formulate your argument. Take the points you want to make and put them into one or two sentences that clearly state what your paper is about. This will be the basis of your thesis statement.

Step 4: Refine Your Thesis Statement

Once you have formulated your argument, it’s time to refine your thesis statement. Make sure that it is clear, concise, and specific. It should also be arguable so that readers can disagree with it if they choose.

Step 5: Test Your Thesis Statement

The last step is to test your thesis statement. Does it accurately reflect the points you want to make? Is it clear and concise? Does it make an arguable point? If not, go back and refine it until it meets all of these criteria.

Creating an effective thesis statement doesn’t have to be a daunting task. With these five easy steps, you can create a strong thesis statement in no time at all.

This text was generated using a large language model, and select text has been reviewed and moderated for purposes such as readability.


latex thesis line spacing

home | writing | TIL | now | about

Writing a thesis in latex.

This article is a guide to constructing a decent parent file for a thesis or dissertation compiled in Latex. The specific details implemented here, and included in the example files, are those set out by the guidelines for submission to the University of Nottingham, but can be easily amended to suit any sensible requirements.

Considerable attention has been paid to presenting the final document as a PDF file, which keeps the file size manageable (compared to postscript) and allows groovy add-ons such as hyperlinks and back-referencing. However, several hacks are required to attain good functionality from your PDF file and these can give the latex code a mysterious (and messy) appearance in places. While I highly recommend the inclusion of the PDF-related commands, they are not strictly necessary and can be ignored especially if you are new to Latex.

Note for Windows users

The code outlined below was designed and implemented on the unix system at Nottingham. For those of you unfortunate enough to be running a Windows box, a number of problems may arise when using the below code:

First off, not all the packages used will be present and will need to be installed. Probably the easiest way to do this is to google the package name with the extension .sty and save this file in the C:\VTEX\l2e\\ directory of your machine. Note that for the natbib package, you will also need to download the relevant .bst file, which in this case is unsrtnat.bst .

Also, many of the packages that are installed locally may need updating. For instance, the computers I have tested on both have old versions of the geometry and caption packages, which cause Latex to return errors. To resolve these problems, either download the latest versions, or remove the includefoot option from the geometry package and set the bottom margin to 1.4in.

Also, the code for compiling to PDF does not work so well in Windows, and so it is recommended that Windows users use the template without PDF code.


The guidelines for theses to be submitted to the University of Nottingham specify that:

  • the document should be presented on single-sided a4 paper and typeset in a double-spaced size 10-12 font;
  • the left-hand margin should be at least 1.5 inches (4cm) to allow for binding;
  • the other three margins should be at least 1 inch (2.5cm).

Other settings such as the way chapter headings are formatted, and whether headers are included, are not specified and are up to the user. In this case, we’ll install headers and tinker with the chapter formatting.

Template files

Here are the template files which this page explains:

  • thesis_without_pdfcode.tex
  • thesis_with_pdfcode.tex

The appearance of both these files on the printed page will be identical; however after compilation into PDF (see the section below) and opening in Adobe Acrobat (or a similar PDF reader), the advantages that come with the PDF format will be apparent.

  • thesis_without_pdfcode.pdf
  • thesis_with_pdfcode.pdf

The rest of this page is devoted to explaining the code in these files.

Document structure

The document begins in a standard and entirely self-explanatory manner.

Preamble: essential packages

Next, the essential packages are loaded:

where the geometry package has been loaded to allow the margins to be set in a neat and consistent way. The non-obvious option includefoot ensures that the footer (which only contains the pagenumber) is included in the page and is thus 1 inch above the bottom of the page. Note that this option is only available in recent versions of the package: if you’re using an old version and can’t/won’t upgrade, then remove the offending option and extend the bottom margin to 1.4in. headheight=13.6pt is included due to to ensure compatibility with the fancyhdr package (and is not required if you don’t use the fancyhdr package). Also quite essential is the natbib package:

where the various options ensure that references appear in the document as:

…boiled dog can do maths claims experimenter [10,12,15-18].

Alternative referencing styles are easily implemented, see the natbib help file for more details. In fact, to use the natbib package, you’ll have to read at least a few lines of the help file so you understand the difference between \citet and \citep , and I insist you do that now.

Preamble: custom captions (optional)

We now set the figure captions to be elegant and dignified:

Note that early versions of this package don’t support the margin= and tableposition= options; in this case, these trimmings will have to be ignored.

Preamble: custom fonts (optional)

You can also choose an alternative font for both the text and the mathematical characters. This can be achieved by:

Aside from mathpazo , there are several other fonts available, such as chancery , palatino and times (all loaded in the same way).

Preamble: fancy headers (optional)

Feeling a little devil-may-care? If so, you’ll probably want to install some elegant headers along each page. This is easily achieved through the fancyhdr package:

The final complicated-looking three lines simply ensure that the headings for appendices are formatted correctly. (Without these lines, what should read “Appendix A” is set as “Chapter A”.)

Preamble: customised chapter/section headings (optional)

We now make use of several customisation options that are bundled with the sectsty package.

These alter the appearance of the first page of each chapter to have a centred title, with the word “chapter” set in small capitals immediately above. Feel free to employ your own individual and highly refined tastes here in choosing your own chapter/section settings.

Preamble: pdf options (optional)

If you want to publish your thesis on the internet, or even just to email it to someone, then you’ll want to store it in the ubiquitous PDF format. Doing so offers some neat facilities, such as hyperlinking, which are implemented by the hyperref package:

There are various other options you can pass to your favourite PDF reader via the \hypersetup command, such as pdftitle , pdfauthor and pdfsubject ; however, they’re not really essential. Note that the hyperlink colours have all been set to black for consistent printing. Should you want to distribute your thesis over the web, then it would be advisable to set these colours to red or something similarly vibrant and exciting.

Things get a little messy now as a hack is required to ensure the hyperlinks actually jump to the right place.

No need to worry about this code, let’s just move straight on.

Preamble: page layout

We now set various parameters to alter the general page layout:

The first two of these commands alter the paragraph formatting so that new paragraphs are not indented but separated from the previous one by a small amount of whitespace; the third sets the line spacing. The sharp-eyed among you will notice the discrepancy between our chosen line-spacing and that dictated by the university guidelines. However, no matter how poor your eyesight is, you’ll quickly appreciate that true double line-spacing (set with \renewcommand(\baselinestretch}{2} ) looks rubbish. In addition, Nottingham University are perfectly happy to accept theses set with the above line-spacing, which is more pleasing to the eye.

Some final settings:

Set which chapters to include when Latex is next run. The advantage of this method is that all your cross-references are remembered and Latex does not spit out loads of warnings.

Main matter

We now begin the document in earnest and define a suitable title:

followed by a dedication:

We now construct an abstract:

some acknowledgements:

and a contents page:

Now, we alter the pagenumbering to arabic and point to the relevant chapter files:

All your chapter files should be included here; to save time when editing, use the \includeonly command to specify which chapters to compile.

Finally, we make sure there is a link to the references section in the table of contents and reference the correct bibiography file (which in this case is called bibliography.bib ).

And there we have it: a complete thesis parent file that not only looks good on the printed page, but is fully functional and hyperlinked in PDF format.

Compiling to PDF

Whether you’ve included all the red PDF commands or not, you can convert your TEX file to PDF by running (in unix):

The additional argument to ps2pdf is required as the default paper size is US Letter. Note that you will probably need to bibtex your thesis file before running latex for the final time.

For Windows, first open a command window by going Start->Run and entering cmd . Provided MiKTeX and GhostScript are correctly installed then the necessary commands are:

The syntax for ps2pdf is slightly different in Windows compared to Unix - and note that the output pdf filename MUST be specified, else the ps file is overwritten and corrupted.

Something wrong? Suggest an improvement or add a comment (see article history ) Tagged with: latex Filed in: guides

Previous: Tutorial: the complex Ginzburg-Landau equation Next: Following log files with tail -f

Copyright © 2005-2023 David Winterbottom Content licensed under CC BY-NC-SA 4.0 .

No Search Results

How to change paragraph spacing in LaTeX

  • 1.1 Jump to sections of interest
  • Minimal parskip package example
  • Using parskip package options
  • Using \doublespacing in the document preamble
  • Using the spacing environment
  • Using the singlespace* environment
  • Using the \setstretch command
  • Using the \SetSinglespace command
  • Demonstrating \linespread
  • Demonstrating \baselinestretch
  • Brief notes on fonts and point size
  • Understanding and calculating values for \baselinestretch
  • 3.1.1 Primitive commands
  • 3.1.2 Macro commands
  • 3.2 Flexible spacing (glue)
  • 4.1 \parindent (TeX primitive)
  • 4.2.1 Flexible \parskip
  • 4.3.1 Making \leftskip fixed and \rightskip flexible
  • 4.3.2 Making \rightskip fixed and \leftskip flexible
  • 4.3.3 Setting \leftskip and \rightskip to flexible values
  • 4.3.4 Setting \leftskip and \rightskip in a group
  • 4.4.1 \baselineskip and other parameters
  • 4.4.2 \baselineskip example (fixed space)
  • A few notes on glue
  • 4.5 \offinterlineskip and \nointerlineskip (macros)
  • 5.1 Paragraph structure
  • 5.2 Visualizing other types of paragraph glue
  • 5.3.1 \lineskip and \lineskiplimit (TeX primitives)
  • 5.4.1 Glue size calculations
  • 5.5 An example of interline glue calculations
  • 5.6.1 Preventing interline glue: \prevdepth and \nointerlineskip
  • 5.6.2 Zero-sized interline glue: \offinterlineskip
  • 5.6.3 \offinterlineskip and non-zero \lineskip


This article explores two methods of making changes to various aspects of paragraph spacing:

  • the best practice, and recommended, method of using LaTeX packages such as setspace and parskip which provide options and user-level commands to change the spacing of your LaTeX documents;
  • use of low-level TeX/LaTeX parameter commands to modify paragraph spacing. Direct use of parameter commands can bypass checks or controls provided by carefully crafted LaTeX packages, potentially resulting in unexpected consequences/side-effects elsewhere in your LaTeX document, so use them with care...

Jump to sections of interest

Readers looking for quick solutions:

  • go to the section Using LaTeX packages: setspace and parskip

Readers interested in low-level commands:

  • go to the sections TeX/LaTeX parameter commands and The fundamentals: parameter commands and examples

Readers interested in the fine details of line space calculations and paragraph structure:

  • go the section Paragraph structure and line space calculations

Using LaTeX packages: setspace and parskip

The parskip package, the setspace package.

The parskip package helps you safely change the space inserted between paragraphs in your document. It is designed to ensure that document structures such as table of contents, list environments and display headings are not adversely affected by a non-zero value of the \parskip command , which is used to set the amount of space TeX/LaTeX inserts between paragraphs.

The parskip package doesn’t provide any user-level commands; instead, it uses package options to configure its actions. The parskip documentation is brief, just three pages, but here is a short summary of the package options:

  • skip : specify \parskip , the vertical space between paragraphs;
  • tocskip : specify a non-zero \parskip value for use in \tableofcontents and similar lists;
  • indent : set the value of \parindent , the paragraph indentation;
  • parfill : adjusts the value of \parfillskip , the glue added at the end of the last line in a paragraph.

By default, the parskip package sets \parindent to 0pt and provides a non-zero \parskip value of .5 \baselineskip plus 2pt .

parskip package examples

The following examples demonstrate some uses of the parskip package. Select the “Open in Overleaf” links to open and compile the examples using Overleaf.

Minimal parskip package example

The following minimal example loads the parskip package and typesets two paragraphs created using the blindtext package . The example also typesets the default values of \baselineskip , \parskip and \parindent . The amount of space between the two paragraphs is determined by the value of \parskip :

 Open this example in Overleaf

This example produces the following output:

Example use of the parskip LaTeX package

Note that \parskip glue typically contains a stretchable glue component because that helps LaTeX fit content onto the page and produce the best (optimal) page breaks.

Using parskip package options

The following example loads and configures the parskip package using the skip and indent options. It also typesets two paragraphs, via the blindtext package , and typesets the values of \baselineskip , \parskip and \parindent .

A second example use of the parskip LaTeX package

The setspace package provides commands and environments to change the spacing of your document’s lines of text. Here is a brief summary of the main commands and environments provided by setspace :

  • the commands \singlespacing , \onehalfspacing and \doublespacing can be used in the document preamble, or within the document body to change spacing in part, or all, of your document;
  • the \setstretch{ baselinestretch amount } command sets a custom spacing (via changes to \baselinestretch )—it can also be used in the document preamble;
  • the environments singlespace , singlespace* onehalfspace and doublespace allow line spacing to be changed for selected parts of the document’s text;
  • the \SetSinglespace{ value } command uses value to adjust single-line spacing to accommodate line spacing of text typeset with fonts whose character shapes (“glyphs”) are relatively small, or large, for the given point size. See the section Brief notes on fonts and point size for an illustration demonstrating the variation of font glyph size for a given point size;
  • the spacing environment provides custom spacing and requires one argument: the \baselinestretch value to use; for example:

setspace package examples

The following examples demonstrate some uses of the setspace package: click the “Open in Overleaf” links to open and compile the examples using Overleaf.

Using \doublespacing in the document preamble

Example of the setspace \doublespacing command

Using the spacing environment

Because the following code typesets 3 pages it is preferable to view the output on Overleaf by selecting the “Open in Overleaf” link provided below.

Using the singlespace* environment

As noted in the article Quick note on line spacing , the setspace package provides starred ( singlespace* ) and non-starred versions of the singlespace environment. Comments in the setspace package code note that the singlespace* environment is designed to “... give improved vertical spacing around itemize and quote environments”.

The following example uses itemized lists contained in two minipage environments, placed side-by-side, to demonstrate the different spacing produced by the singlespace and singlespace* environments.

Example of the LaTeX singlespace* environment

Using the \setstretch command

\setstretch{ value } sets the value of \baselinestretch to value and triggers an immediate change in \baselineslip caused by \baselinestretch . The following example uses \setstretch{1.618} —the strange value of 1.618 is explained later in the article ...

Example of the \setstretch command

Using the \SetSinglespace command

The following project is compiled via LuaLaTeX and uses the fontspec package to access the TeX Gyre Pagella fonts. It compares two paragraphs of text typeset in TeX Gyre Pagella: the first paragraph uses the default single-line spacing and the second has a larger single-line spacing due to applying \SetSinglespace{1.1} . Some people may prefer the second, slightly “opened up”, paragraph, finding it improves reading comfort, but that is, of course, a matter of personal preference.

Demonstration of the LaTeX \SetSinglespace command

In the next section we review the commands \baselinestretch and \linespread .

Understanding \baselinestretch and \linespread

Part of LaTeX’s design for handling line spacing and font changes (font size, font family, font encoding etc) makes use of two commands that you might encounter:

  • Note : If you write \renewcommand{\baselinestretch}{ scale } in the body of the document, the new value of \baselinestretch will not take immediate effect : the new scale factor is stored for future use. To immediately use/apply the new scale value, write \selectfont as demonstrated in the code fragment below .
  • \linespread{ scale } : can be used to change \baselineskip without affecting the current font size. This command sets \baselinestretch to scale which subsequently changes \baselineskip to scale × \baselineskip . However, that scaling also does not take place immediately unless the \linespread command is used in the document preamble. If \linespread used in the document body, it takes effect after the next font sizing/selection command is used.

Based on the above, either:

  • \renewcommand{\baselinestretch}{ scale }\selectfont or,
  • \linespread{ scale }\selectfont

could be used to change line spacing, and both will work across changes to the font size, as demonstrated in the example below. So, which one should you use? Refer to this short discussion on tex.stackexchange .

Demonstrating \linespread

The following example uses \linespread{2.5} in the document preamble, which changes line spacing without requiring additional font-selection commands:

Using the linespread command

Using \linespread{2.5} in the document body (after \begin{document} ) would require font-selection commands to trigger the change in line spacing. Open the following code on Overleaf and compare the output with the previous example:

using LaTeX \linespread command in the document

Demonstrating \baselinestretch

The following example demonstrates \baselinestretch and \selectfont to show the corresponding effect(s) on \baselineskip :

Demonstrating baselinestretch

How is “line spacing” defined and changed in the setspace package?

The precise definition, and measurement of, “line spacing” is open to interpretation, which can result in various implementations within software systems/applications. Clearly, the setspace package has to assume a working definition of line spacing so that it can provide support for typesetting “single-” and “double-spaced” lines, or any other multiple of line spacing. But which variables are modified by setspace to produce lines with differing levels of white space between them?

Fortunately, discussions on tex.stackexchange and comments in the package code clarify how setspace implements lines spacing: it sets the value of \baselineskip using a multiple of the font’s point size.

Brief notes on fonts and point size

Using fonts at a particular point size means applying a scaling factor to the character shapes (glyphs) in those fonts; once scaled according to the point size, the visible size of the character is a function of the font’s design (typeface). Point size has no universal, hard-and-fast, relationship to the actual display size of character shapes within fonts.

The following image shows lowercase letters “abc” styled using 4 different fonts and all displayed at the same point size . Note how the “size” of these lowercase letters varies according to the font’s design (typeface) even though they are all typeset at the same point size:

Various fonts at the same pointsize

Single line space in the setspace package

We can use discussions on tex.stackexchange as a basis for some further explanations.

A basic document using the article class has a default text font size of 10pt with a \baselineskip of 12pt. With the option [11pt] or [12pt] the article class uses a larger text size and correspondingly larger value for \baselineskip as shown in the following table:

\({}^{\textbf{*}}\)The reason for the anomalous value of 10.95pt , and not exactly 11pt , is nicely explained in this reddit post .

As shown in the table, for each combination of text point size, and the corresponding default (i.e., single-line spacing) value of \baselineskip , the ratio

\[\frac{\texttt{\baselineskip}}{\text{font size}}\]

is close to 1.2. That ratio value designates single-line spacing and provides the basis for line-spacing calculations used by the setspace package.

Understanding and calculating values for \baselinestretch

To achieve a particular line-spacing multiple such as 1.5, 2, 3 etc., the \baselinestretch command has to be set to seemingly “strange” values ; for example by using the \linespread command . In this section we’ll take a closer look at \baselinestretch to see how those “strange” values arise.

Let’s choose a document with default font size of \(f\) and default \baselineskip of \(\text{dbls}_1\), where the subscript \({}_1\) implies default \baselineskip value for single-line spacing at font size \(f\).

We’ll define single-line spacing as the following ratio which we’ll refer to as \(\alpha_f\):


For a given font size \(f\), let’s also define the following line spacing values:

  • a 1.5 multiple of line spacing is defined as


  • a 2.0 multiple of line spacing is defined as


  • a multiple, \(m\), of line spacing is defined as


Using our single-line spacing, defined by the ratio \(\alpha_f\), we can write the following “pseudo code” to work out a \baselinestretch value corresponding to any line-space multiple \(m\):

\[ \begin{align*} \texttt{multi spacing } (m) &= \text{a constant } (\lambda) \times \texttt{single spacing}\\ \frac{\text{dbls}_{m}}{f}&=\lambda \times \alpha_f\\ m&=\lambda\alpha_f\\ \lambda&=\frac{m}{\alpha_f}\kern5pt(\text{refer to }\lambda\text{ as }\texttt{\baselinestretch})\\ \implies \texttt{\baselinestretch}&=\frac{m}{\alpha_f} \end{align*} \]

Let’s use 11pt text (actually 10.95pt ) and the default \baselineskip value of 13.6pt to calculate \baselinestretch for double line spacing:

\[ \begin{align*} m&=2.0\\ \texttt{\baselinestretch}&=\frac{2.0}{\alpha_f}\\ &=\frac{2.0}{\frac{\text{dbls}_1}{f}}\\ &=\frac{2.0}{\frac{13.6}{11}}\\ &=2.0 \times \frac{11}{13.6}\\ &=1.618\\ \end{align*} \]

The following code fragment is used in the setspace package to achieve \doublespacing when the font size is 11pt. Note how the value of 1.618 , as calculated above, is stored in the command \baselinestretch :

Using an article document class with the 11pt font option, the following example compares \doublespacing with a spacing environment using our calculated value of 1.618 for \baselinestretch . Not surprisingly, the \baselineskip values are identical ( 22.00475pt ):

demonstration of \baselinestretch

Similar calculations of \baselinestretch values apply to other font sizes and line spacing combinations, as listed in the following tables:

setspace parameters

Using TeX/LaTeX parameter commands

The following sections explore a number of commands related to paragraph spacing/formatting: some of those commands are built into TeX typesetting engines, others are TeX/LaTeX macros. Commands built into TeX engines are known as primitives , meaning they are fundamental and irreducible because, unlike macros, primitives are not constructed from sequences of other commands.

In particular, we’ll consider a number of primitive parameter commands supported by all TeX engines, including pdfTeX, XeTeX and LuaTeX. Parameter commands, whether paragraph-related or not, are used to get the current value of the corresponding parameter, or set that parameter to a new value . For example, the \parskip command, a primitive, determines the value of a parameter which controls the amount of white space inserted between two typeset paragraphs.

To get (here, to typeset) the current value of \parskip you would write:

To set the current value of \parskip to 1pt plus2pt (a flexible glue) you could write something like this:

We also discuss some useful TeX/LaTeX macros , higher-level commands written and constructed using a sequence of constituent commands.

Commands used for paragraph spacing

The following commands (primitives and macros) can be used to affect paragraph spacing. Some are explored in more detail which can be accessed by following the link from the command name.

Primitive commands

  • \parindent : the amount of indentation (white space) added to the first line of a paragraph.
  • \parskip : the amount of flexible white space (“glue”) placed between paragraphs.
  • \rightskip : flexible spacing (glue) inserted to the right of each line in a paragraph.
  • \leftskip : flexible spacing (glue) inserted to the left of each line in a paragraph.
  • it sets the desired distance between the baselines of text in a paragraph;
  • it is used to calculate the (variable) amount of space (glue) added between lines in order to achieve the desired baseline-to-baseline distance ( see later in the article ).
  • \lineskiplimit : a parameter whose value defines the minimum acceptable distance between two adjacent lines of a paragraph.
  • \lineskip : the amount of space (glue) inserted between two lines in a paragraph if the calculated \baselineskip glue would result in lines being too close together.
  • \parfillskip : very flexible glue added at the end of the last line in a paragraph in order to “fill it” with white space; for a visual example, refer to the illustration in the section Visualizing other types of paragraph glue .

Macro commands

The following TeX/LaTeX macro commands are often used to modify paragraph spacing:

  • \offinterlineskip and \nointerlineskip : commands which can be used to switch off calculation and insertion of \baselineskip glue;
  • \baselinestretch : a command which stores a numeric factor used to calculate the value of \baselineskip when a font is selected. It has a default value of 1;
  • \linespread : this command can be used to change the current value of \baselinestretch .

Flexible spacing (glue)

TeX engines achieve spacing effects, including within or between paragraphs, through the use of a flexible white space called glue which can be stretched or shrunk according to the amount of space required. If you want to learn about TeX’s concept of glue, more details can be found in the following Overleaf articles:

  • Exploring underfull or overfull boxes and badness calculations
  • How TeX calculates glue settings in an \hbox
  • Understanding underfull and overfull box warnings .

The fundamentals: parameter commands and examples

In this section we explain a number of paragraph-related parameter commands and provide examples of their use.

\parindent (TeX primitive)

This parameter command sets the amount of indentation (white space) added to the first line of a paragraph. It can be changed by using LaTeX’s \setlength command; for example, to indent paragraphs by 15pt set \parindent to 15pt by writing:

  • you can change \parindent within a group, ensuring its effect is localized to paragraphs in that group;
  • \parindent can be negative, producing an “outdent” rather than an indent;
  • by default LaTeX does not indent the first paragraph following a document section heading ( \section{...} etc).

The following example demonstrates the use of \parindent .

Using various paragraph indent values in LaTeX

\parskip (TeX primitive)

The legibility of text can be enhanced by separating paragraphs with an amount of white space that will vary according to some design aesthetic. TeX/LaTeX allow users to control that inter-paragraph spacing via the \parskip parameter command.

  • Advice from the parskip package : The parskip package advises that directly modifying \parskip can “result in vertical spaces in unexpected places” (within a LaTeX document). The parskip package attempts to fix spacing issues that might arise from changes to the value of \parskip —such as within table of contents and list environments. See also the parskip package section of this article .

To manually set the current value of \parskip use LaTeX’s \setlength command; for example, to separate paragraphs by 3pt you can write:

The following example demonstrates the use of \parskip :

Demonstrating the use of \parskip in LaTeX

Flexible \parskip

Traditionally, \parskip is not a fixed value, which would result in the same amount of space between all paragraphs. Instead, \parskip is usually defined as a “flexible space” (called glue) which enables TeX to stretch or shrink the space between paragraphs, helping to fit content on the page and find a “good” place for a page break.

To make \parskip flexible you would write it in the form of a glue specification:

\setlength{\parskip}{ fixed amount plus amount to stretch minus amount to shrink }

where plus and minus are keywords used by TeX/LaTeX to identify the amount to stretch or amount to shrink contained in a glue specification. The Overleaf article Exploring underfull or overfull boxes and badness calculations contains a more in-depth discussion of glue.

For example, to enable \parskip to vary between 3 + 1 = 4pt and 3 — 1 = 2pt you could write

\leftskip and \rightskip (TeX primitives)

TeX engines provide two parameter commands which add space (glue) to the left and right of each line in the typeset paragraph. As their names suggest:

  • \leftskip inserts space (glue) to the left of each line in a paragraph;
  • \rightskip inserts space (glue) to right left of each line in a paragraph.

The following examples use \leftskip and \rightskip to directly modify paragraph alignment; however... changes to text alignment are usually best achieved via suitable LaTeX environments or packages—for example, see the Overleaf article on text alignment . Although we demonstrate the behaviour of some low-level (primitive) parameter commands provided by TeX engines, it is generally advisable to use appropriate LaTeX packages wherever possible.

Making \leftskip fixed and \rightskip flexible

The following example produces two paragraphs: the first uses LaTeX’s default values for \leftskip and \rightskip and the second paragraph is typeset using the following settings:

Open the following Overleaf project to see the output:

 Open this example as an Overleaf LaTeX project

This example generates the following output:

Setting \leftskip glue in LaTeX

The following graphic is an annotated version of the second paragraph produced by the example above. It is designed to highlight and show the amount of \leftskip and \rightskip glues inserted in the paragraph lines, together with the \parindent space for the first line:

Setting \leftskip glue in LaTeX

Note that \leftskip glue has a fixed size (10pt) but \rightskip glue has stretched to provide any amount of white space required to fill up the right-hand side of each line. This “flexibility” is due to the specification of \rightskip which contains plus 1 fill —providing an “infinitely stretchable” form of glue.

Making \rightskip fixed and \leftskip flexible

Setting \rightskip glue in LaTeX

The following graphic is an annotated version of the second paragraph produced by example above. It is designed to highlight and show the amount of \leftskip and \rightskip glues inserted in the paragraph lines, together with the \parindent space for the first line:

Setting \rightskip glue in LaTeX

Note that \rightskip glue has a fixed size (10pt) but \leftskip glue has stretched to provide any amount of white space required to fill up the left-hand side of each line. This “flexibility” is due to the specification of \leftskip which contains plus 1 fill —providing an “infinitely stretchable” form of glue.

Setting \leftskip and \rightskip to flexible values

The following example produces two paragraphs: the first uses LaTeX’s default values for \leftskip and \rightskip and the second uses the following, flexible, glue settings:

These settings result in paragraph lines being centered:

Example showing \leftskip and \rightskip

Note that both \leftskip and \rightskip are specified as 0pt plus 1fill making them equally “infinitely flexible”; consequently, they stretch by the same amount which results in typeset lines being centred.

Setting \leftskip and \rightskip in a group

The following example shows how to make temporary changes to \leftskip and \rightskip by enclosing them inside a group. In our example the group is created by \begingroup ... \endgroup , as shown in the following code fragment:

The first paragraph is typeset using “extremely flexible” glue for \leftskip and \rightskip :

but the second paragraph uses LaTeX’s default values:

Using \leftskip and \rightskip in a group

Note : The settings for (effects of) \leftskip and \rightskip are restricted to the paragraph within the group created by \begingroup ... \endgroup . After the group has been closed, the next paragraph is typeset using LaTeX’s default values for \leftskip and \rightskip .

\baselineskip (TeX primitive)

It is generally accepted typesetting practice that lines of text within paragraphs should be equally spaced, except where certain lines contain large elements, such as mathematics or an image, which make it impossible to preserve constant interline spacing for such lines.

TeX/LaTeX provide commands and mechanisms which enable users to exercise some degree of control over interline spacing. One such command is \baselineskip which gets, or sets, the value of a parameter that determines the preferred interline spacing (baseline-to-baseline distance) in a typeset paragraph.

To typeset the current value of \baselineskip you can write

To set \baselineskip to some value (a LaTeX length such as pt ) you can write

For example, to set \baselineskip to 12pt you can write

We can demonstrate the role of \baselineskip by using the following (typical) paragraph:

An example LaTeX paragraph

and adding annotations which show the baseline-to-baseline distance controlled by \baselineskip :

An example LaTeX paragraph annotated to show baseline distances

The diagram also shows the interline “glue”: a calculated amount of white space added between lines—we’ll further discuss this later in the article.

\baselineskip and other parameters

\baselineskip is one of four core parameters which control the amount of space inserted between lines of a paragraph; the others are:

  • \lineskiplimit

Later in the article we’ll explore how these four parameters are used to calculate interline glue values.

\baselineskip example (fixed space)

The following example opens in Overleaf to create a project containing a file called text.tex which defines the commands \mytextA and \mytextB —both commands typeset a paragraph. For convenience, the Overleaf project uses a small page size because that assists with preparing graphics and images for this help page.

Exploring baselineskip in TeX or LaTeX

The paragraph on page 2 has widely spaced lines because \baselineskip was set to 24pt.

\baselineskip example (flexible space)

The following example specifies a \baselineskip value which has an extremely flexible (so-called “infinite”) stretch component:

Because of this flexibility, white space between paragraph lines can stretch by any amount required to fill the page. Such flexibility would result in paragraphs having very different amounts of space between their constituent lines of text, which might not be aesthetically pleasing or easy to read.

Demonstrating baselineskip glue with infinite flexibility

A few notes on glue

Some of the following notes are taken from the Overleaf article exploring underfull or overfull boxes and badness calculations , reproduced here for convenience.

The white space that TeX inserts between lines of a paragraph, \baselineskip , is a form of flexible spacing called glue . A glue value can be specified three components:

  • a fixed amount;
  • an amount it can stretch ;
  • an amount it can shrink ,

Consequently, a \baselineskip value can be specified like this:

\baselineskip = fixed amount plus amount to stretch minus amount to shrink

  • plus and minus are keywords that TeX engines understand;
  • fixed amount is referred to as the normal component of the glue (also called the natural width of the glue);
  • amount to stretch is referred to as the stretch component of the glue;
  • amount to shrink is referred to as the shrink component of the glue.

The fixed amount is required for all glue values but amount to stretch and amount to shrink are both optional—if either, or both, are missing they are set to a value of 0.

Usually, \baselineskip glue is specified with a fixed amount only, the stretch and shrink components are zero, otherwise paragraph lines would have irregular (variable) spacing, which might not be aesthetically pleasing.

\offinterlineskip and \nointerlineskip (macros)

These macros are often used to prevent insertion of interline glue between lines of a paragraph. Readers interested in more detail can jump ahead to the relevant article sections which explain how these macros work.

  • \offinterlineskip : See the article section Zero-sized interline glue: \offinterlineskip .
  • \nointerlineskip : See the article section Preventing interline glue: \prevdepth and \nointerlineskip .

Paragraph structure and line space calculations

Using the capabilities of LuaTeX it is possible to post-process a typeset paragraph to visualize boundaries of constituent characters (glyphs), lines and glues from which it is constructed. We’ll start with a short sequence of graphics to help visualize the “boxes and glue” model that TeX engines use to typeset text contained in a paragraph.

Paragraph structure

When TeX typesets a paragraph it treats individual characters as miniature boxes, each with its own width, height and depth and those character-box widths are used to calculate the optimum locations for linebreaks. In addition, space characters contained within the text, and used to separate individual words, are converted to a form of flexible space (glue) which provides the spacing needed to achieve each linebreak.

The following sequence of 7 graphics show the core components of a typeset paragraph: various types of boxes and glue. The first graphic shows a typeset paragraph together with an annotated version which highlights various elements within the paragraph. However, the annotated paragraph contains a lot of information so the subsequent graphics isolate various components to (hopefully) make them easier to understand.


  • The next graphic depicts paragraph lines as gray boxes separated by glue that is represented by horizontal green strips. That glue is calculated to ensure the baseline-to-baseline distance is equal to (i.e., the value of) \baselineskip :


  • The next image represents typeset characters as boxes: to visualize how TeX engines process characters for the purpose of producing linebreaks:


  • The next image shows boxes within boxes: the larger paragraph lines (boxes) containing smaller boxes (individual characters):


  • The next image shows the amount of space between words in each line: these inter-word spaces are produced by converting space characters to flexible glues that are stretched or shrunk to produce the correct length for each line of text. Note carefully that the size of these spaces vary from line-to line:


  • The next image combines the character boxes and corresponding glues (space) placed between individual words:


Visualizing other types of paragraph glue

The following paragraphs were also typeset and processed using LuaTeX to show other types of glue within, and between, a pair of paragraphs. Note that \rightskip and \leftskip are both set to 0pt, so they are not shown:

  • \parskip glue (light blue) placed between the two typeset paragraphs;
  • individual words are separated by interword glue (yellow) created by converting space characters in the input to variable-sized white space (glue) in the typeset output. Glue arising from interword spaces is stretched or shrunk to achieve visually pleasing linebreaks;
  • \baselineskip glue (light green) placed between lines—the exact amount of \baselineskip glue is calculated using the mechanism discussed below;
  • \lineskip glue (red) being used in the second paragraph—due to the low box contained in the second-to-last line;
  • \parfillskip glue (dark green) placed at the end of the last line in each paragraph.

Dealing with deeper (or taller) lines (boxes)

As shown by graphics in the previous section , a typeset paragraph is a vertical stack of “boxes”, separated by some white space, which TeX calls “glue”. As the paragraph is processed, and the individual lines (boxes) are stacked, the vertical list (stack) grows in a downward direction, toward the bottom of the page. Although TeX/LaTeX try to ensure paragraph lines are stacked with baselines separated by a constant distance of \baselineskip , it’s not always possible to achieve that because certain lines can have a larger-than-usual height or depth.

The height and depth of each paragraph line is determined by the maximum distance that line’s content extends above or below the baseline; consequently, paragraphs containing material with a relatively large height or depth, such as inline math or graphics, are likely to produce individual lines with correspondingly large heights and/or depths. For such lines, TeX/LaTeX may be unable to stack them such that their baselines are separated from other lines by the \baselineskip amount. Clearly, TeX/LaTeX need a “fallback mechanism” to handle such lines by calculating a suitable amount of space to insert between each pair of lines affected by large heights and/or depths.

\lineskip and \lineskiplimit (TeX primitives)

That fallback mechanism involves the parameter commands \lineskip and \lineskiplimit together with a third parameter called \prevdepth . Readers interested in further details can jump ahead to the article section How the space (glue) between paragraph lines is calculated .

The example project, below, typesets a single paragraph whose last line has a relatively large depth due a shifted text box ( \hbox ). The paragraph is typeset using these settings:

Use the link below the following code to open an Overleaf project:

 Open this example in Overleaf.

Example to demonstrate \lineskip glue

The following graphic uses an annotated version of the paragraph produced by the previous Overleaf project. Here, we zoom in to focus on the last paragraph line, indicating the use of \lineskip glue (shown in red) caused by the depth of the shifted text box:

Image showing TeX \lineskip glue

The final line of the paragraph text has a larger-than-usual depth, preventing TeX from maintaining the constant baseline-to-baseline distance specified by the value \baselineskip (12pt). As indicated by arrows on the right-hand side of the graphic, TeX/LaTeX try to ensure a fixed distance (12pt) between pairs of lines—the value of \baselineskip . However, for the last pair of lines TeX has separated them by an amount greater than 12pt and uses the value of \lineskip for the interline glue instead of a value calculated using \baselineskip .

The following sections explore and explain the details of TeX’s calculations of interline glue values.

How the space (glue) between paragraph lines is calculated

For current purposes we’ll very briefly mention TeX’s page-construction process, albeit in a highly simplified way! Once TeX has finished typesetting a paragraph, by completing hyphenation and determining linebreaks, you can think of that paragraph data as being stored in a temporary memory location. TeX then needs to move that paragraph data, line-by-line, to a new memory location which stores material destined for the current output page.

When TeX moves the paragraph data, line-by-line, it is, in effect, building a vertical stack of lines (TeX boxes) which grows downward toward the bottom of the page. As it moves paragraph lines to the current page TeX tries to ensure those lines will be spaced equally, having consistent vertical (baseline-to-baseline) spacing equal to the value \baselineskip . When a new line is transferred to the current page, the TeX engine temporarily records that line’s depth because it will be used to calculate the amount of interline glue (white space) between that line and the line placed after it.

Glue size calculations

Let’s start by summarizing the interline spacing features provided by TeX engines:

  • keeping a constant distance between baselines, a distance equal to \baselineskip ;
  • provide spacing for any lines with a relatively large height or depth;
  • TeX engines automatically disable insertion of interline glue after a rule in vertical mode;
  • the macros \offinterlineskip and \nointerlineskip allow users to temporarily switch off insertion of interline glue—those macros have different effects, as we’ll see below.

The decision whether to add interline glue and, if so, how much of which type, goes like this:

  • Note : The value of “depth of the last line added”, which TeX records internally, is also known as the “previous depth”. TeX engines provide the parameter command \prevdepth —which can, in certain circumstances, be used to get or set the value of “previous depth”. The macro \nointerlineskip makes use of \prevdepth .
  • calculate the value Δ, where Δ = \baselineskip – (depth of previous line) – (height of next line)
  • compare Δ to the value of \lineskiplimit , a parameter used to define the minimum acceptable distance between two lines, as measured by the distance between the bottom of the upper line and the top of the lower line.
  • the lines are too close so insert the minimum acceptable spacing which is \lineskip
  • the lines are not too close so use Δ as the amount of glue to insert
  • Add the next line (box) without inserting any glue

The following graphic summarizes the interline glue process:

How TeX detemines interline glue values

An example of interline glue calculations

In the following example we assume that TeX/LaTeX is using the following command parameter values:

We’ll look at the interline glue calculation for the first two lines of this paragraph:


In the next image, the TeX engine has processed the first paragraph line and moved it to the vertical list it is building. It keeps track of that line’s depth ( d 1 ) which is 2.1528 (points):


Next, TeX is ready to add a second line to the list it is building: that line has a height ( h 2 ) which is 6.9444 (points) and, incidentally, a depth, d 2 of 0 (points):


At this point, TeX needs to calculate the amount of space (glue, g 1 ) to insert between these two lines:


The following image shows the glue calculations for this pair of lines:


The final image shows the two lines moved across to the current page with the calculated amount of interline glue placed between them:


Yet another parameter: \prevdepth

As noted above, when TeX is creating a vertical stack (list) of boxes, it stores the depth of the last box added to that list. That stored depth value is known as the “previous depth” which can be accessed via the parameter command \prevdepth .

The \prevdepth command can be used only when TeX is in a vertical mode; i.e., between paragraphs or inside vertical boxes: \vbox , \vtop or \vcenter (note: \vcenter boxes can only be used in math mode).

\prevdepth provides read and write access to the value of “previous depth”:

  • to read access the current value of \prevdepth you can write:
  • to set the current value of \prevdepth to some value , a length in points, mm, etc, you can write:

If you try to use \verb \prevdepth in circumstances it was not designed for, such as within a paragraph or inside an \hbox you’ll get an error

with additional information telling you it can only be used in vertical mode.

Preventing interline glue: \prevdepth and \nointerlineskip

One use of \prevdepth is to prevent TeX performing the baseline calculations used to add interline glue between items in a vertical list, such as the lines of a paragraph. Using \prevdepth to represent depth of previous line we can re-state the glue calculations (pictured above) as follows:

Internally, TeX engines recognize a so-called “sentinel” value of \prevdepth which can be used to disable calculating and adding interline glue. That sentinel value is –1000pt , which can be seen in the first line of the pseudo-code above:

TeX will not add interline glue unless \prevdepth is greater than –1000pt — which provides the mechanism used by the \nointerlineskip macro to prevent baseline glue being added between the next pair of boxes in a vertical list.

\nointerlineskip has a definition equivalent to:

Note that \nointerlineskip provides a one-off deactivation of interline glue calculations because the value of \prevdepth is continually updated as new boxes are added to the current vertical list, as demonstrated in the following example:

Example demonstrating of TeX’s parameter \prevdepth

Zero-sized interline glue: \offinterlineskip

It is possible to remove all interline spacing via the macro command \nointerlineskip , which has a definition equivalent to:

Note that \maxdimen is 16383.99998pt , the largest length that TeX can use.

The following graphic shows the core interline glue calculations and the various parameter values used by the macro \nointerlineskip :


The following graphic shows the pseudo-code fragment which results from substituting the \nointerlineskip macro values into the glue calculations. It demonstrates how the \nointerlineskip macro works by setting values for \baselineskip and \lineskiplimit such that the interline glue will always be \lineskip glue of 0pt .


\offinterlineskip and non-zero \lineskip

The \nointerlineskip macro sets \lineskip to zero but, as the following Overleaf project demonstrates, you can combine \nointerlineskip with non-zero values of \lineskip to achieve line spacing effects.

Demonstrating LaTeX’s \offinterlineskip macro

You can localize the effect(s) of using \offinterlineskip and \lineskip (and other spacing commands) by enclosing them in a group:

  • Documentation Home
  • Learn LaTeX in 30 minutes

Overleaf guides

  • Creating a document in Overleaf
  • Uploading a project
  • Copying a project
  • Creating a project from a template
  • Using the Overleaf project menu
  • Including images in Overleaf
  • Exporting your work from Overleaf
  • Working offline in Overleaf
  • Using Track Changes in Overleaf
  • Using bibliographies in Overleaf
  • Sharing your work with others
  • Using the History feature
  • Debugging Compilation timeout errors
  • How-to guides
  • Guide to Overleaf’s premium features

LaTeX Basics

  • Creating your first LaTeX document
  • Choosing a LaTeX Compiler
  • Paragraphs and new lines
  • Bold, italics and underlining


  • Mathematical expressions
  • Subscripts and superscripts
  • Brackets and Parentheses
  • Fractions and Binomials
  • Aligning equations
  • Spacing in math mode
  • Integrals, sums and limits
  • Display style in math mode
  • List of Greek letters and math symbols
  • Mathematical fonts
  • Using the Symbol Palette in Overleaf

Figures and tables

  • Inserting Images
  • Positioning Images and Tables
  • Lists of Tables and Figures
  • Drawing Diagrams Directly in LaTeX
  • TikZ package

References and Citations

  • Bibliography management with bibtex
  • Bibliography management with natbib
  • Bibliography management with biblatex
  • Bibtex bibliography styles
  • Natbib bibliography styles
  • Natbib citation styles
  • Biblatex bibliography styles
  • Biblatex citation styles
  • Multilingual typesetting on Overleaf using polyglossia and fontspec
  • Multilingual typesetting on Overleaf using babel and fontspec
  • International language support
  • Quotations and quotation marks

Document structure

  • Sections and chapters
  • Table of contents
  • Cross referencing sections, equations and floats
  • Nomenclatures
  • Management in a large project
  • Multi-file LaTeX projects
  • Lengths in L a T e X
  • Headers and footers
  • Page numbering
  • Paragraph formatting
  • Line breaks and blank spaces
  • Text alignment
  • Page size and margins
  • Single sided and double sided documents
  • Multiple columns
  • Code listing
  • Code Highlighting with minted
  • Using colours in LaTeX
  • Margin notes
  • Font sizes, families, and styles
  • Font typefaces
  • Supporting modern fonts with X Ǝ L a T e X


  • Environments

Field specific

  • Theorems and proofs
  • Chemistry formulae
  • Feynman diagrams
  • Molecular orbital diagrams
  • Chess notation
  • Knitting patterns
  • CircuiTikz package
  • Pgfplots package
  • Typesetting exams in LaTeX
  • Attribute Value Matrices

Class files

  • Understanding packages and class files
  • List of packages and class files
  • Writing your own package
  • Writing your own class

Advanced TeX/LaTeX

  • In-depth technical articles on TeX/LaTeX

Have you checked our knowledge base ?

Message sent! Our team will review it and reply by email.

We love good questions

Skip to content

LaTeX.org on Twitter - follow us

  • Impressum and Privacy Policy
  • About LaTeX
  • Board index LaTeX Templates Theses, Books, Title pages
  • Ask a question LaTeX    Text Formatting    Graphics, Figures & Tables    Math & Science    Fonts & Character Sets    Page Layout    Document Classes    General LaTeX's Friends    BibTeX, biblatex and biber    MakeIndex, Nomenclature, Glossaries and Acronyms    Conversion Tools    Viewers for PDF, PS, and DVI    XeTeX    Others LaTeX Distributions    Decision Guidance    MiKTeX and proTeXt    TeX Live and MacTeX    Others LaTeX Editors    Decision Guidance    AUCTeX    Kile    LEd    LyX    Scientific Word/Workplace    Texmaker and TeXstudio    TeXnicCenter       Announcements       General       Templates, Wizards & Tools       Feature Suggestions       Development    TeXShop    TeXworks    WinEdt    WinShell    Others LaTeX Templates    Articles, Essays, and Journal Templates    Theses, Books, Title pages    Letters    Presentations and Posters    Curricula Vitae / Résumés    Assignments, Laboratory books and reports    Calendars and Miscellaneous LaTeX Community    Announcements    Community talk    Comments & Wishes    New Members LaTeX Books    LaTeX Beginner's Guide    LaTeX Cookbook

LaTeX forum ⇒ Theses, Books, Title pages ⇒ Change Line Spacing Topic is solved

Change line spacing.

Post by templateuser » Mon Mar 30, 2015 10:52 am

Change Line Spacing   Topic is solved

Post by Vel » Mon Mar 30, 2015 10:53 am

Return to “Theses, Books, Title pages”

  •     Text Formatting
  •     Graphics, Figures & Tables
  •     Math & Science
  •     Fonts & Character Sets
  •     Page Layout
  •     Document Classes
  •     General
  • LaTeX's Friends
  •     BibTeX, biblatex and biber
  •     MakeIndex, Nomenclature, Glossaries and Acronyms
  •     Conversion Tools
  •     Viewers for PDF, PS, and DVI
  •     XeTeX
  •     Others
  • LaTeX Distributions
  •     Decision Guidance
  •     MiKTeX and proTeXt
  •     TeX Live and MacTeX
  • LaTeX Editors
  •     AUCTeX
  •     Kile
  •     LEd
  •     LyX
  •     Scientific Word/Workplace
  •     Texmaker and TeXstudio
  •     TeXnicCenter
  •        Announcements
  •        General
  •        Templates, Wizards & Tools
  •        Feature Suggestions
  •        Development
  •     TeXShop
  •     TeXworks
  •     WinEdt
  •     WinShell
  • LaTeX Templates
  •     Articles, Essays, and Journal Templates
  •     Theses, Books, Title pages
  •     Letters
  •     Presentations and Posters
  •     Curricula Vitae / Résumés
  •     Assignments, Laboratory books and reports
  •     Calendars and Miscellaneous
  • LaTeX Community
  •     Announcements
  •     Community talk
  •     Comments & Wishes
  •     New Members
  • LaTeX Books
  •     LaTeX Beginner's Guide
  •     LaTeX Cookbook

Who is online

Users browsing this forum: No registered users and 6 guests

  • Board index
  • All times are UTC
  • Text Formatting
  • Graphics, Figures & Tables
  • Math & Science
  • Fonts & Character Sets
  • Page Layout
  • Document Classes
  • BibTeX, biblatex and biber
  • MakeIndex, Nomenclature, Glossaries and Acronyms
  • Conversion Tools
  • Viewers for PDF, PS, and DVI
  • Decision Guidance
  • MiKTeX and proTeXt
  • TeX Live and MacTeX
  • Scientific Word/Workplace
  • Texmaker and TeXstudio
  • Announcements
  • Templates, Wizards & Tools
  • Feature Suggestions
  • Development
  • Articles, Essays, and Journal Templates
  • Theses, Books, Title pages
  • Presentations and Posters
  • Curricula Vitae / Résumés
  • Assignments, Laboratory books and reports
  • Calendars and Miscellaneous
  • Community talk
  • Comments & Wishes
  • New Members
  • LaTeX Beginner's Guide
  • LaTeX Cookbook

Florida Tech Evans Library Logo

Formatting your Thesis and Dissertation:Tools,Tips and Troubleshooting

  • I am a new Graduate Student at Florida Tech!
  • Thesis and Dissertation Templates
  • Learn About Zotero
  • Formatting Landscape Pages
  • Line Spacing
  • Page Numbers
  • Page Break and Section Breaks
  • Table of Contents or Figures
  • Figures Turning Black
  • Margin issues with Tables
  • Page numbers not appearing
  • PDF to PDF/A
  • Section Breaks
  • Landscape Page Numbers
  • Troubleshoot LaTeX formatting issues
  • Copyright and Creative Commons Licenses Primer
  • Do I need to embargo my thesis or dissertation?
  • I'm ready to submit my electronic copy - now what do I do?
  • What is the process for obtaining print copies of my thesis or dissertation?

Adjust Spacing Between Lines

Spacing Issues on Signature Page

Highlight the text you are wanting to change then on the Home Ribbon, choose the line spacing symbol, select the desired spacing typically 1.5 for Thesis and 2.0 for Dissertations. Using the Add Space or Remove Space options as needed.

For the Signature page copying and pasting one of the signature lines is usually the easiest method.

 Then removing any excess lines so the pages stays single paged.

latex thesis line spacing

If issues persist there are some alternative layouts in the Thesis Manual and Style Guide

 Page 79 (OGP Manual)

latex thesis line spacing

  • << Previous: Formatting Landscape Pages
  • Next: Page Numbers >>
  • Last Updated: Sep 6, 2023 3:17 PM
  • URL: https://libguides.lib.fit.edu/formattingyourthesisanddissertationtoolstipstroubleshooting

How to have double-spacing effect in LaTeX?

latex thesis line spacing

Subscribe to email list

You are here.

  • Department of Statistics

to the preamble. The whole document will be double-spaced including bibliography. Footnotes, figures, and tables will still be single-spaced. If you want a part of the text still be single-spaced, include the part in the environment:

If you want to have other spacing effect for a part of the text, you can use the environment:

\begin{spacing}{ space }...\end{spacing}

. For example, to reduce the linespacing in the bibliography and table of contents, you can use the following command

The other two commands provided by the

package are



You can also change the other spacing by using the \setstretch command, e.g. \setstretch{1.8}. To get single-spaced, one-and-half-spaced, and doublespaced effects, you can also use \setstretch{1}, \setstretch{1.5} and \setstretch{2} respectively.

UBC Department of Statistics

LaTeX/Paragraph Formatting

Altering the paragraph formatting is rarely necessary in academic writing. It is primarily used for formatting text in floats or for more exotic documents.

  • 1 Paragraph alignment
  • 2 Paragraph indent
  • 3 Paragraph line break
  • 4 Line spacing
  • 5 Manual breaks
  • 6.1.1 Typesetting URLs
  • 6.1.2 Listing environment
  • 6.2 Multiline comments
  • 6.3 Skipping parts of the source
  • 6.4 Quoting text
  • 6.5 Abstracts
  • 7 Notes and References

Paragraph alignment [ edit | edit source ]

Paragraphs in LaTeX are usually fully justified, i.e. flush with both the left and right margins. For whatever reason, should you wish to alter the justification of a paragraph, there are three environments at hand, and also LaTeX command equivalents.

All text between the \begin and \end of the specified environment will be justified appropriately. The commands listed are for use within other environments. For example, p (paragraph) columns in tabular .

However, if you really need to disable one of the above commands locally (for example because you have to use some broken package), you can use the command \justifying from package ragged2e .

Paragraph indent [ edit | edit source ]

By default, the first paragraph after a heading follows the standard Anglo-American publishers' practice of no indentation. The size of subsequent paragraph indents is determined by a parameter called \parindent . The default length that this constant holds is set by the document class that you use. It is possible to override it by using the \setlength command. This will set paragraph indents to 1cm:

Whitespace in LaTeX can also be made flexible (what Lamport calls "rubber" lengths). This means that values such as extra vertical space inserted before a paragraph \parskip can have a default dimension plus an amount of expansion minus an amount of contraction. This is useful on pages in complex documents where not every page may be an exact number of fixed-height lines long, so some give-and-take in vertical space is useful. You specify this in a \setlength command like this:

If you want to indent a paragraph that is not indented, you can use

at the beginning of the paragraph. Obviously, this will only have an effect when \parindent is not set to zero. If you want to indent the beginning of every section, you can use the indentfirst package: once loaded, the beginning of any chapter/section is indented by the usual paragraph indentation.

To create a non-indented paragraph, you can use

as the first command of the paragraph. This might come in handy when you start a document with body text and not with a sectioning command.

Be careful, however, if you decide to set the indent to zero, then it means you will need a vertical space between paragraphs in order to make them clear. The space between paragraphs is held in \parskip , which could be altered in a similar fashion as above. However, this parameter is used elsewhere too, such as in lists, which means you run the risk of making various parts of your document look very untidy by changing this setting. If you want to use the style of having no indentation with a space between paragraphs, use the parskip package, which does this for you, while making adjustments to the spacing of lists and other structures which use paragraph spacing, so they don't get too far apart. If you want both indent and break, use

To indent subsequent lines of a paragraph, use the TeX command \hangindent . (While the default behaviour is to apply the hanging indent after the first line, this may be changed with the \hangafter command.) An example follows.

The TeX commands \leftskip and \rightskip add additional space to the left and right sides of each line, allowing the formatting for subsequent paragraphs to differ from the overall document margins. This space is in addition to the indentation added by \parindent and \hangindent .

To change the indentation of the last line in a paragraph, use the TeX command \parfillskip .

Paragraph line break [ edit | edit source ]

Default style for \paragraph may seem odd in the first place, as it writes the following text next to the title. If you do not like it, use a class other than the traditional article/book, or use ConTeXt or PlainTeX. Hacking of the class in use is really not the way LaTeX is intended to be used, and you may encounter a lot of frustrating issues.

Anyway, let's analyse the problem. If you add a manual line break with \\ , LaTeX will complain that

Simply adding an empty space will do it:

Alternatively, you can use the shorter, yet not completely equivalent syntax:

You can also change $ {} $ (an empty inline mathematical expression) for \hspace { 0pt } or ~ in the above makeshift.

Line spacing [ edit | edit source ]

To change line spacing in the whole document use the command \linespread covered in Text Formatting .

Alternatively, you can use the \usepackage { setspace } package, which is also covered in Text Formatting . This package provides the commands \doublespacing , \onehalfspacing , \singlespacing and \setstretch { baselinestretch } , which will specify the line spacing for all sections and paragraphs until another command is used. Furthermore, the package provides the following environments in order to change line spacing within the document but not document-wide:

  • doublespace : lines are double spaced;
  • onehalfspace : line spacing set to one-and-half spacing;
  • singlespace : normal line spacing;
  • spacing : customizable line spacing, e.g. \begin { spacing }{ \baselinestretch } ... \end { spacing } .

See the section on customizing lists for information on how to change the line spacing in lists.

Manual breaks [ edit | edit source ]

LaTeX takes care of formatting, breaks included. You should avoid manual breaking as much as possible, for it could lead to very bad formatting.

Controlling the breaks should be reserved to macro and package writers. Here follows a quick reference.

  • If you use these comments to put a break in a section heading, the line will also be broken in the table of contents. To avoid such a division, you can use the \section [] {} command, which is described in sectioning commands .

The page breaks are covered in Page Layout . More details on manual spaces between paragraphs (such as \bigskip ) can be found in Lengths .

Special paragraphs [ edit | edit source ]

Verbatim text [ edit | edit source ].

There are several ways to introduce text that won't be interpreted by the compiler. If you use the verbatim environment, everything input between the begin and end commands are processed as if by a typewriter. All spaces and new lines are reproduced as given, and the text is displayed in an appropriate fixed-width font. Any LaTeX command will be ignored and handled as plain text. This is ideal for typesetting program source code. Here is an example:

Note: once in the verbatim environment, the only command that will be recognized is \end { verbatim } . Any others will be output. The font size in the verbatim environment can be adjusted by placing a font size command before \begin { verbatim } . If this is a problem, you can use the alltt package instead, providing an environment with the same name:

Remember to add \usepackage { alltt } to your preamble to use it though! Within the alltt environment, you can use the command \normalfont to get back the normal font. To write equations within the alltt enviroment, you can use \( and \) to enclose them, instead of the usual $ .

When using \textbf {} inside the alltt enviroment, note that the standard font has no bold TT font. Txtfonts has bold fonts: just add \renewcommand { \ttdefault }{ txtt } after \usepackage { alltt } .

If you just want to introduce a short verbatim phrase, you don't need to use the whole environment, but you have the \verb command:

The first character following \verb is the delimiter: here we have used "+", but you can use any character you like except *; \verb will print verbatim all the text after it until it finds the next delimiter. For example, the code:

will print \textbf { Hi mate! } , ignoring the effect \textbf should have on text.

For more control over formatting, however, you can try the fancyvrb package, which provides a Verbatim environment (note the capital letter) which lets you draw a rule round the verbatim text, change the font size, and even have typographic effects inside the Verbatim environment. It can also be used in conjunction with the fancybox package and it can add reference line numbers (useful for chunks of data or programming), and it can even include entire external files.

To use verbatim in beamer, the frame needs to be made fragile: \begin { frame } [fragile] .

Typesetting URLs [ edit | edit source ]

One of either the hyperref or url packages provides the \url command, which properly typesets URLs, for example:

will show this URL exactly as typed (similar to the \verb command), but the \url command also performs a hyphenless break at punctuation characters (only in PDFLaTeX, not in plain LaTeX+ dvips). It was designed for Web URLs, so it understands their syntax and will never break midway through an unpunctuated word, only at slashes and full stops. Bear in mind, however, that spaces are forbidden in URLs, so using spaces in \url arguments will fail, as will using other non-URL-valid characters.

When using this command through the hyperref package, the URL is "clickable" in the PDF document, whereas it is not linked to the web when using only the url package. Also when using the hyperref package, to remove the border placed around a URL, insert pdfborder = { 0 0 0 0 } inside the \hypersetup {} . (Alternately pdfborder = { 0 0 0 } might work if the four zeroes do not.)

You can put the following code into your preamble to change the style, how URLs are displayed to the normal font:

See also Hyperlinks

Listing environment [ edit | edit source ]

This is also an extension of the verbatim environment provided by the moreverb package. The extra functionality it provides is that it can add line numbers alongside the text. The command is \begin { listing } [step] { first line } . The mandatory first line argument is for specifying which line the numbering should start at. The optional step is the step between numbered lines (the default is 1, which means every line will be numbered).

To use this environment, remember to add \usepackage { moreverb } to the document preamble.

Multiline comments [ edit | edit source ]

As we have seen, the only way LaTeX allows you to add comments is by using the special character % , that will comment out all the rest of the line after itself. This approach is really time-consuming if you want to insert long comments or just comment out a part of your document that you want to improve later, unless you're using an editor that automates this process. Alternatively, you can use the verbatim package, to be loaded in the preamble as usual:

(you can also use the comment package instead) you can use an environment called comment that will comment out everything within itself. Here is an example:

Note that this won’t work inside complex environments, like math for example. You may be wondering, why should I load a package called verbatim to have the possibility to add comments? The answer is straightforward: commented text is interpreted by the compiler just like verbatim text, the only difference is that verbatim text is introduced within the document, while the comment is just dropped.

Alternatively, you can define a \comment {} command, by adding the following to the document's preamble:

Then, to comment out text, simply do something like this:

This approach can, however, produce unwanted spaces in the document, so it may work better to use

Then if you supply only one argument to \comment {} , this has the desired effect without producing extra spaces.

Another drawback is that content is still parsed and possibly expanded, so you cannot put anything you want in it (such as LaTeX commands).

Skipping parts of the source [ edit | edit source ]

A more robust way of making the TeX engine skip some part of the source is to use the TeX \iffalse -conditional. The typical use is

The \iffalse -conditional is always false.

Quoting text [ edit | edit source ]

LaTeX provides several environments for quoting text; they have small differences and they are aimed for different types of quotations. All of them are indented on either margin, and you will need to add your own quotation marks if you want them. The provided environments are:

Abstracts [ edit | edit source ]

In scientific publications it is customary to start with an abstract which gives the reader a quick overview of what to expect. See Document Structure .

Notes and References [ edit | edit source ]

This page uses material from Andy Roberts' Getting to grips with LaTeX with permission from the author.

latex thesis line spacing

  • Pages using deprecated enclose attributes

Navigation menu

  • Library Catalogue

Formatting your thesis: Overall layout and specifications

red thesis banner

On this page

Formatting requirements, parts of a thesis, file format, file size, and page size, line spacing, citation style, cumulative theses, extended essays, personal information, blank pages.

The Library's Theses Office assists with formatting theses, projects and extended essays for submission to the Library. You are encouraged to use the Library's thesis template to help format your thesis. The requirements stated on this page are default settings for the thesis template

Optional pages in the thesis template may be removed if not used.

The final copy of the thesis must be converted to .pdf (PDF/A format) for submission to the Library (maximum 400 mb). See the guide  Saving your thesis in PDF/A format for instructions.

Theses must be formatted for US Letter (8.5X11) pages. Landscape 8.5X11 and 11X17 pages are permitted. Legal, A4, or other paper sizes are not permitted.

Arial is the preferred font for SFU thesis submissions. See the Thesis Template Instructions for directions to change the default template font.

Please contact the Theses Office at [email protected] if you would like to use any fonts in your thesis other than the ones recommended.

​The default template line spacing is 1.5 for text, with single-spaced block quotations.

Margins should be set to:

  • 1.25" left/right
  • 1" top/bottom

All pages must be numbered sequentially as outlined below, with the exception of the title page. Page numbers should appear at the bottom centre of each page, at a minimum of 0.5” from the edge of the page.

Preliminary pages of the thesis must be numbered with Roman numerals. On the first page of the main body, page numbers must restart with 1. The thesis template is preset with this numbering style.

SFU Library does not require a specific citation style. Consult your supervisor, your department’s graduate handbook, or a liaison librarian for help with determining which style is appropriate for your research.

The default formatting in the library’s thesis template may differ from some requirements of your citation style, but it is acceptable for SFU library submission.

Cumulative, or paper-based, theses must use the same general format as other submissions. Consult your supervisor or your department's graduate handbook for more information. If including published papers in a thesis, please consult the Copyright and your thesis FAQ .

Extended essays should be combined into a single document and single submission. For an example of an extended essays title page, see the Title page formatting information .

For theses written in a language other than English, the Library requires a second complete English title page and abstract. Supporting documentation must be in English.

Individual personal information must be removed from the thesis before publication, including signatures, email addresses, and phone numbers. For example, if you are including a survey instrument or consent form, your own contact information must be removed.

Blank pages in the thesis must be removed before publication.


  1. LaTeX Thesis Template (Manuel Kuehner)

    latex thesis line spacing

  2. How to Write Thesis in Latex

    latex thesis line spacing


    latex thesis line spacing

  4. Basic Structure

    latex thesis line spacing

  5. Basic Structure

    latex thesis line spacing

  6. Writing Phd Thesis In Latex

    latex thesis line spacing


  1. Latex Tutorial 3. Paragrahs and Sections

  2. 2) بداية مع لاتك

  3. How to create Latex Faces

  4. Sample Thesis in LaTeX (UMS)

  5. LaTeX Tutorial for Beginners

  6. LaTeX101x S104 Defining Sections


  1. How to Create an Effective Thesis Statement in 5 Easy Steps

    Creating a thesis statement can be a daunting task. It’s one of the most important sentences in your paper, and it needs to be done right. But don’t worry — with these five easy steps, you’ll be able to create an effective thesis statement ...

  2. What Is the Statistical Treatment in a Thesis?

    Statistical treatment in a thesis is a way of removing researcher bias by interpreting the data statistically rather than subjectively. Giving a thesis statistical treatment also ensures that all necessary data has been collected.

  3. A Comprehensive Guide to Writing an Effective Thesis

    Writing a thesis can be a daunting task, but it doesn’t have to be. With the right approach and a few helpful tips, you can craft an effective thesis that will help you get the grade you’re looking for. Here is a comprehensive guide to writ...

  4. How do I change my margins and spacing to fit the PhD thesis

    For line spacing, use the setspace package, and for not having indents at the start of paragraphs use the parskip package. Share. Share a

  5. Writing a Thesis in LaTeX

    Requirements · the document should be presented on single-sided a4 paper and typeset in a double-spaced size 10-12 font; · the left-hand margin

  6. How to change paragraph spacing in LaTeX

    TeX/LaTeX provide commands and mechanisms which enable users to exercise some degree of control over interline spacing. One such command is \baselineskip which

  7. Adjusting the Line-spacing in Latex

    Comments3 · Removing page number from title page of thesis · Insert Figures in Overleaf | Insert Images in Latex Overleaf | Subfigures in Overleaf.

  8. Change Line Spacing

    If I try to change on Thesis.ctl \onehalfspacing to \singlespace the document maintains the same spacing. Nothing seems to change also if

  9. Line Spacing

    Adjust Spacing Between Lines ... Highlight the text you are wanting to change then on the Home Ribbon, choose the line spacing symbol, select the

  10. How to have double-spacing effect in LaTeX?

    You can also change the other spacing by using the \setstretch command, e.g. \setstretch{1.8}. To get single-spaced, one-and-half-spaced, and doublespaced

  11. Spacing between lines

    Spacing between lines. Hello! I am currently writing my thesis in latex, but have the format requirements listed for a word document.

  12. LaTeX/Paragraph Formatting

    onehalfspace: line spacing set to one-and-half

  13. Formatting your thesis: Overall layout and specifications

    ​The default template line spacing is 1.5 for text, with single-spaced block quotations. Margins. Margins should be set to: 1.25" left/right; 1" top/bottom

  14. Line Spacing in LaTeX: Adjust Equation Spacing in Your Document

    I'm not totally sure this is the right place to put this but here goes. I am using a thesis package from a different university for my