Download
Dependencies
In order to run
SALT one needs the
Java SDK / RE (at least version
1.6). Besides this, it depends on the packages listed below. We would like to thank the people developing these packages. Without them, the development of SALT would have been much harder to accomplish. For the ease of use and installation, the SALT distribution bundle contains all these dependencies, including their licenses.
Download & Installation
Download links:
The installation is straightforward: download, unzip and use.
Configuration
The parsing of the shallow metadata (author names, affiliations, etc) is treated in a special way in SALT. Due to the existence of a multitude of possible styles in LaTeX we cannot anticipate which of them will be used in a particular setting. At the same time, there is no possible way to create a general parser. Therefore, we went for an open, yet pluggable approach. Each style to be parsed has to have a specialized parser attached. This means that one has to implement a certain interface (more documentation still to come) and provide the bytecode at runtime to be used by SALT.
In the configuration file (
salt.properties in the
res folder), one can add any style, once the parser is implemeted. The rule for adding a style is:
STYLE_NAME + _style (see examples below). At rutime, SALT analyzes the properties file and if given a certain style to be used, instantiates the respective parser. The style to be used can be provided via the
-style STYLE_NAME parameter (see Usage). As observed, the STYLE_NAME given in the properties file has to be used also as a pointer for parsing the shallow metadata. If the rule is not respected, SALT will not parse the shallow metadata.
Examples:
- ACM_style=ie.deri.sw.smile.salt.parser.authors.acm.ACMParser
- LNCS_style=ie.deri.sw.smile.salt.parser.authors.lncs.LNCSParser
Usage
Here, we will give an overview of the parameters that the program takes and their role. For understanding how to use the annotations and the style file, please consult the
Syntax guide.
Parameters:
- -source ** LaTeX file ** (mandatory) == Provides SALT with the main LaTeX file to be analyzed. This file has to be the root of the document. Example: -source iswc2010.tex
- -pdf ** PDF file ** (mandatory) == Provides SALT with the PDF output corresponding to the LaTeX sources, to be considered when aligning the SALT annotations to the clean textual content. At the end of the process, this file will have embedded (as an attachment) the SALT metadata. Example: -pdf iswc2010.pdf
- -style acm | lncs == As mentioned above, by default SALT does not parse the shallow metadata (i.e. authors, affiliations, etc) of the given document. But, currently, it does include in the package, parsers for the ACM and Springer LNCS styles. So, in order to let SALT know which parser to use for the shallow metadata, provide this parameter with one of the two options: acm or lncs. In the near future more parsers will be developed. Example: -style lncs
- -properties ** SALT properties file ** == By default, SALT tries to find its configuration file either based on the PATH environment variable, or in the local folder in the res subfolder. If you want to use a specific configuration file, which is in a different place than the ones already mentioned, provide this parameter together with the entire path of the desired configuration file. Example: -properties /usr/local/temp/another_salt.properties
- -dirty == This parameter will make SALT dump the generated metadata in a separate RDF file.
Examples:
- ./salt.sh -source iswc2010.tex -pdf iswc2010.pdf == Output: iswc2010.pdf, annotated, without shallow metadata.
- ./salt.sh -source iswc2010.tex -pdf iswc2010.pdf -style lncs == Output: iswc2010.pdf, annotated, including shallow metadata (if the style is lncs, as specified).
- ./salt.sh -source iswc2010.tex -pdf iswc2010.pdf -style lncs -dirty == Output: iswc2010.pdf.rdf containing the SALT metadata, the existing iswc2010.pdf, annotated, including shallow metadata (if the style is lncs, as specified).
Known issues
The only known issue in this moment is that sometimes the PDF text finder hangs due to certain pieces of text. There is no particular pattern (i.e. text length, composition, etc), it just happens. So if you see that the SALT process hangs, this is most likely to be the reason. Unfortunately, we don't know how to solve this, because we're depending on PDFBox' parsing capabilities. Therefore, if you do experience this issue, we apologize. Eventually you could send us an email with the text that caused the trouble and the PDF file.
Bugs, other issues, etc ...
If you find bugs, or other issues that we did not mention here, or simply, if you just found it useful or easy to use, please drop a line to
tudor.groza (at) deri.org. Thank you!