All Projects â†’ michel-kraemer â†’ citeproc-java

michel-kraemer / citeproc-java

Licence: Apache-2.0 License
📘 A Citation Style Language (CSL) processor for Java.

Programming Languages

java
68154 projects - #9 most used programming language
ANTLR
299 projects
groovy
2714 projects
Dockerfile
14818 projects



citeproc-java


citeproc-java is a Citation Style Language (CSL) processor for Java. It interprets CSL styles and generates citations and bibliographies.

Apache License, Version 2.0 Actions Status

Documentation

The full documentation is available at the project's website:
https://michel-kraemer.github.io/citeproc-java/

Notes on used components

citeproc-js

The library includes citeproc-js, a CSL processor written in JavaScript. citeproc-js has been created by Frank G. Bennett and is licensed under the Common Public Attribution License Version 1.0.

Name Parser

The BibTeX name parser's grammar is based on the one found in the bibtex-ruby. The original grammar is licensed under GPL v3. It has been converted to ANTLR and is released here under the Apache License 2.0 by permission of the original author Sylvester Keil.

BibTeX Converter

The BibTeX to CSL converter is based on the mapping used in Docear as presented by Joeran Beel.

Docear is released under the GPLv2 but its code may also be reused in projects licensed under Apache License 2.0. The mapping is released here under the Apache License 2.0 by permission of Joeran Beel, Docear.

Smart Quotes

The algorithm that produces typographically correct quotation marks and apostrophes is based on smartquotes.js written by Kelly Martin and released under the MIT license. The code has been translated to Java and improved to support more edge cases as well as multiple languages.

Alphanum Algorithm

citeproc-java is able to sort citations in a natural, language-sensitive way. The implementation of this behaviour is loosely based on the Alphanum algorithm by Dave Koelle and the Java implementation released under the MIT license. However, it has been extended to use a java.text.Collator for locale-sensitive comparison, and it is also able to compare arbitrarily large numbers.

Title case algorithm

The implementation of the algorithm that converts strings to title case is based on the JavaScript library to-title-case by David Gouch released under the MIT license. The code has been translated to Java and was slightly modified to produce strings that adhere to the CSL specification.

License

citeproc-java is licensed under the Apache License, Version 2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].