Tag Archives: latex

publication list bibtex style (bst)

I needed to create a publication list for my dissertation. I wanted it to include the abstracts and be sorted descendant by publication date.

There is already an abstract.bst file that outputs the bibliography items with abstract, but it sort them by author. So that messed up my file, because I wasn’t the first author in all these publications. There is also a plainyr-rev.bst that sort the bibitems by year. So I combined them both to have a descendant-by-year-abstract-included output. This is the Bibtex Style File for Publication Lists with Abstract (descYrWithAbst.bst).

I use BibDesk to mantain my bibtex database. I created a Smart group that contains all the entries where I am an author. I have the tex view in the bottom panel, and in the BibDesk’s Preferences, I modify the Tex template like this:

\usepackage{url, gensymb} % include packages according to your needs
\title{Publication List}
\author{Juli\'an Villegas}

This method is convenient because it can be used to generate an well-formed HTML file without all the curly braces and such those the BibDesk includes. I’m using SimpleTeX4ht to generate the HTML file. The ‘Publications‘ page of this website was generated that way.

Hope it helps!

How to have the next slide in a second screen in PDF presentations

I do my presentations in latex – beamer, and something that I miss from other software applications is to see the upcoming slide in the notes screen, so I can prepare my speech and make the transitions between slides smoother.

Although I usually use pstricks, and typeset everything with Tex + Ghostscript, for this presentation I’m going to use pdftex so I can include pdf as graphics.

Here is what I did, and you might find it useful too, tweak it as needed:

Compile your presentation without notes first, and include an extra slide (empty if you like).

Save it with another name, e.g.: reference.pdf

Add this lines to your preamble:

\includegraphics[page=\value{pdfPage} , scale=.4]{reference.pdf}

And these lines after your \begin{document}


Compile again your presentation WITH notes, and delete the extra slide you included in the first step.

Your next slide will appear in the bottom right of the notes screen.

You can use tdclock.sty (see more here) if you want to have a clock too, although in Mac, it doesn’t work with SplitShow.

You will need to add this line to the preamble:


this line to your first slide:


and this line to your \AtBeginNote{} section


Using Apple remote control with PDF presentations

I do all my presentations in Latex/Beamer and I wanted to control my presentation with the remote control of my MacBook. Apple support already Keynote, and there are applications for Microsoft PowerPoint. So, frustrated by that, I did it myself and here it is for you to use it freely:

  1. Get and install iRed Lite from http://www.filewell.com/iRedLite/
  2. Download the iRed layer I created (AcrobatReader.irla) from here: acrobatreader.

If you have problems downloading the irla file, try this acrobateraderirla.zip version

This is the button / action pairs:

  • Play/Stop: Enter in Full Screen Mode
  • |<< : Backward one slide
  • >>|: Forward one slide
  • double |<<: First slide
  • double >>|: Last slide
  • +: Last Link/ Field/ Comment
  • -: Next Link/Field/Comment

This setup works for me, however, if you don’t like it, you can easily edit it using the iRed Lite – Editor. The truth is that it’s very simple.

Let me know if you find this helpful.


Acrobat Reader layer for iRed Lite
    Copyright (C) 2008  Julian Villegas

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>

Lilypond, Latex and Texshop in Mac X 10.5

Supposing that you have a running version of Texshop, these are the steps you could follow to have lilypond and latex running in Texshop:

  1. Download and install lilypond (2.12.2) from http://lilypond.org/web/install/
  2. Download Nicola’s Lilypond – Latex engine for Texshop.
  3. Follow the instructions in the just downloaded script (basically, install the script at ~/Library/TexShop/Engines and give it execution permission).
  4. Edit this file so it looks like:
    # Create directory to put all temporary stuff
    mkdir -p “$1:r”-out/
    # Copy local style files, if any, where latex will be able to find them
    rm “$1:r”-out/*
    cp *.sty “$1:r”-out
    cp *.bbl “$1:r”-out
    cp *.aux “$1:r”-out
    cp *.cls “$1:r”-out
    if ({ lilypond-book –output=”$1:r”-out “$1″ }) then
    cd “$1:r”-out
    if ({ latex “$1″ }) then
    if ({ dvips -o -Ppdf -R0 “$1:r”.dvi }) then
    if ({ ps2pdf “$1:r”.ps }) then
    mv “$1:r”.pdf ..
    mv “$1:r”.aux ..

the rm command prevents lilypond to complain because it cannot overwrite files and keeps the size of the output directory small (Every time you compile something, new temporal files are created increasing the size of the directory unnecessarily). The ‘mv “$1:r”.aux’ keeps updated your references database, so you don’t get “Fig.??” or “Table ??”.

Also is a good idea to put something like


in the preamble to reflect the directory where your graphics are.

I find that when I’m working with Latex / Lilypond, the output is too slow sometimes, so my file looks something like this:
\setboolean{withLily}{true} % change to false if not working with Lilypond
\ifthenelse {\boolean{withLily}}
{} % The else statement.

And whenever I’m going to use lilypond, I embed it in the same conditional (The else statement, even if empty is important to keep).

If I’m only producing the text and reviewing the results, I use Latex as usual turning the variable false. The speed of the compilation is much faster that way.