spix


Namespix JSON
Version 1.4.0 PyPI version JSON
download
home_pagehttp://framagit.org/spalax/spix
SummaryYet another TeX compilation tool: simple, human readable, no option, no magic.
upload_time2023-10-07 10:31:07
maintainer
docs_urlNone
authorLouis Paternault
requires_python<4,>=3.7
licenseGPLv3 or any later version
keywords tex latex compilation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SpiX 🦜 Yet another TeX compilation tool: simple, human readable, no option, no magic

SpiX is [yet another compilation tool](https://www.ctan.org/topic/compilation) for ``.tex`` files. It aims at being simple and human readable. Every piece of configuration is written in the ``.tex`` file itself, in a clear format (a list of console commands).

## Why SpiX?

With SpiX, the compilation process of a ``.tex`` file (Is it compiled using latex? pdflatex? xelatex? lualatex? Should I process its bibliography? with bibtex or biber? Is there an index?) is written in the ``.tex`` file itself, in a human-readable format (a shell script). That way:

- when you want to compile two years later, you don't have to guess the compilation process;
- you can send the ``.tex`` file to someone, and that's it: no need to send detailed instructions or a Makefile along with it (everything is in the ``.tex`` file);
- the compilation process is human readable: it can be understood by anyone who is able to read a very basic shell script. In particular, one can read it even if she does not know SpiX.

### The ``.tex`` file

Write the compilation process of your ``.tex`` file as a shell script, before the preamble, as lines starting with ``%$``:

    % Compile this file twice with lualatex.
    %$ lualatex foo.tex
    %$ lualatex foo.tex
 
    \documentclass{article}
    \begin{document}
    Hello, world!
    \end{document}

You can also replace the file name with ``$texname``. That way, you don't have to worry about the file name when writing your commands.

    % Compile this file twice with lualatex.
    %$ lualatex $texname
    %$ lualatex $texname

### Compilation

To compile the ``.tex`` file, run SpiX:

    spix foo.tex

Spix will parse the ``.tex`` file, looking for shell snippets (lines before the preamble starting with ``%$``), and run them.

That's all!

## Documentation

The complete documentation is available on [readthedocs](http://spix.readthedocs.io).

To compile it from source, download and run:

    cd doc && make html

## What's new?

See [changelog](https://framagit.org/spalax/spix/blob/main/CHANGELOG.md).

## Download and install

* The preferred  way to get `SpiX` working is by using your distribution package manager. With Debian (and Ubuntu, and surely other distributions that inherit from Debian), it is in package [`texlive-extra-utils`](https://packages.debian.org/search?keywords=texlive-extra-utils) (since version 2020.20210202-3)::

    sudo apt install texlive-extra-utils

* Otherwise, you can install SpiX using pip:

    python3 -m pip install spix

* Other installation methods can be found in the [documentation](https://spix.readthedocs.io/en/latest/install/).

## License

*Copyright 2020-2023 Louis Paternault*

SpiX is licensed under the [Gnu GPL 3 license](https://www.gnu.org/licenses/gpl-3.0.html), or any later version.

            

Raw data

            {
    "_id": null,
    "home_page": "http://framagit.org/spalax/spix",
    "name": "spix",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "<4,>=3.7",
    "maintainer_email": "",
    "keywords": "tex latex compilation",
    "author": "Louis Paternault",
    "author_email": "spalax@gresille.org",
    "download_url": "https://files.pythonhosted.org/packages/79/97/4aeb6f2b40a2790a8b68b4383bcf3bd7eda2af94fa2a37885abfa193c002/spix-1.4.0.tar.gz",
    "platform": null,
    "description": "# SpiX \ud83e\udd9c Yet another TeX compilation tool: simple, human readable, no option, no magic\n\nSpiX is [yet another compilation tool](https://www.ctan.org/topic/compilation) for ``.tex`` files. It aims at being simple and human readable. Every piece of configuration is written in the ``.tex`` file itself, in a clear format (a list of console commands).\n\n## Why SpiX?\n\nWith SpiX, the compilation process of a ``.tex`` file (Is it compiled using latex? pdflatex? xelatex? lualatex? Should I process its bibliography? with bibtex or biber? Is there an index?) is written in the ``.tex`` file itself, in a human-readable format (a shell script). That way:\n\n- when you want to compile two years later, you don't have to guess the compilation process;\n- you can send the ``.tex`` file to someone, and that's it: no need to send detailed instructions or a Makefile along with it (everything is in the ``.tex`` file);\n- the compilation process is human readable: it can be understood by anyone who is able to read a very basic shell script. In particular, one can read it even if she does not know SpiX.\n\n### The ``.tex`` file\n\nWrite the compilation process of your ``.tex`` file as a shell script, before the preamble, as lines starting with ``%$``:\n\n    % Compile this file twice with lualatex.\n    %$ lualatex foo.tex\n    %$ lualatex foo.tex\n \n    \\documentclass{article}\n    \\begin{document}\n    Hello, world!\n    \\end{document}\n\nYou can also replace the file name with ``$texname``. That way, you don't have to worry about the file name when writing your commands.\n\n    % Compile this file twice with lualatex.\n    %$ lualatex $texname\n    %$ lualatex $texname\n\n### Compilation\n\nTo compile the ``.tex`` file, run SpiX:\n\n    spix foo.tex\n\nSpix will parse the ``.tex`` file, looking for shell snippets (lines before the preamble starting with ``%$``), and run them.\n\nThat's all!\n\n## Documentation\n\nThe complete documentation is available on [readthedocs](http://spix.readthedocs.io).\n\nTo compile it from source, download and run:\n\n    cd doc && make html\n\n## What's new?\n\nSee [changelog](https://framagit.org/spalax/spix/blob/main/CHANGELOG.md).\n\n## Download and install\n\n* The preferred  way to get `SpiX` working is by using your distribution package manager. With Debian (and Ubuntu, and surely other distributions that inherit from Debian), it is in package [`texlive-extra-utils`](https://packages.debian.org/search?keywords=texlive-extra-utils) (since version 2020.20210202-3)::\n\n    sudo apt install texlive-extra-utils\n\n* Otherwise, you can install SpiX using pip:\n\n    python3 -m pip install spix\n\n* Other installation methods can be found in the [documentation](https://spix.readthedocs.io/en/latest/install/).\n\n## License\n\n*Copyright 2020-2023 Louis Paternault*\n\nSpiX is licensed under the [Gnu GPL 3 license](https://www.gnu.org/licenses/gpl-3.0.html), or any later version.\n",
    "bugtrack_url": null,
    "license": "GPLv3 or any later version",
    "summary": "Yet another TeX compilation tool: simple, human readable, no option, no magic.",
    "version": "1.4.0",
    "project_urls": {
        "Documentation": "http://spix.readthedocs.io",
        "Homepage": "http://framagit.org/spalax/spix",
        "Source": "https://framagit.org/spalax/spix",
        "Tracker": "https://framagit.org/spalax/spix/issues"
    },
    "split_keywords": [
        "tex",
        "latex",
        "compilation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "17caf9889117b679de5b84b7cc7c23e7402251b9e326208026b3d4001e3e573c",
                "md5": "01092673b0e22618b0cb24136e15029b",
                "sha256": "c2b0f26144fa463649025bbf2c66c1939418990c5304ad90228b0e9c240cb2cc"
            },
            "downloads": -1,
            "filename": "spix-1.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "01092673b0e22618b0cb24136e15029b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4,>=3.7",
            "size": 18106,
            "upload_time": "2023-10-07T10:31:04",
            "upload_time_iso_8601": "2023-10-07T10:31:04.660644Z",
            "url": "https://files.pythonhosted.org/packages/17/ca/f9889117b679de5b84b7cc7c23e7402251b9e326208026b3d4001e3e573c/spix-1.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "79974aeb6f2b40a2790a8b68b4383bcf3bd7eda2af94fa2a37885abfa193c002",
                "md5": "a5bef31d3f764a24dc48d9953fc68ce5",
                "sha256": "3f0d44441872de51b3c164c7e0628bad6871cac3deb3b117bc1fd0f225365174"
            },
            "downloads": -1,
            "filename": "spix-1.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a5bef31d3f764a24dc48d9953fc68ce5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.7",
            "size": 1168089,
            "upload_time": "2023-10-07T10:31:07",
            "upload_time_iso_8601": "2023-10-07T10:31:07.887930Z",
            "url": "https://files.pythonhosted.org/packages/79/97/4aeb6f2b40a2790a8b68b4383bcf3bd7eda2af94fa2a37885abfa193c002/spix-1.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-07 10:31:07",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "spix"
}
        
Elapsed time: 0.59043s