LaTeX, Lyx, MetaUML & Zotero on Ubuntu

Lyx is an open-source word processor built on top of LaTeX and Zotero is modern, open-source bibliography management package with "cloud" features. MetaUML is a system for creating UML diagrams in LaTeX (it's frankly pretty painful to use but it does produce professional looking results). This post is where I keep my notes about installing and configuring LaTeX, Lyx and Zotero on my Ubuntu system at Imperial (where I do not have root access).


Install TeX Live 2011

First, download and install TeX Live 2011 (which includes LaTeX). Ubuntu 11.04 ships with TeX Live 2009 which lacks several features I need (specifically for handling graphics and graphs).

  • Download and unpack the TeX Live installer. Beware: a full installation uses almost 3GBytes of disk space and takes a while to download and install.
  • If, like me, you're installing on a university-supplied Ubuntu machine to which you do not have root access then change the TEXDIR install directory by pressing D on the first screen of the TeX Live installation program to a directory to which you have write permissions. I use /data/usr/local/texlive/2011 as my TEXDIR on my Imperial machine.
  • If you installed to a non-standard directory then you need to add that directory to your path. If you're using the bash shell then add export PATH="$PATH:/install/directory" to ~/.profile. If you're using csh then also add setenv PATH "$PATH:/install/directory" to your ~/.cshrc. For example, I use csh so I add setenv PATH "$PATH:/data/usr/local/texlive/2011/bin/x86_64-linux" to my ~/.cshrc AND I also add export PATH=$PATH:/data/usr/local/texlive/2011/bin/x86_64-linux to my ~/.profile file. If I modify ~/.cshrc only then starting Lyx using the ALT-F2 does not load with the correct path settings (the path in which I installed TeX Live 2011 and the path with the latest version of Lyx must come before the other path variables).

    Install GNU aspell

    If you have root permissions then just do sudo apt-get install libaspell-dev. If you do not have root permissions then:

    1. Download source from
    2. ./configure --prefix=/homes/dk3810/binaries && make -j9 && make install

    Install Lyx 2.0.2

    Now download and install the latest version of Lyx.

    1. I have to install the binaries to a directory within my home directory because I do not have write access to /usr/bin so I run:./configure --prefix=/homes/dk3810/binaries --with-extra-prefix=/homes/dk3810/binaries
    2. make -j8 (replace "8" with the number of CPU cores available)
    3. make install
    4. If you installed in a non-standard directory then add that directory to your path.

    Install Zotero

    Download and install from Zotero's download page. I'm using 3.0 beta.

    Install MetaUML

    (after installing TeXlive 2011)
    In the install file, change the directory TEXMF_HOME=/usr/share/texmf to /usr/share/texmf-texlive (or whatever your TeX Live install directory is).


    Lyx configuration

    • Document > Settings:
      • Bibliography
        • Processor: bibtex8 (see Lyx manual sec 6.5)
      • PDF Properties
        • Enable “Use hyperref support”
        • Add a title and Author
        • In the “Hyperlinks” tab:
          • check “no frames around links”
          • check “color links”
          • enter urlcolor=BlueViolet, citecolor=CadetBlue,linkcolor=black into Additional Options
      • If using Document Class “book (KOMA-Script) then add ,usenames,dvipsnames (with the leading comma) to “Document Class > Class options: custom” else add \usepackage[usenames,dvipsnames]{color} to LateX Preamble. See LaTeX WikiBook for more info on hyperlinks and colours.
      • Listings > add commentstyle={\color{blue}} (or DarkOrchid) into the bottom box
      • Page Layout > A4
      • Language
        • English UK
        • Encoding > “Unicode (utf8)”
      • Output > Default Output Format > PDF (pdflatex)
    • Tools > Preferences:
      • Output > Default Paper Size A4
      • Output > LaTeX > Uncheck “User LaTeX font encoding”
      • Editing > Shortcuts:
        • Change bind file to emacs
        • Search for "view". Modify buffer-view ps. Delete the ps so the command is buffer-view and change the key binding to Ctrl+Shift+X C.
        • Search for "update". Modify buffer-update ps. Delete the ps so the command is buffer-update and change the key binding to Ctrl+X C.
        • Search for "buffer-write" (the command to save). Change keybinding to Ctrl+X S
    • Tell Lyx to pass the -shell-escape parameter to pdflatex. Go to Tools > Preferences > File Handling. Select "LaTeX (pdflatex) -> PDF (pdflatex)". Modify the "Converted:" field so it reads: pdflatex -shell-escape $$i . Click "Modify" and "Save". this forum thread gives more details.

    LaTeX preamble:

    % for dot2tex
    % For MetaUML:
    % The following is needed in order to make the code compatible
    % with both latex /dvips and pdflatex.

    Zotero configuration

    Preferences > Export > check “display character encoding on export” and select “UTF8” in the drop -down list.

    To enable URLs in references

    Download and install urlbst. Then:

    cp urlbst ~/binaries/bin
    cp *.bst /data/usr/local/texlive/texmf-local/bibtex/bst/local/

    (you'll have to use the correct directories for your setup).

    To stop duplicated URLs in bibliography

    Edit /home/USER/.mozilla/firefox/HEX.default/zotero/translators/BibTeX.js
    Comment out this code around line 2099:

    if(item.itemType == "webpage") {
    writeField("howpublished", item.url);

    To change the colour of the links (not requried if using Lyx)

    \usepackage{hyperref} % required to get URLs into references



    1. Export your bibliography from Zotero with Actions > Export Library > Format=BibTeX (do not export files). Save to file
    2. In Lyx: Insert > List/TOC > BibTeX Bibliography. Press "Add..." and then "Browse" and select your .bib database file.
    3. Now add individual references to your text with Insert > Citation.
  • Add new comment