Welcome to the TeX and LaTeX documentation lookup system.

Documentation lookup

Topics

Our API

You are visiting the front-end for the TeXdoc online software. In the backend, it is running a RESTful API that provides a few endpoints for you to use. Please make sure you read the following instructions about what to expect and what not to.

Each of these requests will return either HTTP status code 200 (OK) or, in the case of any error, HTTP status code 422 (Unprocessable Entity). The /versionendpoint is guaranteed not to fail.

EndpointDescription
/versionThis endpoint returns the versions of the API and data format (api), the installed version of texdoc (texdoc) and the date of the last TeX Live update as ISO date string (tlpdb). Make sure your client software always expects the correct API version to avoid problems. Our API versions follow semantic versioning with all its consequences.
/texdoc/⟨name⟩On this path, the list of entries is returned that a local call to texdoc -lwould result in. For each entry, there are two fields:
  • path containing the path to the documentation file relative to the doc subfolder of the TEXMFDIST directory.
  • description containing the file's description if existent (empty otherwise).
The application will always return a JSON array of such entries.
/serve/⟨name⟩/⟨index⟩This call results in the file corresponding to the documentation file at index ⟨index⟩ of the result of /texdoc/⟨name⟩ being responded to the client.
/pkg/⟨name⟩This endpoint is actually a shortcut to the /serve/⟨name⟩/0 endpoint previously introduced to preserve compatibility with the API of texdoc.net.
/topics/listThis endpoint returns the list of topics known to the application specified by their key and a caption called details. This is a direct interface to CTAN's API for topics. Network access for the server software is required.
/topic/⟨name⟩This endpoint returns details for a topic by returning the key (what is passed in as ⟨name⟩), a string with a short description called details and a list of package names (strings) called packages. This is a direct interface to CTAN's API for topics. Network access for the server software is required.

Deploying your own instance

Running an executable JAR file

TeXdoc online is an open-source product available at its GitLab repository page. It consists of one server component that does host the API and the front-end at the same time. If you simply want to have these features available to you, download the latest build artifacts from there (i.e. the JAR file with dependencies) and run it with your local Java installation. Please note that the software requires a local TeX distribution installed and internet connection for fetching the topics.

When running the JAR file, a local webserver will start up and host the service at 127.0.0.1:8080which is configurable through the command-line switches. Calling this address will open up the web interface. Appending API paths will execute the API calls and return the JSON objects. To stop the server from running, simply CTRL+Cthe Java process.

Booting up a container

Alternatively, the preferred way to host your own instance should be running our Docker container (a list of available tags may be foundat GitLab). The Docker container runs the web service as its entrypoint so running the server will start up the web server . Because the Docker container is built on top of our TeXLive images, it does not require a local TeX installation which might be beneficial for web servers. Internet connection is required,though. This all comes at the cost of being quite a big docker image of some gigabytes.

If your Docker container runs for multiple days, it features an automated update of TeXLive. Every day at 00:01 in the morning, a full update of the distribution is performed updating to the latest and greatest package versions TeX Live has to offer. Please note, that updates between distribution releases will not be performed that way; in order to upgrade from TL 2020 to TL 2021 you would need to pull the latest Docker image again but that means that the need for re-pulling the Docker image reduces to once per year.