Advanced LaTeX

Recently I had to create a list of things one should know to better understand authors who are using LaTeX to write their article. Yes, LaTeX is not just commands, it is a fully functional programming environment so it has to be treated as such. These are some of the points that you should look into, I post them here for it might find some use in future.

Platform for writing LaTeX

  • Many evolving TeX distributions on various platforms
  • LaTeX and it's packages are changing over time - compilation with latest packages can produce different results
  • Some distributions and packages are outdated or deprecated

Templates (LaTeX class files)

  • The purpose of template
  • Author can still modify everything that is set by template

Packages (LaTeX style files)

  • Provides special or modifies existing commands, which enable certain features for your document
  • How are packages obtained and updated, for example:

Using external resources

  • Insertion of figures, available figure formats
  • Single output can be produced from multiple input files (for example, each section as a separate file)
  • Author could have his own "collection of LaTeX commands" as a separate file and use it with \input{}
  • Author could have a modified or outdated version of official package and still use it
  • Some authors go as far as to create their own packages and use them in their articles


  • What is BibTeX and how authors store their references in separate file
  • .bib file can contain lifetime archive of references, but just a part is used in particular article