Latex Template For Conference Program
I'd like to prepare a book of abstracts of a scientific conference. I expect to receive about 650 articles. Suppose the articles are all the same document class and all have the following structure (feel free to change its structure):
This is an example of a very, very basic conference abstract booklet, with an author index. Each abstract can have an optional text that will be displayed in.
I want to extract the title, author, university, and the abstract of articles and put each two of them on the same page in my 'Book of Abstracts' as follows:
Due to the large number of articles I want to automatically do this. Is there a package or template to do this?
Please keep in mind that I've searched this site very well and I didn't find an automatic way.
Edit
Please assume that 'Call for Papers' will be about next month, so we can still change the source code above if it helps find a better solution.
8 Answers
This is just the solution proposed by wipet in mode batch. All you need is to put this .bat in the same directory of articles and run it (clic twice) you'll get abstract.tex and abstract.pdftest with 651 .tex files
touhamitouhamiYou can try this:
If you don't want to write 169times the input article<number>
you can use loop
. For example:
I've written a short pythontex
solution:
Place all .tex-files in folder abstracts
(or simply change the path) and run:
You really have to pay attention to the indents. The following commands can't be nested:
Otherwise, they appear twice.
You can customize everything in LaTeX or add some additional stuff with the python print-function.
SLx64SLx64I was threatened in the chatroom for writing an answer, so here it is. :)
Personally, I think there cannot be an automatic solution in the sense of working without a minimal effort on complying with a couple of rules. That said, I decided to take the scripting path and provide a very simple yet powerful solution to this question.
First things first: I admit a paper containing at least something along these lines:
I could use regular expressions in order to extract these fields, but I decided to implement my own finite state machine with a few tricks under the sleeve: a very simple counting mechanism in order to detect a straightforward syntactic nesting and avoid premature symbol extraction. Of course, the script is hardcoded, but that's the price when you want things that work. :)
Without further ado, here's the Python script. Hopefully the Python enthusiasts won't kill me for being excessively verbose, but that's just the way I like to code. :)
In case you are lost, these are FSM's. Of course, the solution is trivial, but I wouldn't even think of expanding the idea of using them beyond this simple case study, since TeX is not even context free. But that's another story.
Now let's say I have two papers as follows, following the very same structure:
Proxima nova regular font free download ttf. Additionally, there is support for the OpenType format.The headset consists of 3 lines.
article1.tex
article2.tex
Conference Poster Latex Template
Output of both, as one would expect. :)
article1.pdf
article2.tex
Now let's use the script. First of all, we need to create a template using the Cheetah language description. Simply put, we will use a for
loop where we iterate through all dictionaries in the data
array. Note that $
is used as a placeholder and not as math mode, as we are used in TeX. Don't worry with them, they'll be gone once we merge everything. :)
Since we are dealing with a dictionary, we access values from its keys, so $article['title']
will return the title of that article. :)
Here's our template:
We can run the Python script providing the following parameters:
--path/-p <full path + file patterns>
: the script will read all files in the provided path matching the file pattern. For example,/home/paulo/papers/*.tex
will extract info from all.tex
files in thepapers
folder under my home directory.--template/-t <full template path>
: the template to be populated with data extracted from files in the previous option. For example,/home/paulo/template.tex
.--output/-o <full output path>
: the output file with all data merged into the template. For example,/home/paulo/abstracts.tex
.
Let's run:
And that's it. This is the generated file:
And this is the output:
Hope it helps. :)
My solution - is to use pdfpages
package.
Main idea is:
1) creation of separate abstracts by scheme .tex
to pdf
(without headers and footers). TeX
code of the abstract should write information about article (title, author or some other) into the .dat
file.For more detail look here
2) Create .tex
-combine, which will collect the abstracts in book of abstracts with pdfpages
package, add a headers and footers to the pdf
pages and create table of contents (using created before .dat
-file). For more detail look here.
Code for inserting pdf pages:
Using this macro in .tex
-combine:
Around year 2000, I actually faced a similar challenge: I had to create an annual consortium report from individually supplied papers. I wrote my own class to do this but it was essentially based on the 'combine' package as mentioned by Uwe Ziegenhagen in a comment above (as it is an actual solution, it deserves more than a comment). I don't know whether the package is still maintained nowadays but it certainly did the job at the time. Although I have left the consortium in 2004, my work is still used today. An example of a consortium report can be found here. You can easily identify the individual papers. The combine package does not just combine abstracts, it can combine entire papers. But you can simply create an own little class that takes care of the abstracts only if necessary. I suggest you read the documentation and have a go. If you need any help, let me know. Creation of the master tex file (that in your case includes all the individual 650 papers/abstracts) can be automated with a little script.
Ieee Conference Latex Template
this .bat does the job
where mtt.ext is
all in one .bat
it make 1min37s for 181 files:
touhamitouhamiI recently had to face the same challenge in order to organize a physics workshop. A set of python tool has been developed to compile directly the booklet from a database provided by a google webform to collect the abstract information. The source code is available in github:https://github.com/olivier-klein/booklet