Generating the proceedings
- Request DOI prefix from GI
- Setup a new git repository based on the LNI-proceedings repoository by following https://github.com/gi-ev/LNI-proceedings/generate.
- Get the cover page ready. The template is available at https://gi.de/fileadmin/GI/Hauptseite/Service/Publikationen/LNI/LNI-Cover-Vorlage.ppt. This preparation provides you the necessary information for the next step. You also need to submit the cover to the GI and to the printing service.
- Adapt
config.texto your conference. Here, you also set the DOI prefix used for generating a unique DOI for each paper. - Check that
LNI-Startseiten.docxis the latest version retrieved from https://gi.de/fileadmin/GI/Hauptseite/Service/Publikationen/LNI/LNI-Startseiten.docx. - Adapt
LNI-Startseiten.docxto your conference. - Convert
LNI-Startseiten.docxtoLNI-Startseiten.pdfusing Microsoft Word. - Create all paper folders using a naming scheme:
[Category][NumberOfSubcategory]-[NumberWithinSession]. See also Directory scheme. - Collect all papers. Place the source and the pdf within each paper’s folder. For instance, the first paper goes into
papers/A1-1/. - Rename all papers to
paper.{pdf,tex,docx}. To do this, open a CMD,cd papersand runpapers_rename.cmd. This should rename all.tex,.pdf, and.docxfiles topaper.tex,paper.pdf, andpaper.docxrespectively. The paper directories should only contain one file of this file extension. - To extract author and title information from Microsoft Word docx files, run
add_tex_via_docx.cmdin thepapersdirectory. On Linux, you can runadd_tex_via_docx.sh. Make sure you installed python-docx as described in system setup. Theadd_tex_via_docx.cmdscript will create minimal paper.tex files (title and author only) for each paper.docx, which can be processed by the following scripts. - Check for all
paper.texthat all authors are the format\author[Firstname Lastname \and ...]{...} - Copy the author information from each
paper.texintoproceedings.tex:- Open a git bash
- cd into
papers - During fixup phase, run (on linux, because of expansion)
python ../addAuthTi.py ../proceedings.template.tex ../proceedings.tex */paper.tex. Theproceedings.texcreated by this script uses build ids as workshop titles which makes it easier to identify the specific papers causing issues. - To override the extraction of author and title for a specific paper, just put a the desired
\addpaperstatement into thepaper.texof that paper. Prefix it with%to ensure the normal latex run on that paper does not cause issues. - For final proceedings, fill the workshop table in
addAuthTiProduction.pyand runpython ../addAuthTiProduction.py ../proceedings.template.tex ../proceedings.tex */paper.tex. This will create aproceedings.texwith the real workshop titles instead of build ids.
- Fix spaces before
\andinproceedings.tex: ReplaceSPACE\andby\and, whereSPACEdenotes the white space character. Reason:\unskipdoes nothing at\texorpdfstringin combination with hyperref - Execute
lualatex -synctex=1 proceedings.texto see whetherlualatexgets through. proceedings.tex: Adaptpages=x-y(and possibly\pdfbookmark) at\includepdf[pagecommand={\thispagestyle{empty}},pages=5-5]{LNI-Startseiten.pdf}and subsequent\includepdfstatements to match the page numbers of your foreword and sponsoring.- Check
proceedings.pdfwhether all fonts are embedded. In case some fonts are not embedded, follow folling steps:- go to the folder of the paper
- locate the PDF containing the picture
- embed the font using Acrobat Professional’s preflight functionality
- Recompile the paper (
lualatex paper, …) - Recompile the proceedings (
lualatex -synctex=1 proceedings)
- Do the usual
lualatex,biblatex,texindyruns. All these steps are automatically done bymake-proceedingsor bylatexmk proceedings.- Linux: Execute
latexmk proceedings(ormake-proceeding.sh) to execute all required steps - Windows: Execute
latexmk proceedings(ormake-proceedings.bat) to execute all required steps
- Linux: Execute
- Check proceedings and make necessary adaptions. During the fixup phase, you can run
lualatex -synctex=1 proceedingsto quickly build the proceedings. Nevertheless, runlatexmk proceedings(ormake-proceedings.bat) every now and then to ensure a correctly generated index. - Compile the final proceedings
- Linux: Execute
latexmk proceedings(ormake-proceeding.sh) to execute all required steps - Windows: Execute
latexmk proceedings(ormake-proceedings.bat) to execute all required steps
- Linux: Execute
- Shrink the size of the final pdf:
- Rename
proceedings.pdftoproceedings-large.pdf - Execute
cpdfsqueezefor a lossless pdf compression:docker run -it --rm -v c:\git-repositories\LNI-proceedings:/workdir koppor/cpdfsqueeze cpdfsqueeze proceedings-large.pdf proceedings.pdf
- Alternative: Lossy compression using ghostscript (based on Alfred Klomp’s shrink.sh)
- The current drawback is that the PDF bookmarks are not shown and the initial view is not the page view, but fit page width.
- Execute
./shrinkpdf.sh proceedings-large.pdf proceedings.pdf - When using git bash (and MiKTeX), modify
shrinkpdf.shto callmgsinstead ofgs. - In case you have trouble with rotating pages, try
//Noneinstead of/None.
- Rename
proceedings.pdf is now ready to be sent to the printing service. See below.
The automated steps of this workflow are stated at .github/workflows/build.yml.
Generated files
During the process, following files are generated:
proceedings.pdf- It is not recommended to version this file during the process of proceedings generation, because it gets very large.
- The page size of this file is already the final page size of both the printed and the electronic proceedings. Delivering this format is agreed with the publisher.
proceedings.bib- BibTeX bibliography of the proceedings. Ensure that you runmakeproceedings.shso that\textunderscoreis correctly replaced by_.proceedings.csv- CSV containing some information on the proceedings. Ensure that you runmakeproceedings.shso that there is no space before each;anymore.papers.txt- list of paper id and starting page.
Directory scheme
Naming scheme: [Category][NumberOfSubcategory]-[NumberWithinSession].
Paper name always: paper.tex
The following list may be generated out of an Excel file or something else. Otherwise, just create the folders and adapt proceedings.tex accordingly.
A = Eingeladene Vorträge
A1-1 = Erster eingeladener Vortrag
B = Scientific Program (nach Themen gegliedert, Kapitel)
B1 = Topic 1
B1-1 = Talk 1