# pgfplots-autonode 1.0.0 `pgfplots-autonode` is a format-generic LuaTeX library for automatically placing labels on PGFPlots curves. It samples visible plot paths in final canvas coordinates, measures the actual TeX node geometry, and solves all labels in an axis jointly. It supports linear and logarithmic axes, sloped labels, hard plot-boundary constraints, priorities, several deterministic assignment algorithms, and visual or textual diagnostics. The package is independent of `luacoolprop`: it neither loads nor calls LuaCoolProp or CoolProp. It requires LuaTeX and PGFPlots 1.18 or later, but it does not require shell escape. ## Loading With LuaLaTeX, either load the convenience package ```tex \usepackage{pgfplots-autonode} \pgfplotsset{compat=1.18} ``` or load it as an ordinary PGFPlots library: ```tex \usepackage{pgfplots} \pgfplotsset{compat=1.18} \usepgfplotslibrary{autonode} ``` For plain LuaTeX use `\input pgfplots.tex`; for ConTeXt MkIV use `\usemodule[t][pgfplots]`. In both cases, follow the frontend with `\usepgfplotslibrary{autonode}`. ## Minimal example ```tex \begin{tikzpicture} \begin{axis}[ auto node placement, auto node algorithm=repair ] \addplot[blue,domain=0:4] {x} \pgfplotsautonode[preferred pos=.65,sloped=true]{$y=x$}; \addplot[red,domain=0:4] {4-x} \pgfplotsautonode[preferred pos=.35,sloped=true]{$y=4-x$}; \end{axis} \end{tikzpicture} ``` `auto node placement` activates the per-axis lifecycle. Attach `\pgfplotsautonode[]{}` to each labelled `\addplot` before its final semicolon. See `pgfplots-autonode-manual.pdf` for the tutorial, complete key reference, algorithms, geometry model, diagnostics, and troubleshooting. The manual also includes a dense pressure--enthalpy chart generated by LuaCoolProp as a real-world case study of collision-aware isoline labels. > [!WARNING] > This package has been **vibe-coded with ChatGPT**. Substantial parts of its > design, code, documentation, and tests were generated or revised with AI > assistance. Inspect the source and validate its output for your application. Author and Current Maintainer: Christophe Jorssen . Version 1.0.0 is dated 2026-09-20. The work is maintained and distributed under the LaTeX Project Public License 1.3c or later. Development takes place in the [pgfplots-autonode repository](https://github.com/cjorssen/pgfplots-autonode). ## Reproducible builds and tests Build the autonomous manual and examples with: ```sh ./scripts/build-autonode.sh ``` Run the Lua, LuaLaTeX, plain LuaTeX, ConTeXt, and installed-tree independence tests with: ```sh ./scripts/test-autonode.sh ``` Create the browsing and TDS release archives with: ```sh ./scripts/package-autonode-release.sh ``` The test installs only the `pgfplots-autonode` TDS tree and rejects any runtime reference to `luacoolprop`. Release changes are recorded in `CHANGELOG.md`. Copyright (C) 2026 Christophe Jorssen.