Skip to main content

Critical edition enhancements for CollateX with footnote apparatus and transliterations

Project description

collatex-critical

PyPI Python

collatex-critical helps scholars prepare critical editions from multiple textual witnesses, producing outputs suitable for publication.

Unlike python-collatex, which focuses on column-based difference visualization in XML, SVG, or HTML, collatex-critical produces Markdown, PDF, HTML, and LaTeX outputs where the majority reading appears in the main text, and variant readings are recorded in footnotes or endnotes.


Features

  • Multi-witness collation with clear footnote apparatus
  • Output in Markdown, PDF, HTML, and LaTeX
  • Supports multiple transliteration schemes: Devanagari, IAST, SLP1
  • Integrates seamlessly with CollateX
  • Designed specifically for critical editions and scholarly texts

Installation

From PyPI

pip install collatex-critical

From GitHub (development version)

pip install git+https://github.com/drdhaval2785/collatex-critical.git

Dependencies

  1. Java - Java Runtime Environment (JRE) version 8 or higher is needed to run Collatex jar file.

  2. CollateX (1.7.1 or later) Download here. Example: collatex-tools-1.7.1.jar

  3. Pandoc Install from https://pandoc.org/installing.html

  4. Indic Transliteration

    pip install indic-transliteration
    

    Provides indic_transliteration Python library and sanscript CLI tool.


Project Structure

input/projectName/devanagari
input/projectName/iast
input/projectName/slp1

output/projectName/devanagari
output/projectName/iast
output/projectName/slp1

Setting Up a Project

  1. Place witness texts in input/projectName/devanagari.

  2. Name witness files according to precedence:

    • Less than 10 witnesses: 1.txt, 2.txt, 3.txt
    • 10 or more witnesses: 01.txt, 02.txt, 03.txt
  3. File order indicates descending precedence (first file = highest authority).

  4. Make sure that collatex-tools/1.7.1/collatex-tools-1.7.1.jar is in the same folder as generate.sh file.


Running the Project

collatex-critical generate projectId

It generates output MD files for slp1, devanagari and iast transliteration.

  • projectName.md, projectName.pdf, projectName.tex, projectName.html are generated in output/projectName/devanagari/ and also similar files in iast and slp1 folders.

collatex-critical generate projectId -t telugu,tamil,slp1

comma separated transliteration schemes for specific transliterations. Supported ones are devanagari, telugu, tamil, kannada, bengali, gurmukhi, velthuis, wx, itrans, slp1, iast.


Collation Logic

  1. Majority Rule: Reading preferred by the majority appears in the main text; others appear in footnotes.
  2. Tie-Breaker: If no clear majority, the order of precedence determines the main reading (01.txt > 02.txt > …).

The choice of the most faithful witness is left to the editor’s discretion (e.g., oldest, most accurate, or scholarly judgment).


Example output

PDF

image

HTML

Screenshot_2025-09-27_12-12-57

Contributing

Contributions are welcome:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Commit your changes: git commit -m "Add feature"
  4. Push your branch: git push origin feature/my-feature
  5. Open a pull request

License

GNU GPL v3.0. See LICENSE for details.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collatex_critical-0.2.0.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

collatex_critical-0.2.0-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

Details for the file collatex_critical-0.2.0.tar.gz.

File metadata

  • Download URL: collatex_critical-0.2.0.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for collatex_critical-0.2.0.tar.gz
Algorithm Hash digest
SHA256 069914c9df64a38ebad332c11955e2b780fdce51e3560ac14fdfca197af8d8d1
MD5 28200909eb9c1a9da5825f4e85644dae
BLAKE2b-256 44d4dde6ba4359f162a4f05c02dd8ea1de74c51f75ccdb8a7e51e77c9a85063e

See more details on using hashes here.

File details

Details for the file collatex_critical-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for collatex_critical-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c51e1a981b477507905602f31b3c6e7e3b0c382adb401e14710e6ae347ab42fc
MD5 86abfc5824ddae68c4bcf6cc65da3c29
BLAKE2b-256 cee42e71524d46df0baa8eb39381031aa82a17e334e09b2219743b5b63d8b221

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page