LNCS Volume Editor Tools ======================== A small set of tools that automate some of the more tedious parts of preparing an LNCS volume. The conventions enforced by `lncs` are intended to comply with the LNCS guidelines for volume editors. If you find an inconsistency between `lncs` and the LNCS guidelines, please [file a bug report](https://github.com/louismrose/lncs/issues). Installation ------------ You'll need to install Ruby 1.9 or later. I recommend doing so via [rvm](https://rvm.io). You can then install `lncs` via Ruby gems: `gem install lncs` Get started with the `lncs` executable: `lncs help` Recommended workflow -------------------- 1. Download the submissions for your volume 2. Setup a working directory > mkdir ecmfa2013 > cd ecmfa2013 > lncs init 3. Customise the manifest (e.g., set the path to the submissions, the volume number, ...) > vi manifest.json > cat manifest.json { "volume_number": 7949, "sources": "/Users/louis/Downloads/submissions", "sections": [ { "title": "Foundations", "papers": [7,11,14,18,20,24,35,46,63] }, { "title": "Applications", "papers": [2,6,22,29,58,68] } ] } 4. Unpack and inspect all of the submissions > lncs inspect > cd submissions > ls -R ./ecmfa2013_submission_07: 7 ./ecmfa2013_submission_07/7: paper7.tex paper7.pdf copyright.pdf ./ecmfa2013_submission_24: ECMFA2013-cameraready.pdf ECMFA2013-cameraready.docx copyright.pdf 5. Update the manifest with the paths to the PDF files of each paper > vi manifest.json > cat manifest.json { "volume_number": 7949, "sources": "/Users/louis/Downloads/submissions", "sections": [ { title: "Foundations", papers: [7,11,14,18,20,24,35,46,63] }, { title: "Applications", papers: [2,6,22,29,58,68] } ], "papers": { "7" : { "pdf": "7/paper.pdf" }, "24" : { "pdf": "ECMFA2013-cameraready.pdf" } } } 6. Check the status of the submissions > lncs report Foundations 007 -- 17pgs zip 011 -- 17pgs zip 014 -- 17pgs zip 018 -- 16pgs zip 020 -- 16pgs zip 024 -- 16pgs zip 035 -- 17pgs zip 046 -- 16pgs zip 063 -- 17pgs zip Applications 002 -- 13pgs zip 006 -- 13pgs zip 022 -- 13pgs zip 029 -- 13pgs zip 058 -- 13pgs zip 068 -- 11pgs zip If a submission exceeds your page limit, you may wish to contact the authors. If a submission is a PDF rather than a ZIP file, you may wish to do the same as you will need to send to Springer the sources and a signed copyright form for each submission. 7. Generate the set of directories required by Springer for the body of the proceedings > lncs body > ls body 79490001 79490020 79490054 79490086 79490119 79490152 79490178 79490204 79490003 79490037 79490070 79490102 79490135 79490165 79490191 79490217 > ls -R body/79490001 7 body/79490001/7: paper7.tex paper7.pdf copyright.pdf 8. Generate the title pages used to construct the table of contents and author index > lncs titles > ls titles 0001.tex 0020.tex 0054.tex 0086.tex 0119.tex 0152.tex 0178.tex 0204.tex index.tex 0003.tex 0037.tex 0070.tex 0102.tex 0135.tex 0165.tex 0191.tex 0217.tex 9. Run LaTeX to produce your PDF > latex2pdf main.tex > open main.pdf 10. Override any titles or names of authors (because, for example, `lncs` cannot extract title page information from MS Word source files). > vi manifest.json > cat manifest.json { "volume_number": 7949, "sources": "/Users/louis/Downloads/submissions", "sections": [ { title: "Foundations", papers: [7,11,14,18,20,24,35,46,63] }, { title: "Applications", papers: [2,6,22,29,58,68] } ], papers: { "7" : { pdf: "7/paper.pdf", title: "MOCQL: A Declarative Language for Ad-Hoc Model Querying", authors: ["Harald St\\\"orrle"] }, "24" : { pdf: "ECMFA2013-cameraready.pdf" } } } 11. Regenerate your titles and PDF. > lncs titles > latex2pdf main.tex > open main.pdf Contributing ------------ I'm afraid that this code is not well tested, factored or documented. It was quickly hacked together whilst in my first attempt to edit an LNCS volume. If I'm ever asked to edit a second volume, I plan to tidy up this gem and add a few more features. In the meantime, pull requests are very welcome. Todo list: * Better error reporting when the titles key is specified but not authors and vice versa