TexSoup

fault-tolerant Python3 package for searching, navigating, and modifying LaTeX documents

BSD-2-CLAUSE License

Downloads
8.6K
Stars
260
Committers
14
TexSoup - Math Environment Parsing Latest Release

Published by alvinwan about 4 years ago

  • Math environment parsing was previously skipped; these envs are now support all standard TexSoup APIs
  • See #108 for future todos
  • See #110 for included docs update
TexSoup - Improved Fault Tolerance, Modification Support

Published by alvinwan over 4 years ago

  • can tolerate unclosed bracket or brace groups when tolerance=1 kwarg is given to TexSoup constructor
  • more ubiquitous support for .name, .string, .contents in-place modification
  • improved documentation

under the hood

  • more robust generic string + spacer tokenization
  • more uniform usage of read_command + generic read_to_peek converter
  • coverage of more in-place modification scenarios
TexSoup - Fault Tolerance + Robustness

Published by alvinwan over 4 years ago

  • major tokenization refactor (#102) and parsing refactor (#103) supporting all sorts of funky latex commands and arguments
  • initial support for fault tolerance mode (#77)
  • initial support for different command signatures (#59)
TexSoup - Bug Fixes

Published by alvinwan over 4 years ago

  • env search and parsing fixes
  • python3.8 python setup.py test fix
  • other misc fixes: replace_with, deleting tokens, etc.
TexSoup - Docs, More Streamlined API

Published by alvinwan over 5 years ago

  • added documentation at https://texsoup.alvinwan.com
  • clearer documentation and naming convention for content: contents, all (whitespace-preserving v. not)
  • more list-like apis for modifying parse tree: append, insert, remove etc.
  • 110+ tests for 100% test coverage!
TexSoup - Fix Math Environment Parsing

Published by alvinwan almost 6 years ago

  • Fix math environment parsing
  • Recognize more math environments
  • Fix items with labels
  • Add regex search
TexSoup - Advanced Item Parsing

Published by alvinwan over 6 years ago

\items are now parsed correctly:

  • includes correctly tex parsing for all item contents (e.g., environments, text, commands etc.)
  • respects strange item parsing rules: preceding whitespace can be arbitrarily long, but once content starts, there can only be one line break between content (not 2 successive line breaks)
  • (biggest change) adds a new line to the end of each \item
TexSoup - Command Argument Parsing Fix

Published by alvinwan over 6 years ago

  • fixed command argument parsing (ate up strange characters at random)
TexSoup - Refactored Parsing

Published by alvinwan over 6 years ago

  • Bug fixes related to parsing and tokenization errors
  • More robust behavior for item and environments such as $$, verbatim etc.
TexSoup - Whitespace Preservation

Published by alvinwan about 7 years ago

  • New tokenizer allows for preservation of whitespace
  • More robust to line breaks in command arguments, math environments
  • immune to mumbo jumbo in verbatim, lstlisting etc.
  • Small bug fixes
  • Accommodates more edge cases, involve command parsing
TexSoup - In-Place Parse Modification

Published by alvinwan about 8 years ago

Users can now modify the parse tree in-place with add, remove, replace functionality.

TexSoup - Initial release

Published by alvinwan over 8 years ago

basic search and navigation functionality