SALT LIGHT Download & Installation

SALT LIGHT Download & Installation


Download links:The installation is straightforward: download, unzip and use. Since SALT is a Java application, there are a couple of remarks to be mentioned:
  • Due to the normal libraries dependencies, in order to use SALT on your LaTeX files, you will have to put them, together with their own dependencies (i.e. style files, images, etc), in the SALT folder.
  • To overcome the above-mentioned procedure, there are a couple of tricks that could be done:
    • In Linux: you need to add the SALT folder, its libraries and its dependencies to the CLASSPATH and PATH environments variables, either in your .bash_profile file in your home folder or in the general profile file in etc. Something like the following should do the job:
      export SALT_HOME=/home/**myhome**/salt
      export SALT_LIB=/home/**myhome**/salt/lib 

      PATH=$PATH:$SALT_LIB:$SALT_HOME
      CLASSPATH=$CLASSPATH:$SALT_HOME:$SALT_LIB 

      for f in $SALT_LIB/*
      do export CLASSPATH="$f":"$CLASSPATH"
      done 

      export PATH
      export CLASSPATH
    • In Windows: Well, for now we don't really have a solution, but we're working on it. Most probably the upcoming Windows installer for SALT will solve this issue.

Configuration

In the res folder of the SALT installation there is a file called salt.properties. It contains the following configuration parameters for SALT:
  • Pdflatex_path == The path to the PDFLatex compiler. Example: Pdflatex_path=/usr/bin
  • Bibtex_path == The path to the BibTeX compiler. Example: Bibtex_path=/usr/bin
  • Pdflatex_name == The actual file name of the PDFLatex compiler. Example: Pdflatex_name=pdflatex
  • Bibtex_name == The actual file name of the BibTeX compiler. Example: Bibtex_name=bibtex
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, 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 Documentation.

Parameters:
  • -input ** LaTeX file ** (mandatory) == Gives SALT the main LaTeX file to be analyzed. This file has to be the root of the document. Example: -input eswc2008.tex
  • -output ** PDF file ** == By default SALT tries to compile the given input file using PDFLatex and BibTex compilers provided in the properties file. Unless specified a particular name for the PDF output this will remain as resulted from the compilation process. By specifying this parameter, SALT will rename the PDF output to the given file name. Example: -output paper.pdf
  • -nocompile ** PDF file ** == If there is no need to compile the document, or you use an intermediate DVI compilation (which cannot be achieved via PDFLatex), use this parameter to point SALT to the PDF output to be considered for annotation. The given input will still be parsed and analyzed, but there will be no compilation. Also, if provided an output file name (via the -output parameter), this will be disregarded. Example: -nocompile eswc2008.pdf
  • -style acm | lncs == As mentioned in Configuration, 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, either 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.
  • -visual == This parameter will result in visual annotations of the marked rhetorical elements being present in the final PDF file.
  • -xmp == In order to provide compatibility with the XMP schema used by Adobe Acrobat, by using this flag, SALT will generate a short compatible version of the metadata following the above mentioned schema. The original SALT metadata will still be present in the final PDF file.
Examples:
  • ./salt.sh -input eswc2008.tex == Output: eswc2008.pdf, annotated, compiled by SALT using PDFLatex, no shallow metadata, no visual annotations.
  • ./salt.sh -input eswc2008.tex -output salt.pdf -style lncs == Output: salt.pdf, annotated, compiled by SALT using PDFLatex, shallow metadata (if the style is lncs, as specified), no visual annotations.
  • ./salt.sh -input eswc2008.tex -output salt.pdf -style lncs -visual == Output: salt.pdf, annotated, compiled by SALT using PDFLatex, shallow metadata (if the style is lncs, as specified), visual annotations in the PDF document
  • ./salt.sh -input eswc2008.tex -nocompile eswc2008.pdf -visual == Output: the existing eswc2008.pdf, annotated, no compilation, no metadata, visual annotations in the PDF document
  • ./salt.sh -input eswc2008.tex -nocompile eswc2008.pdf -style lncs -dirty == Output: eswc2008.rdf containing the SALT metadata, the existing eswc2008.pdf, annotated, no compilation, shallow metadata (if the style is lncs, as specified), no visual annotations

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!

salt full

Unfortunately the SALT Full package, although ready, is still unstable and therefore we decided to first make it stable and then release it for download. When finalized, it will be uploaded here.