A set of scripts to semi-automatically generate workshop proceedings for CEUR-WS.org
XSLT Makefile Shell Perl TeX
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



A free set of scripts to semi-automatically generate open access workshop proceedings for [CEUR-WS.org] 1, with special support for proceedings exported from [EasyChair] 2.

Key Advantages

  • facilitates the generation of CEUR-WS.org workshop proceedings volumes
    • … particularly so for workshops using the EasyChair submission system
  • enriches your CEUR-WS.org volume, as an extra feature over the standard template, with RDFa annotations to improve the visibility of your workshop to semantic search engines


  • From a special table of contents file, generate
    • [a CEUR-WS.org compliant index.html file] 3 with additional RDFa annotations
    • [a CEUR-WS.org compliant copyright form] 4
    • a LaTeX table of contents that helps you generate an all-in-one PDF version of the proceedings (which you can, e.g., print, but which should not be uploaded to CEUR-WS.org)
    • a BibTeX database to make your proceedings citable
  • Optionally generate this table of contents from [EasyChair] 2 proceedings


CEUR-WS.org may revise their [submission rules] 6 and their requirements for [index.html] 3 files, [copyright forms] 4, etc., at any time. You are responsible for checking whether CEUR-WS.org have released new versions of these (concretely: if the CEURVERSION in the source of the [index.html] 3 template is the same as the one in the source of toc2ceurindex.xsl). The ceur-make developers welcome any [bug reports] 5 related to this. If you manually edit the output generated by ceur-make, you will be doing so entirely at your own risk. In particular, take care not to break any CEUR... annotations.

Use ceur-make at your own risk. At the time of this writing, the documentation (both in this README file and in the sources) is not yet complete, but we will be working on this.


  • GNU make (any recent version should be sufficient)
  • GNU bash (any recent version should be sufficient)
  • Saxon-HE 9 (other XSLT 2 processors might work as well, but the Makefile currently assumes Saxon, and ceur-make has been tested with Saxon-HE 9.5)
    • Java Runtime Environment (JRE, for Saxon)
  • Optional:
    • Perl 5 (for processing EasyChair proceedings; any recent version should be sufficient)
    • TeX (for generating an all-in-one proceedings file; any recent version should be sufficient; tested with TeX Live 2012)

On a recent Linux all of these components (except maybe Saxon) should be installable via the central package manager, if they are not yet installed anyway. On Mac OS, most components should be installable via MacPorts or Fink, on Windows via Cygwin. For Saxon, it suffices to download its distribution for Java, and to unzip the saxon9he.jar file from the ZIP file, and to put it into some user directory.

ceur-make has so far been tested on Linux and Windows (using Cygwin); [reports] 5 from users of other systems are welcome.

How to use

Getting started

To get started, you need to copy the ceur-make scripts into the directory in which you would like to keep your proceedings. You can do this by calling ./ceur-make-init path/to/your/directory from the directory where you installed ceur-make. Copy Makefile.vars.template to Makefile.vars and adapt the paths to point to the path of where you put Saxon, etc. (ceur-make-init doesn't do this automatically to prevent problems.)

Export from EasyChair (optional)

When you use [EasyChair] 2 and instruct it to create an LNCS proceedings volume, ceur-make can automatically generate the XML table of contents (toc.xml) from the EasyChair volume information. Note that, for the purpose of ceur-make, “LNCS” just means that EasyChair will provide the proceedings for download in a ZIP file with a certain structure. It doesn't mean that your proceedings will be published with Springer, nor that the papers have to be in the LNCS layout.

  1. When creating a proceedings menu in EasyChair, use “9999” for the volume number (as this is currently hard-coded in ceur-make).
  2. Download the final proceedings as a ZIP file and unzip it into a directory.
  3. Copy the ceur-make scripts into that directory, so that they become siblings of the 9999PPPP per-paper directories, the README file, etc.
  4. Generate toc.xml by make toc.xml and adapt it manually if needed; see below. (If make toc.xml doesn't do its job, try to enforce it with make -B toc.xml.)
    • related issues: #1

A note on LaTeX or Word sources vs. PDF versions of papers

Note that [publishing with CEUR-WS.org] 6 only requires PDF versions of papers but no sources. EasyChair, however, will force authors who contribute to an “LNCS” proceedings volume to upload the ZIPped LaTeX sources or the Word source of their papers. If the actual sources of the papers are not relevant to your workflow (ceur-make does not require them in any case!), you can ask your authors to upload a dummy ZIP or a dummy Word file.

Manually writing or adapting toc.xml

When you do not generate toc.xml from [EasyChair] 2, as explained above, you will have to write it manually, following the example.

If it has been generated from EasyChair, the following special situtations may require manual adaptation of toc.xml.


EasyChair does not support workshops having multiple sessions. If your workshop has multiple sessions, you need to insert them manually into toc.xml; see the example file.

Page numbers

Page numbers are an optional feature, but make toc.xml generates page number information from the EasyChair metadata.

If you do not wish to use page numbers, please remove all pages entries from toc.xml.

If you wish to use page numbers and would also like to generate an all-in-one PDF, e.g., for distribution during your workshop, please make sure you adapt the pages entries to match the all-in-one PDF. They will have to be shifted as soon as the all-in-one PDF includes material before the papers, such as a preface, and if this material uses the same counter as the papers' pages, e.g. if the preface doesn't use Roman numerals.

Generating CEUR-WS.org proceedings

To get started with this, you need a toc.xml file (see this example), which you can either write manually, or have generated from an EasyChair archive (see above). Additionally, you need to write workshop.xml (see this example) manually.

From these files, you can generate the following building blocks of a CEUR-WS.org proceedings volume.

  • [the index.html file] 3 (via make, or specifically make ceur-ws/index.html)
  • [the copyright form] 4 (via make, or specifically make copyright-form.txt)
  • a LaTeX table of contents to help with generating an all-in-one PDF version of the proceedings (via make, or specifically make toc.tex). The all-in-one PDF is assumed to have the name proc.pdf.
  • a BibTeX database (via make, or specifically make ceur-ws/temp.bib). This file will need manual post-processing; please read on below.
  • a ZIP archive for upload to CEUR-WS.org (via make zip)

Manually adapting index.html

Some features of the [a CEUR-WS.org index.html template] 3 are not yet supported by ceur-make and will require manual adaptation. This includes the distinction between regular papers and “AUX” papers, which are not to be indexed in publication databases.

“Joint volume” proceedings comprising papers from multiple workshops also require manual work. See Vol-1010 as an example for such a volume; however be aware that the [index.html template] 3 has changed meanwhile, i.e. you should not literally copy source code from old tables of content.

If your editors have FOAF profiles, please consider manually adding resource="foaf-profile" in addition to href="homepage" for each editor.

If your authors have FOAF profiles, manually add resource="foaf-profile" to each outer <span rel="dcterms:creator">; otherwise, if they have homepages and you want to link to them, manually add rel="foaf:homepage" resource="homepage" to each inner <span property="foaf:name">.

Manually adapting the BibTeX database

The BibTeX database, generated as ceur-ws/temp.bib may work out of the box with BibLaTeX and Biber but usually requires manual revision, as ceur-make does not handle persons' names as intelligently as BibTeX, and as bibtex does not support Unicode names and identifiers.

For these reasons we force you to manually inspect and revise ceur-ws/temp.bib and copy it to ceur-ws/yourworkshopYYYY.bib (according to the settings in workshop.xml); ceur-ws/temp.bib is not included in the ZIP archive for upload to CEUR-WS.org.

While you are working on ceur-ws/temp.bib, you can test it with make bibtest.pdf (which currently assumes plain old BibTeX, not Biber).



This code is licensed under GPL version 3 or any later version.