collclean

Crates.iocollclean
lib.rscollclean
version0.5.0
created_at2022-03-18 16:46:38.321928+00
updated_at2025-12-30 14:15:32.118138+00
descriptionClean up collaboration commands in LaTeX files
homepage
repositoryhttps://github.com/Mountlex/collclean
max_upload_size
id552784
size45,586
Alexander Lindermayr (Mountlex)

documentation

README

collclean

Crates.io Downloads License CI

A command-line tool to clean up LaTeX files after collaborative editing. Removes custom collaboration markup commands (like \alice{...} and \bob{...}) while preserving the content inside.

Usage

Consider a valid LaTeX file paper.tex, where several parts are marked by collaborators using \alice and \bob:

Lorem ipsum \alice{dolor sit amet, consetetur \b \bob {sadipscing} elitr, sed diam nonumy eirmod tempor
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.} At vero eos et accusam
et justo duo dolores et ea rebum.
\[
    A = \min \{ B, \bob{C \} }
\]
% \alice{Lorem ipsum dolor sit amet
Stet clita kasd gubergren, \alice{no} sea takimata sanctus est Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam
et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus
est Lorem {ipsum dolor sit amet.}

To remove these commands and the corresponding brackets, run

collclean paper.tex alice bob

The file paper.tex will then look like this:

Lorem ipsum dolor sit amet, consetetur \b sadipscing elitr, sed diam nonumy eirmod tempor
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam
et justo duo dolores et ea rebum.
\[
    A = \min \{ B, C \}
\]
% \alice{Lorem ipsum dolor sit amet
Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam
et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus
est Lorem {ipsum dolor sit amet.}

Options

Option Description
-o <file> Output to a different file (input file stays untouched)
--dry Dry run: preview changes without modifying files
--from <line> Start line for partial cleaning (1-indexed, inclusive)
--to <line> End line for partial cleaning (1-indexed, inclusive)

Notes

  • Command definitions (e.g., via \newcommand) are not removed
  • Commented lines (starting with %) are ignored
  • Files with unbalanced brackets are rejected with an error (no changes made)
  • Supports Unicode content in LaTeX files
  • Handles both Unix (\n) and Windows (\r\n) line endings

Installation

Pre-built binaries

Download pre-built binaries from the GitHub Releases page.

From crates.io

After installing Rust, install via cargo:

cargo install collclean

From source

git clone https://github.com/Mountlex/collclean
cd collclean
cargo install --path .
Commit count: 28

cargo fmt