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