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. CollateX (1.7.1 or later) Download here. Example: collatex-tools-1.7.1.jar

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

  3. 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

collatex-tools/1.7.1/collatex-tools-1.7.1.jar
generate.sh
merger.py

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

sh generate.sh projectName
  • Creates missing directories under input/ and output/.
  • Generates outputs in all available transliteration schemes.
  • Input witness files must exist prior to running.

Output

For each project:

  • projectName.md, projectName.pdf, projectName.tex, projectName.htmloutput/projectName/devanagari/

  • Corresponding outputs in other transliterations: → output/projectName/iast/ and output/projectName/slp1/


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).


Checking your installation

The github repository has a test data in input/test/devanagari/ directory.

It carries three witnesses of a manuscript.

Run the following from your commandline sh generate.sh test.

If everything goes as expected, you should see the output in output/test directory.

If there is any error logged, make sure you have installed the necessary dependencies and have the collatex-tools/1.7.1/collatex-tools-1.7.1.jar file at the correct location.

Example output

image

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.1.1.tar.gz (16.0 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.1.1-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: collatex_critical-0.1.1.tar.gz
  • Upload date:
  • Size: 16.0 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.1.1.tar.gz
Algorithm Hash digest
SHA256 2aa1d863bf9dfd520221faf6c60ba0eaed305dcdc73ac73472faf8fc6b048f9a
MD5 587f345fe58dd8d491b9e53e2ae591fc
BLAKE2b-256 57693e90ebd3abff1425bd717200b67ad104e5c4d391d3331cf22d9afe9e5916

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for collatex_critical-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fe3da52f73b3bc4254d93839da55dc85215a1e6a1f581f0373be7b5044e4fc5b
MD5 a029cb2e59292522c967c5ba41018e54
BLAKE2b-256 046a1dcde6bed78692b5fa7fce320bf60d438d7861f7502f317bf7bdca4af016

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