The "easy" part - be creative

Find spectacular mathematical structures or invent ingenious tools or provide extraordinal new explanations for the Theory of Whatever :)

The difficult part - writing the thesis

Assuming that you have mastered the creative part (which, of course, is the most important one), the question remains: How to write everything down?
In the following, I will provide some self-made scripts and so-called "well-known" tricks for this purpose.

Q1 - What software do I need?

If you do not know what (La)TeX is, stop reading this page and click here!
Apart from some TeX dialect you will need perl for the scripts below. And whatever it is that you need for the creative part, like C++ or Mathematica.

Q2 - Is there anything I should check before starting to write?

Yes, definitely.

1. bibtex

First, you should decide whether you want to use bibtex or not. In the long run it pays, IMHO, but it is of course your choice. Just try to decide this at an early stage, or else you will have to edit a lot. If you do not know what bibtex is, please consult the local LaTeX guide and search there for "bibtex".

2. makeindex

Second, if you plan to make an index, it helps to start the indexing at an early stage - it is not necessary, but it saves time. If you do not know how to use the makeindex tool, please consult the local LaTeX guide and search there for "makeindex". I have used the simple macro
So if you feel, that e.g. the word "Humpty-Dumpty" appearing in your thesis is important, you simply write
 blablabla \Ix{Humpty-Dumpty} blablabla
and the word "Humpty-Dumpty" is printed and entered in the list of index entries. Just before printing the final version of your thesis, you might want to check all index entries, because you could recognize after all that "Humpty-Dumpty" is not THAT important as compared to other index entries...

3. acronym.sty

Third, if you have many acronyms you may want to use the acronym package. In order to use this efficiently, you should start dealing with it as soon as you start writing your thesis. You can download the style file here! Further, there is a (postscript) documentation of the package's author available. Finally, I have written the simple perl-script "makeacro" which you can download. It SHOULD be self-explanatory, but I will nevertheless explain its features:
  • The main idea is stolen from bibtex: You build up a .acr library with acronyms and their description (in the standard syntax explained in the acronym documentation, i.e. \acro{acronym}{Full Name} Explanation, where Explanation is optional), regardless of which of them you are actually going to use in a given paper/thesis.
  • You use the acronym commands \ac, \acs and \acf in your latex documents as explained in the documentation
  • After finishing your thesis for the first time, you use the script
     makeacro [-a] <filename>
    where <filename> is your thesis and the optional parameter -a must be used if you want to sort the acronyms by order of appearance rather than alphabetically. You will be reminded of its usage by just typing "makeacro".
  • Finally, you should include the lines
     \input{thesis.acl}                 % automatically generated with makeacro
    in your thesis (at the point where you want your abbreviations listed).

  • Q3 - What should I check during writing?

    Apart from "trivialities" like the actual content and your favourite macros, you should consider splitting your thesis into various files, in order to have more time for aforementioned "trivialities". The reason is simple: You will compile the thesis rather often, and in many cases you just change a small part of the thesis. Compiling each time the whole file takes quite some time, so I strongly recommend to use the include-option, typically for each chapter and frontmatter page (title, abstract, acknowledgement, etc.).
    As an example, you can download the (documented) source of my thesis mainfile.

    Q4 - My thesis is essentially finished - what now?

    A few subtleties remain, once you managed to write down your elaborated thoughts into a couple of .tex files. I can provide 4 perl-scripts which can help you at this stage, but if you feel that you do not need them simply ignore them. Feel not obliged to use a tool just for the sake of using it, if it is not suited for your purposes :)

    1. makelongtex

     Usage makelongtex <filename[.tex]>
     Output is a file called <filename_long.tex>, a selfcontained .tex-file (no includes, inputs, .idx or .bbl files are necessary afterwards)
    This script can be useful, if you plan to submit your thesis to an archive, to a journal or to a colleague. You just send the output <filenam_long.tex> (and eventual graphic files), instead of sending all your input and include files, the bibtex library and so on.
    Click here to download!

    2. maketoc

    This one is tricky. Imagine the following situation: You have a formula in the title of a chapter. Usually, the chapters are printed bold, but in the $$-environment you have to use \mathbold. But then, also the running head (which is usually not bold) would appear with a bold formula. Thus, you use the \chapter{blabla $\mathbold{E=mc^2}$ blabla}[blabla $E=mc^2$ blabla] option. However, the table of contents take their knowledge from the [] part and not from the {} part. So there you still have the problem of non-bold formulae. To remedy this, I have written a short perl-scrip, maketoc. If you do not know what the heck I am talking about you will most probably not need this script.
     Usage maketoc <filename[.toc]>
     This script replaces all $...$ in chapter entries of a given .toc file by $\mathbold{...}$

    Click here to download!

    3. maketargz

    Usage maketargz <sourcefile> <targetfile>
    This script copies all files contained in the list sourcefile into a gzipped tar archive <targetfile.tar.gz>
    The syntax of sourcefile is as follows: Just write each file you want to include into brackets <>.

    Click here to download!

    A summary of all scripts

    Most of my scripts produce a log-file, which you should read in case of troubles. They have the extension .?lg, where "?" is "a" for the makeacro, "t" for maketoc and "s" for maketargz.


    description (perl-script): makeacro is for a .acr file what bibtex is for a .bib file. The corresponding ouput file (.bbl in bibtex) ends with .acl, while the corresponding logfile (.blg in bibtex) has the extension .alg
    input is a .tex file


    description (perl-script): just to remedy the toc-problem of non-bold formulae appearing in chapters
    input and output is a .toc file


    description (perl-script): condenses (recursively) all includes and inputs, as well as the index and the bibliography into a single .tex file
    input is a .tex file and output the same .tex file with an additional _long in the filename


    description (perl-script):
    input is a file listing all files to be tared and the name of the output tar archive, output is a (gzipped) tar archive


    description (shell-script): makes your thesis :)
    no input is needed, ouput is a complete thesis

    May the source be with you! (latex sources of my PhD thesis as an example)

    Dedicated to the linux community:

    All in one - thesis.tar.gz

    Dedicated to the windows community:

    Back to top of the page

       Best viewed with
    Here is NO link to Beate Uhse!
    Written by D. Grumiller. Feel free to visit my homepage!

    mail to Webmaster
    © 1783