Full Code of James-Yu/LaTeX-Workshop for AI

master 541167a72f27 cached
5084 files
41.4 MB
11.1M tokens
2466 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (44,218K chars total). Download the full file to get everything.
Repository: James-Yu/LaTeX-Workshop
Branch: master
Commit: 541167a72f27
Files: 5084
Total size: 41.4 MB

Directory structure:
gitextract_ciql6n51/

├── .devcontainer/
│   ├── README.md
│   ├── devcontainer.json
│   ├── sid/
│   │   └── Dockerfile
│   ├── stable/
│   │   └── Dockerfile
│   └── texlive/
│       └── Dockerfile
├── .gitattributes
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug-report.md
│   │   └── feature-request.md
│   ├── dependabot.yml
│   ├── disabled/
│   │   └── docker_on_linux.yml
│   └── workflows/
│       ├── README.md
│       ├── codeql-analysis.yml
│       ├── lock.yml
│       ├── package.yml
│       ├── texlive_on_linux.yml
│       ├── texlive_on_mac.yml
│       └── texlive_on_win.yml
├── .gitignore
├── .vscode/
│   ├── extensions.json
│   ├── launch.json
│   ├── settings.json
│   └── tasks.json
├── .vscodeignore
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE.txt
├── README.md
├── data/
│   ├── README.md
│   ├── at-suggestions.json
│   ├── biblatex-entries.json
│   ├── biblatex-optional-entries.json
│   ├── bibtex-entries.json
│   ├── bibtex-optional-entries.json
│   ├── classnames.json
│   ├── commands.json
│   ├── environments.json
│   ├── latex-snippet.json
│   ├── macros.json
│   ├── packagenames.json
│   ├── packages/
│   │   ├── abntcite.json
│   │   ├── acro.json
│   │   ├── acronym.json
│   │   ├── afterpage.json
│   │   ├── algorithm2e.json
│   │   ├── allrunes.json
│   │   ├── amsbsy.json
│   │   ├── amsfonts.json
│   │   ├── amsmath.json
│   │   ├── amsopn.json
│   │   ├── amssymb.json
│   │   ├── amsthm.json
│   │   ├── apacite.json
│   │   ├── appendix.json
│   │   ├── array.json
│   │   ├── attachfile.json
│   │   ├── babel.json
│   │   ├── beamerbaseauxtemplates.json
│   │   ├── beamerbaseboxes.json
│   │   ├── beamerbasecolor.json
│   │   ├── beamerbasecompatibility.json
│   │   ├── beamerbasefont.json
│   │   ├── beamerbaseframe.json
│   │   ├── beamerbaseframecomponents.json
│   │   ├── beamerbaseframesize.json
│   │   ├── beamerbaselocalstructure.json
│   │   ├── beamerbasemisc.json
│   │   ├── beamerbasemodes.json
│   │   ├── beamerbasenavigation.json
│   │   ├── beamerbasenotes.json
│   │   ├── beamerbaseoptions.json
│   │   ├── beamerbaseoverlay.json
│   │   ├── beamerbaserequires.json
│   │   ├── beamerbasesection.json
│   │   ├── beamerbasetemplates.json
│   │   ├── beamerbasethemes.json
│   │   ├── beamerbasetheorems.json
│   │   ├── beamerbasetitle.json
│   │   ├── beamerbasetoc.json
│   │   ├── beamerbasetranslator.json
│   │   ├── beamerbasetwoscreens.json
│   │   ├── beamerbaseverbatim.json
│   │   ├── biblatex.json
│   │   ├── bidi.json
│   │   ├── blindtext.json
│   │   ├── bm.json
│   │   ├── booktabs.json
│   │   ├── braket.json
│   │   ├── calc.json
│   │   ├── cancel.json
│   │   ├── caption.json
│   │   ├── cases.json
│   │   ├── chemformula.json
│   │   ├── chemstyle.json
│   │   ├── circuitikz.json
│   │   ├── class-altacv.json
│   │   ├── class-beamer.json
│   │   ├── class-book.json
│   │   ├── class-ctexart.json
│   │   ├── class-ctexbeamer.json
│   │   ├── class-ctexbook.json
│   │   ├── class-ctexrep.json
│   │   ├── class-exam.json
│   │   ├── class-letter.json
│   │   ├── class-memoir.json
│   │   ├── class-moderncv.json
│   │   ├── class-scrartcl.json
│   │   ├── class-scrbook.json
│   │   ├── class-scrlttr2.json
│   │   ├── class-scrreprt.json
│   │   ├── class-yathesis.json
│   │   ├── cleveref.json
│   │   ├── color.json
│   │   ├── colortbl.json
│   │   ├── commath.json
│   │   ├── comment.json
│   │   ├── coordsys.json
│   │   ├── cquthesis.json
│   │   ├── csquotes.json
│   │   ├── ctex.json
│   │   ├── currfile.json
│   │   ├── currvita.json
│   │   ├── cyrillic.json
│   │   ├── datatool-base.json
│   │   ├── datatool.json
│   │   ├── doi.json
│   │   ├── easy-todo.json
│   │   ├── empheq.json
│   │   ├── endnotes.json
│   │   ├── enumerate.json
│   │   ├── epigraph.json
│   │   ├── epstopdf.json
│   │   ├── esint.json
│   │   ├── etoolbox.json
│   │   ├── eurosym.json
│   │   ├── expl3.json
│   │   ├── fancybox.json
│   │   ├── fancyhdr.json
│   │   ├── fancyref.json
│   │   ├── fancyunits-base.json
│   │   ├── fancyunits-np.json
│   │   ├── fancyunits-per.json
│   │   ├── fancyunits_big-fractions.json
│   │   ├── fancyunits_medium-fractions.json
│   │   ├── fancyunits_small-fractions.json
│   │   ├── fancyvrb.json
│   │   ├── fhgtechdoku_additional.json
│   │   ├── fixme.json
│   │   ├── float.json
│   │   ├── fontspec.json
│   │   ├── geometry.json
│   │   ├── german.json
│   │   ├── glossaries.json
│   │   ├── glosstex.json
│   │   ├── graphicx.json
│   │   ├── harvard.json
│   │   ├── hyperref.json
│   │   ├── ifluatex.json
│   │   ├── ifpdf.json
│   │   ├── ifplatform.json
│   │   ├── iftex.json
│   │   ├── ifthen.json
│   │   ├── ifvtex.json
│   │   ├── ifxetex.json
│   │   ├── import.json
│   │   ├── inputenc.json
│   │   ├── jurabib.json
│   │   ├── kantlipsum.json
│   │   ├── latex-209.json
│   │   ├── latex-dev.json
│   │   ├── latex-document.json
│   │   ├── latex-l2tabu.json
│   │   ├── layout.json
│   │   ├── letltxmacro.json
│   │   ├── libertine.json
│   │   ├── lipsum.json
│   │   ├── listings.json
│   │   ├── logsys.json
│   │   ├── longtable.json
│   │   ├── lscape.json
│   │   ├── ltxtable.json
│   │   ├── luatex.json
│   │   ├── luatodonotes.json
│   │   ├── manyfoot.json
│   │   ├── marvosym.json
│   │   ├── mathtools.json
│   │   ├── mdframed.json
│   │   ├── mdwlist.json
│   │   ├── memhfixc.json
│   │   ├── menukeys.json
│   │   ├── metrix.json
│   │   ├── mhchem.json
│   │   ├── microtype.json
│   │   ├── minted.json
│   │   ├── multicol.json
│   │   ├── multido.json
│   │   ├── multimedia.json
│   │   ├── multirow.json
│   │   ├── nameref.json
│   │   ├── natbib.json
│   │   ├── needspace.json
│   │   ├── newclude.json
│   │   ├── ngerman.json
│   │   ├── nicefrac.json
│   │   ├── nomencl.json
│   │   ├── nth.json
│   │   ├── paracol.json
│   │   ├── parskip.json
│   │   ├── pdfpages.json
│   │   ├── pgf.json
│   │   ├── pgfcore.json
│   │   ├── pgfplots.json
│   │   ├── physics.json
│   │   ├── physics2.json
│   │   ├── pifont.json
│   │   ├── placeins.json
│   │   ├── psfrag.json
│   │   ├── pst-3d.json
│   │   ├── pst-blur.json
│   │   ├── pst-char.json
│   │   ├── pst-coil.json
│   │   ├── pst-eps.json
│   │   ├── pst-fill.json
│   │   ├── pst-node.json
│   │   ├── pst-plot.json
│   │   ├── pst-text.json
│   │   ├── pst-tree.json
│   │   ├── pstricks.json
│   │   ├── rotating.json
│   │   ├── scraddr.json
│   │   ├── scrdate.json
│   │   ├── scrlfile.json
│   │   ├── scrpage2.json
│   │   ├── scrtime.json
│   │   ├── secsty.json
│   │   ├── sectsty.json
│   │   ├── setspace.json
│   │   ├── siunitx-special.json
│   │   ├── siunitx.json
│   │   ├── soul.json
│   │   ├── subcaption.json
│   │   ├── subfig.json
│   │   ├── subfigure.json
│   │   ├── subfiles.json
│   │   ├── supertabular.json
│   │   ├── svn-multi.json
│   │   ├── svninfo.json
│   │   ├── tabu.json
│   │   ├── tabularray.json
│   │   ├── tabularx.json
│   │   ├── tabulary.json
│   │   ├── tcolorbox.json
│   │   ├── tensor.json
│   │   ├── tex.json
│   │   ├── textcomp.json
│   │   ├── theorem.json
│   │   ├── tikz-cd.json
│   │   ├── tikz-timing.json
│   │   ├── tikz.json
│   │   ├── titlesec.json
│   │   ├── tkz-euclide.json
│   │   ├── tocbibind.json
│   │   ├── tocloft.json
│   │   ├── todonotes.json
│   │   ├── ulem.json
│   │   ├── units.json
│   │   ├── upgreek.json
│   │   ├── url.json
│   │   ├── varioref.json
│   │   ├── verse.json
│   │   ├── virginialake.json
│   │   ├── wasysym.json
│   │   ├── watermark.json
│   │   ├── xcolor.json
│   │   ├── xeCJK.json
│   │   ├── xeCJKfntef.json
│   │   ├── xepersian.json
│   │   ├── xetex.json
│   │   ├── xifthen.json
│   │   ├── xltxtra.json
│   │   ├── xparse.json
│   │   ├── xspace.json
│   │   ├── xtab.json
│   │   ├── xy.json
│   │   ├── yathesis.json
│   │   ├── yfonts.json
│   │   └── zhnumber.json
│   └── unimathsymbols.json
├── dev/
│   ├── README.md
│   ├── createSymbolSvgs.ts
│   ├── ctanpkglist.py
│   ├── cwl.list
│   ├── editviewer.py
│   ├── extra-packagenames.json
│   ├── getcwl.sh
│   ├── githooks/
│   │   └── pre-commit
│   ├── latex3command.py
│   ├── packages/
│   │   ├── 12many.json
│   │   ├── 2up.json
│   │   ├── Acorn.json
│   │   ├── Alegreya.json
│   │   ├── AlegreyaSans.json
│   │   ├── AnnSton.json
│   │   ├── AnonymousPro.json
│   │   ├── Archivo.json
│   │   ├── ArtNouv.json
│   │   ├── ArtNouvc.json
│   │   ├── Arvo.json
│   │   ├── BOONDOX-cal.json
│   │   ├── BOONDOX-calo.json
│   │   ├── BOONDOX-ds.json
│   │   ├── BOONDOX-frak.json
│   │   ├── BOONDOX-uprscr.json
│   │   ├── Baskervaldx.json
│   │   ├── CJK.json
│   │   ├── CJKfntef.json
│   │   ├── CJKnumb.json
│   │   ├── CJKpunct.json
│   │   ├── CJKutf8.json
│   │   ├── CJKvert.json
│   │   ├── Carrickc.json
│   │   ├── CascadiaCodePL.json
│   │   ├── CascadiaMono.json
│   │   ├── CascadiaMonoPL.json
│   │   ├── CharisSIL.json
│   │   ├── Chivo.json
│   │   ├── ClearSans.json
│   │   ├── CooperHewitt.json
│   │   ├── CormorantGaramond.json
│   │   ├── CoverPage.json
│   │   ├── CreationBoites.json
│   │   ├── CrimsonPro.json
│   │   ├── CronosPro-FontDef.json
│   │   ├── CronosPro.json
│   │   ├── DPcircling.json
│   │   ├── DejaVuSans.json
│   │   ├── DejaVuSansCondensed.json
│   │   ├── DejaVuSansMono.json
│   │   ├── DejaVuSerif.json
│   │   ├── DejaVuSerifCondensed.json
│   │   ├── ETbb.json
│   │   ├── Eichenla.json
│   │   ├── Eileen.json
│   │   ├── EileenBl.json
│   │   ├── Elzevier.json
│   │   ├── FenetreCas.json
│   │   ├── FiraMono.json
│   │   ├── FiraSans.json
│   │   ├── GS1.json
│   │   ├── GoMono.json
│   │   ├── GoSans.json
│   │   ├── GotIn.json
│   │   ├── GoudyIn.json
│   │   ├── Gudea.json
│   │   ├── HindMadurai.json
│   │   ├── IEEEtrantools.json
│   │   ├── InriaSans.json
│   │   ├── InriaSerif.json
│   │   ├── JeuxCartes.json
│   │   ├── Kinigcap.json
│   │   ├── Konanur.json
│   │   ├── Kramer.json
│   │   ├── LibreBodoni.json
│   │   ├── LibreBskvl.json
│   │   ├── LobsterTwo.json
│   │   ├── MULEenc.json
│   │   ├── Magra.json
│   │   ├── MinionPro.json
│   │   ├── MnSymbol.json
│   │   ├── MorrisIn.json
│   │   ├── MyriadPro-FontDef.json
│   │   ├── MyriadPro.json
│   │   ├── Nouveaud.json
│   │   ├── NumericPlots.json
│   │   ├── OldStandard.json
│   │   ├── Oswald.json
│   │   ├── OutilsGeomTikz.json
│   │   ├── PTMono.json
│   │   ├── PTSans.json
│   │   ├── PTSansCaption.json
│   │   ├── PTSansNarrow.json
│   │   ├── PTSerif.json
│   │   ├── PTSerifCaption.json
│   │   ├── PanneauxRoute.json
│   │   ├── PapierGurvan.json
│   │   ├── PixelArtTikz.json
│   │   ├── Play.json
│   │   ├── PlayfairDisplay.json
│   │   ├── PoiretOne.json
│   │   ├── ProfCollege.json
│   │   ├── ProfLabo.json
│   │   ├── ProfLycee.json
│   │   ├── ProfMaquette.json
│   │   ├── ProfSio.json
│   │   ├── ProjLib.json
│   │   ├── ResolSysteme.json
│   │   ├── Romantik.json
│   │   ├── Rothdn.json
│   │   ├── RoueQuestions.json
│   │   ├── Royal.json
│   │   ├── SASnRdisplay.json
│   │   ├── Sanremo.json
│   │   ├── Scrabble.json
│   │   ├── Starburst.json
│   │   ├── SympyCalc.json
│   │   ├── Tabbing.json
│   │   ├── TangramTikz.json
│   │   ├── TheanoDidot.json
│   │   ├── TheanoModern.json
│   │   ├── TheanoOldStyle.json
│   │   ├── Typocaps.json
│   │   ├── UniversalisADFStd.json
│   │   ├── WriteOnGrid.json
│   │   ├── XCharter.json
│   │   ├── Zallman.json
│   │   ├── a4.json
│   │   ├── a4wide.json
│   │   ├── abbrevs.json
│   │   ├── abc.json
│   │   ├── abntcite.json
│   │   ├── abntex2abrev.json
│   │   ├── abntex2cite.json
│   │   ├── aboensis.json
│   │   ├── abraces.json
│   │   ├── abspos.json
│   │   ├── abstract.json
│   │   ├── academicons.json
│   │   ├── accanthis.json
│   │   ├── accents.json
│   │   ├── accsupp.json
│   │   ├── achemso.json
│   │   ├── acro.json
│   │   ├── acromemory.json
│   │   ├── acronym.json
│   │   ├── acrosort.json
│   │   ├── actcodes.json
│   │   ├── actuarialangle.json
│   │   ├── actuarialsymbol.json
│   │   ├── add2.json
│   │   ├── addfont.json
│   │   ├── addlines.json
│   │   ├── addrset.json
│   │   ├── addtoluatexpath.json
│   │   ├── adfarrows.json
│   │   ├── adfbullets.json
│   │   ├── adforn.json
│   │   ├── adigraph.json
│   │   ├── adjcalc.json
│   │   ├── adjmulticol.json
│   │   ├── adjustbox.json
│   │   ├── adobecaslon.json
│   │   ├── adobeornaments.json
│   │   ├── adrlist.json
│   │   ├── adtrees.json
│   │   ├── advdate.json
│   │   ├── advice.json
│   │   ├── ae.json
│   │   ├── aeb-comment.json
│   │   ├── aeb-minitoc.json
│   │   ├── aeb_dad.json
│   │   ├── aeb_envelope.json
│   │   ├── aeb_mlink.json
│   │   ├── aeb_mobile.json
│   │   ├── aeb_pro.json
│   │   ├── aeb_tilebg.json
│   │   ├── aebxmp.json
│   │   ├── aecompl.json
│   │   ├── aeguill.json
│   │   ├── aesupp.json
│   │   ├── affilauthor.json
│   │   ├── afterpackage.json
│   │   ├── afterpage.json
│   │   ├── ajmacros.json
│   │   ├── akshar.json
│   │   ├── alchemist.json
│   │   ├── alertmessage.json
│   │   ├── alfaslabone.json
│   │   ├── algc.json
│   │   ├── algcompatible.json
│   │   ├── algmatlab.json
│   │   ├── algobox.json
│   │   ├── algolrevived.json
│   │   ├── algorithm.json
│   │   ├── algorithm2e.json
│   │   ├── algorithmic.json
│   │   ├── algorithmicx.json
│   │   ├── algpascal.json
│   │   ├── algpseudocode.json
│   │   ├── algpseudocodex.json
│   │   ├── algxpar.json
│   │   ├── aliascnt.json
│   │   ├── aliphat.json
│   │   ├── allauncl.json
│   │   ├── allcmin.json
│   │   ├── allegoth.json
│   │   ├── allhmin.json
│   │   ├── allhuncl.json
│   │   ├── allimaj.json
│   │   ├── allimin.json
│   │   ├── allpgoth.json
│   │   ├── allrtnd.json
│   │   ├── allrunes.json
│   │   ├── allrust.json
│   │   ├── allsqrc.json
│   │   ├── alltgoth.json
│   │   ├── alltt.json
│   │   ├── almendra.json
│   │   ├── alnumsec.json
│   │   ├── alphabeta.json
│   │   ├── alphalph.json
│   │   ├── alterqcm.json
│   │   ├── altfont.json
│   │   ├── altsubsup.json
│   │   ├── altverse.json
│   │   ├── ams-mdbch.json
│   │   ├── amsaddr.json
│   │   ├── amsbib.json
│   │   ├── amsbooka.json
│   │   ├── amsbsy.json
│   │   ├── amscd.json
│   │   ├── amscdx.json
│   │   ├── amsfonts.json
│   │   ├── amsmath.json
│   │   ├── amsmidx.json
│   │   ├── amsopn.json
│   │   ├── amsrefs.json
│   │   ├── amssymb.json
│   │   ├── amstext.json
│   │   ├── amsthm.json
│   │   ├── amsxtra.json
│   │   ├── analogclock.json
│   │   ├── andika.json
│   │   ├── animate.json
│   │   ├── annee-scolaire.json
│   │   ├── annot_pro.json
│   │   ├── annotate-equations.json
│   │   ├── anonchap.json
│   │   ├── anonymous-acm.json
│   │   ├── answers.json
│   │   ├── antanilipsum.json
│   │   ├── antpolt.json
│   │   ├── anttor.json
│   │   ├── aobs-tikz.json
│   │   ├── apacite.json
│   │   ├── appendix.json
│   │   ├── appendixnumberbeamer.json
│   │   ├── apptools.json
│   │   ├── apxproof.json
│   │   ├── ar.json
│   │   ├── arabluatex.json
│   │   ├── arabxetex.json
│   │   ├── aramaic.json
│   │   ├── arev.json
│   │   ├── arevmath.json
│   │   ├── arevtext.json
│   │   ├── argumentation.json
│   │   ├── arimo.json
│   │   ├── armtex.json
│   │   ├── array.json
│   │   ├── arraycols.json
│   │   ├── arrayjobx.json
│   │   ├── arraysort.json
│   │   ├── arsclassica.json
│   │   ├── arsenal.json
│   │   ├── artthreads.json
│   │   ├── arydshln.json
│   │   ├── asapsym.json
│   │   ├── ascii.json
│   │   ├── asciilist.json
│   │   ├── ascmac.json
│   │   ├── askinclude.json
│   │   ├── askincv1.json
│   │   ├── askmaps.json
│   │   ├── asmewide.json
│   │   ├── assoccnt.json
│   │   ├── association-matrix.json
│   │   ├── assurelatexmode.json
│   │   ├── asternote.json
│   │   ├── asyalign.json
│   │   ├── asycolors.json
│   │   ├── asyfig.json
│   │   ├── asymptote.json
│   │   ├── asypictureB.json
│   │   ├── asyprocess.json
│   │   ├── at.json
│   │   ├── atbegshi.json
│   │   ├── atendofenv.json
│   │   ├── athnum.json
│   │   ├── atkinson.json
│   │   ├── attachfile.json
│   │   ├── attachfile2.json
│   │   ├── attrib.json
│   │   ├── atveryend.json
│   │   ├── auncial.json
│   │   ├── aurical.json
│   │   ├── aurl.json
│   │   ├── authblk.json
│   │   ├── authoraftertitle.json
│   │   ├── authorarchive.json
│   │   ├── authorindex.json
│   │   ├── auto-pst-pdf-lua.json
│   │   ├── auto-pst-pdf.json
│   │   ├── autoaligne.json
│   │   ├── autobreak.json
│   │   ├── autofancyhdr.json
│   │   ├── autolist.json
│   │   ├── automultiplechoice.json
│   │   ├── autonum.json
│   │   ├── autopdf.json
│   │   ├── autopuncitems.json
│   │   ├── autotype.json
│   │   ├── auxhook.json
│   │   ├── avremu.json
│   │   ├── awesomebox.json
│   │   ├── axessibility.json
│   │   ├── axodraw2.json
│   │   ├── babel.json
│   │   ├── babelbib.json
│   │   ├── babyloniannum.json
│   │   ├── background.json
│   │   ├── backnaur.json
│   │   ├── backref.json
│   │   ├── balance.json
│   │   ├── bangla.json
│   │   ├── bargraph-js.json
│   │   ├── barracuda.json
│   │   ├── bashful.json
│   │   ├── basicarith.json
│   │   ├── baskervald.json
│   │   ├── baskervillef.json
│   │   ├── basque-date.json
│   │   ├── bbding.json
│   │   ├── bbm.json
│   │   ├── bbold.json
│   │   ├── bboldx.json
│   │   ├── bchart.json
│   │   ├── bclogo.json
│   │   ├── beamerappendixnote.json
│   │   ├── beamerarticle.json
│   │   ├── beameraudience.json
│   │   ├── beamerbasearticle.json
│   │   ├── beamerbaseauxtemplates.json
│   │   ├── beamerbaseboxes.json
│   │   ├── beamerbasecolor.json
│   │   ├── beamerbasecompatibility.json
│   │   ├── beamerbasefont.json
│   │   ├── beamerbaseframe.json
│   │   ├── beamerbaseframecomponents.json
│   │   ├── beamerbaseframesize.json
│   │   ├── beamerbaselocalstructure.json
│   │   ├── beamerbasemisc.json
│   │   ├── beamerbasemodes.json
│   │   ├── beamerbasenavigation.json
│   │   ├── beamerbasenotes.json
│   │   ├── beamerbaseoptions.json
│   │   ├── beamerbaseoverlay.json
│   │   ├── beamerbaserequires.json
│   │   ├── beamerbasesection.json
│   │   ├── beamerbasetemplates.json
│   │   ├── beamerbasethemes.json
│   │   ├── beamerbasetheorems.json
│   │   ├── beamerbasetitle.json
│   │   ├── beamerbasetoc.json
│   │   ├── beamerbasetranslator.json
│   │   ├── beamerbasetwoscreens.json
│   │   ├── beamerbaseverbatim.json
│   │   ├── beamerfoils.json
│   │   ├── beamerposter.json
│   │   ├── beamerprosper.json
│   │   ├── beamerseminar.json
│   │   ├── beamersubframe.json
│   │   ├── beamertexpower.json
│   │   ├── beamertheme-light.json
│   │   ├── beamerthemeAmurmaple.json
│   │   ├── beamerthemeArguelles.json
│   │   ├── beamerthemeBFH.json
│   │   ├── beamerthemeBergen.json
│   │   ├── beamerthemeBerkeley.json
│   │   ├── beamerthemeBerlin.json
│   │   ├── beamerthemeBerlinFU.json
│   │   ├── beamerthemeBoadilla.json
│   │   ├── beamerthemeCambridgeUS.json
│   │   ├── beamerthemeCuerna.json
│   │   ├── beamerthemeDetlevCM.json
│   │   ├── beamerthemeDresden.json
│   │   ├── beamerthemeEastLansing.json
│   │   ├── beamerthemeFhG.json
│   │   ├── beamerthemeGoettingen.json
│   │   ├── beamerthemeHannover.json
│   │   ├── beamerthemeHeavenlyClouds.json
│   │   ├── beamerthemeIlmenau.json
│   │   ├── beamerthemeMadrid.json
│   │   ├── beamerthemeMarburg.json
│   │   ├── beamerthemeNord.json
│   │   ├── beamerthemePaloAlto.json
│   │   ├── beamerthemeRochester.json
│   │   ├── beamerthemeSaintPetersburg.json
│   │   ├── beamerthemeSimpleDarkBlue.json
│   │   ├── beamerthemeSimplePlus.json
│   │   ├── beamerthemeSingapore.json
│   │   ├── beamerthemeSzeged.json
│   │   ├── beamerthemeTUDa.json
│   │   ├── beamerthemeTianQing.json
│   │   ├── beamerthemeTorinoTh.json
│   │   ├── beamerthemeVerona.json
│   │   ├── beamerthemeXiaoshan.json
│   │   ├── beamerthemeboxes.json
│   │   ├── beamerthemeepyt.json
│   │   ├── beamerthemefocus.json
│   │   ├── beamerthemehitszbeamer.json
│   │   ├── beamerthemehohenheim.json
│   │   ├── beamerthemelalic.json
│   │   ├── beamerthememetropolis.json
│   │   ├── beamerthememoloch.json
│   │   ├── beamerthemepureminimalistic.json
│   │   ├── beamerthemesidebar.json
│   │   ├── beamerthemetamu.json
│   │   ├── beamerthemethubeamer.json
│   │   ├── beamerthemetree.json
│   │   ├── beamerthemetrigon.json
│   │   ├── bearwear.json
│   │   ├── begingreek.json
│   │   ├── begriff.json
│   │   ├── bera.json
│   │   ├── beramono.json
│   │   ├── berasans.json
│   │   ├── beraserif.json
│   │   ├── berenis.json
│   │   ├── betababel.json
│   │   ├── beton.json
│   │   ├── beuron.json
│   │   ├── bewerbung-cv.json
│   │   ├── bewerbung.json
│   │   ├── bez123.json
│   │   ├── bezierplot.json
│   │   ├── bfhcolors.json
│   │   ├── bfhfonts.json
│   │   ├── bfhlayout.json
│   │   ├── bfhletter.json
│   │   ├── bfhmodule.json
│   │   ├── bguq.json
│   │   ├── bib2qr.json
│   │   ├── bibcop.json
│   │   ├── bibentry.json
│   │   ├── biblatex-archaeology.json
│   │   ├── biblatex-chicago.json
│   │   ├── biblatex-cv.json
│   │   ├── biblatex-ext-oa-doapi.json
│   │   ├── biblatex-ext-oa.json
│   │   ├── biblatex-ext-oasymb-l3draw.json
│   │   ├── biblatex-ext-oasymb-pict2e.json
│   │   ├── biblatex-ext-oasymb-tikz.json
│   │   ├── biblatex-ext-tabular.json
│   │   ├── biblatex-license.json
│   │   ├── biblatex-ms.json
│   │   ├── biblatex-multiple-dm.json
│   │   ├── biblatex-readbbl.json
│   │   ├── biblatex-shortfields.json
│   │   ├── biblatex-source-division.json
│   │   ├── biblatex.json
│   │   ├── biblatex2bibitem.json
│   │   ├── bibleref-french.json
│   │   ├── bibleref-german.json
│   │   ├── bibleref-lds.json
│   │   ├── bibleref-mouth.json
│   │   ├── bibleref-parse.json
│   │   ├── bibleref-xidx.json
│   │   ├── bibleref.json
│   │   ├── bibletext.json
│   │   ├── bibnames.json
│   │   ├── bibpes.json
│   │   ├── bibtopic.json
│   │   ├── bibtopicprefix.json
│   │   ├── bibunits.json
│   │   ├── bicaption.json
│   │   ├── bickham.json
│   │   ├── bidi-atbegshi.json
│   │   ├── bidi-perpage.json
│   │   ├── bidi.json
│   │   ├── bidicode.json
│   │   ├── bidicontour.json
│   │   ├── bidihl.json
│   │   ├── bidipagegrid.json
│   │   ├── bidipoem.json
│   │   ├── bidishadowtext.json
│   │   ├── biditools.json
│   │   ├── bidituftefloat.json
│   │   ├── bidituftegeneralstructure.json
│   │   ├── bidituftehyperref.json
│   │   ├── bidituftesidenote.json
│   │   ├── bidituftetitle.json
│   │   ├── bidituftetoc.json
│   │   ├── bigdelim.json
│   │   ├── bigfoot.json
│   │   ├── bigintcalc.json
│   │   ├── bigints.json
│   │   ├── bigstrut.json
│   │   ├── bilingualpages.json
│   │   ├── binarytree.json
│   │   ├── biochemistry-colors.json
│   │   ├── biocon.json
│   │   ├── biokey.json
│   │   ├── biolinum.json
│   │   ├── biolist.json
│   │   ├── biotex.json
│   │   ├── bitelist.json
│   │   ├── bitpattern.json
│   │   ├── bitset.json
│   │   ├── bitter.json
│   │   ├── bizcard.json
│   │   ├── bkltprnt.json
│   │   ├── blindtext.json
│   │   ├── blkarray.json
│   │   ├── blkcntrl.json
│   │   ├── blochsphere.json
│   │   ├── bloques.json
│   │   ├── blowup.json
│   │   ├── blox.json
│   │   ├── bm.json
│   │   ├── bmpsize-base.json
│   │   ├── bmpsize.json
│   │   ├── bnumexpr.json
│   │   ├── bodegraph.json
│   │   ├── bodeplot.json
│   │   ├── bohr.json
│   │   ├── boisik.json
│   │   ├── boites.json
│   │   ├── boites_exemples.json
│   │   ├── bold-extra.json
│   │   ├── boldline.json
│   │   ├── boldtensors.json
│   │   ├── bondcolor.json
│   │   ├── bondgraph.json
│   │   ├── bondgraphs.json
│   │   ├── bonum-otf.json
│   │   ├── book-of-common-prayer.json
│   │   ├── booklet.json
│   │   ├── bookmark.json
│   │   ├── booktabs.json
│   │   ├── boolexpr.json
│   │   ├── bophook.json
│   │   ├── boustr.json
│   │   ├── boxdims.json
│   │   ├── boxedminipage.json
│   │   ├── boxhandler.json
│   │   ├── boxit.json
│   │   ├── bpchem.json
│   │   ├── bracketkey.json
│   │   ├── braille.json
│   │   ├── braket.json
│   │   ├── breakurl.json
│   │   ├── bredzenie.json
│   │   ├── breqn.json
│   │   ├── bropd.json
│   │   ├── btxdockit.json
│   │   ├── bubblesort.json
│   │   ├── bullcntr.json
│   │   ├── bullenum.json
│   │   ├── bussproofs-extra.json
│   │   ├── bussproofs.json
│   │   ├── bxbase.json
│   │   ├── bxcalc.json
│   │   ├── bxcalcux.json
│   │   ├── bxcjkjatype.json
│   │   ├── bxcjkvert.json
│   │   ├── bxdvidriver.json
│   │   ├── bxeepic.json
│   │   ├── bxenclose.json
│   │   ├── bxghost-lib.json
│   │   ├── bxghost.json
│   │   ├── bxjaholiday.json
│   │   ├── bxjalipsum.json
│   │   ├── bxjaprnind.json
│   │   ├── bxjatoucs.json
│   │   ├── bxnewfont.json
│   │   ├── bxorigcapt.json
│   │   ├── bxpapersize.json
│   │   ├── bxpdfver.json
│   │   ├── bxtexlogo.json
│   │   ├── bxtoolbox.json
│   │   ├── bxwareki.json
│   │   ├── byo-twemojis.json
│   │   ├── byrne.json
│   │   ├── bytefield.json
│   │   ├── byzantinemusic.json
│   │   ├── cabin.json
│   │   ├── cahierprof.json
│   │   ├── caladea.json
│   │   ├── calc.json
│   │   ├── calcage.json
│   │   ├── calcfrac.json
│   │   ├── calctab.json
│   │   ├── calculation.json
│   │   ├── calculator.json
│   │   ├── calculus.json
│   │   ├── calligra.json
│   │   ├── callouts.json
│   │   ├── cals.json
│   │   ├── cancel.json
│   │   ├── canoniclayout.json
│   │   ├── cantarell.json
│   │   ├── capt-of.json
│   │   ├── captcont.json
│   │   ├── captdef.json
│   │   ├── caption-light.json
│   │   ├── caption.json
│   │   ├── caption3.json
│   │   ├── carbohydrates.json
│   │   ├── carlito.json
│   │   ├── carolmin.json
│   │   ├── carom.json
│   │   ├── cartonaugh.json
│   │   ├── cas-common.json
│   │   ├── cascade.json
│   │   ├── cascadia-code.json
│   │   ├── cases.json
│   │   ├── casiofont.json
│   │   ├── catchdq.json
│   │   ├── catchfile.json
│   │   ├── catchfilebetweentags.json
│   │   ├── catechis.json
│   │   ├── catppuccinpalette.json
│   │   ├── causets.json
│   │   ├── ccaption.json
│   │   ├── ccfonts.json
│   │   ├── ccicons.json
│   │   ├── cclicenses.json
│   │   ├── ccycle.json
│   │   ├── cdcmd.json
│   │   ├── cellprops.json
│   │   ├── cellspace.json
│   │   ├── censor.json
│   │   ├── centeredline.json
│   │   ├── centerlastline.json
│   │   ├── centernot.json
│   │   ├── cesenaexam.json
│   │   ├── cfr-lm.json
│   │   ├── cgloss4e.json
│   │   ├── changebar.json
│   │   ├── changelog.json
│   │   ├── changepage.json
│   │   ├── changes.json
│   │   ├── chappg.json
│   │   ├── chapterbib.json
│   │   ├── chapterfolder.json
│   │   ├── chbibref.json
│   │   ├── checklistings.json
│   │   ├── chemarr.json
│   │   ├── chemarrow.json
│   │   ├── chemcompounds.json
│   │   ├── chemfig.json
│   │   ├── chemformula-ru.json
│   │   ├── chemformula.json
│   │   ├── chemgreek.json
│   │   ├── chemist.json
│   │   ├── chemmacros.json
│   │   ├── chemnum.json
│   │   ├── chemobabel.json
│   │   ├── chemplants.json
│   │   ├── chemscheme.json
│   │   ├── chemschemex.json
│   │   ├── chemsec.json
│   │   ├── chemstr.json
│   │   ├── chemstyle.json
│   │   ├── cherokee.json
│   │   ├── chessboard.json
│   │   ├── chessfss.json
│   │   ├── chet.json
│   │   ├── chextras.json
│   │   ├── chhaya.json
│   │   ├── chickenize.json
│   │   ├── china2e.json
│   │   ├── chinesechess.json
│   │   ├── chkfloat.json
│   │   ├── chmst-pdf.json
│   │   ├── chngcntr.json
│   │   ├── chordbars.json
│   │   ├── chordbox.json
│   │   ├── chronology.json
│   │   ├── chronosys.json
│   │   ├── churchslavonic.json
│   │   ├── cinzel.json
│   │   ├── circle.json
│   │   ├── circledsteps.json
│   │   ├── circledtext.json
│   │   ├── circuitikz.json
│   │   ├── circularglyphs.json
│   │   ├── citation-style-language.json
│   │   ├── cite.json
│   │   ├── citeall.json
│   │   ├── cjhebrew.json
│   │   ├── cjkutf8-josa.json
│   │   ├── cjkutf8-ko.json
│   │   ├── clara.json
│   │   ├── class-BHCexam.json
│   │   ├── class-FUbeamer.json
│   │   ├── class-FUpowerdot.json
│   │   ├── class-IEEEconf.json
│   │   ├── class-IEEEtran.json
│   │   ├── class-ReadableCV.json
│   │   ├── class-a0poster.json
│   │   ├── class-aalok.json
│   │   ├── class-abntex2.json
│   │   ├── class-abntexto.json
│   │   ├── class-achemso.json
│   │   ├── class-acm-book.json
│   │   ├── class-acmart.json
│   │   ├── class-altacv.json
│   │   ├── class-amnestyreport.json
│   │   ├── class-amsart.json
│   │   ├── class-amsbkrev.json
│   │   ├── class-amsbook.json
│   │   ├── class-amsldoc.json
│   │   ├── class-amsproc.json
│   │   ├── class-amstext-l.json
│   │   ├── class-aomart.json
│   │   ├── class-apa6.json
│   │   ├── class-apa7.json
│   │   ├── class-arabic-book.json
│   │   ├── class-argetabelle.json
│   │   ├── class-artikel1.json
│   │   ├── class-artikel2.json
│   │   ├── class-artikel3.json
│   │   ├── class-asmeconf.json
│   │   ├── class-asmejour.json
│   │   ├── class-aucklandthesis.json
│   │   ├── class-bangorcsthesis.json
│   │   ├── class-bankstatement.json
│   │   ├── class-basque-book.json
│   │   ├── class-beamer-rl.json
│   │   ├── class-beamer.json
│   │   ├── class-beamerswitch.json
│   │   ├── class-beaulivre.json
│   │   ├── class-beilstein.json
│   │   ├── class-bewerbung.json
│   │   ├── class-bfhbeamer.json
│   │   ├── class-bfhpub.json
│   │   ├── class-bfhsciposter.json
│   │   ├── class-bfhthesis.json
│   │   ├── class-biditufte-book.json
│   │   ├── class-biditufte-handout.json
│   │   ├── class-bitart.json
│   │   ├── class-bitbeamer.json
│   │   ├── class-bitbook.json
│   │   ├── class-bithesis.json
│   │   ├── class-bitreport.json
│   │   ├── class-bjfuthesis.json
│   │   ├── class-boek.json
│   │   ├── class-boek3.json
│   │   ├── class-book.json
│   │   ├── class-bookcover.json
│   │   ├── class-bookshelf.json
│   │   ├── class-br-lex.json
│   │   ├── class-brandeis-dissertation.json
│   │   ├── class-brandeis-thesis.json
│   │   ├── class-brief.json
│   │   ├── class-buctcover.json
│   │   ├── class-buctthesis.json
│   │   ├── class-bull-l.json
│   │   ├── class-businesscard-qrcode.json
│   │   ├── class-caesar_book.json
│   │   ├── class-cas-dc.json
│   │   ├── class-cas-sc.json
│   │   ├── class-cesenaexam.json
│   │   ├── class-cheatsheet.json
│   │   ├── class-chletter.json
│   │   ├── class-cnltx-doc.json
│   │   ├── class-codedoc.json
│   │   ├── class-colorart.json
│   │   ├── class-colorbook.json
│   │   ├── class-combine.json
│   │   ├── class-contracard.json
│   │   ├── class-cours.json
│   │   ├── class-cquthesis.json
│   │   ├── class-csassignments.json
│   │   ├── class-ctexart.json
│   │   ├── class-ctexbeamer.json
│   │   ├── class-ctexbook.json
│   │   ├── class-ctexrep.json
│   │   ├── class-ctxdoc.json
│   │   ├── class-curve.json
│   │   ├── class-droit-fr.json
│   │   ├── class-dtk.json
│   │   ├── class-easybook.json
│   │   ├── class-ecgd-l.json
│   │   ├── class-einfart.json
│   │   ├── class-ejpecp.json
│   │   ├── class-elegantbook.json
│   │   ├── class-elegantnote.json
│   │   ├── class-elegantpaper.json
│   │   ├── class-elpres.json
│   │   ├── class-elsarticle.json
│   │   ├── class-elteikthesis.json
│   │   ├── class-emisa.json
│   │   ├── class-ert-l.json
│   │   ├── class-europasscv.json
│   │   ├── class-europecv.json
│   │   ├── class-exam-n.json
│   │   ├── class-exam-zh.json
│   │   ├── class-exam.json
│   │   ├── class-examz.json
│   │   ├── class-exesheet.json
│   │   ├── class-extarticle.json
│   │   ├── class-extbook.json
│   │   ├── class-extletter.json
│   │   ├── class-extproc.json
│   │   ├── class-extreport.json
│   │   ├── class-factura.json
│   │   ├── class-facture.json
│   │   ├── class-fancyhandout.json
│   │   ├── class-fancyslides.json
│   │   ├── class-fduthesis-en.json
│   │   ├── class-fduthesis.json
│   │   ├── class-fei.json
│   │   ├── class-fiche.json
│   │   ├── class-fithesis4.json
│   │   ├── class-flashcards.json
│   │   ├── class-g-brief.json
│   │   ├── class-g-brief2.json
│   │   ├── class-gammas.json
│   │   ├── class-geradwp.json
│   │   ├── class-grant-afosr.json
│   │   ├── class-grant-aro.json
│   │   ├── class-grant-darpa.json
│   │   ├── class-grant-doe.json
│   │   ├── class-grant-nih.json
│   │   ├── class-grant-nrl.json
│   │   ├── class-grant-nsf.json
│   │   ├── class-grant-onr.json
│   │   ├── class-grant.json
│   │   ├── class-graphpaper.json
│   │   ├── class-gridslides.json
│   │   ├── class-gtpart.json
│   │   ├── class-guitartabs.json
│   │   ├── class-guitbeamer.json
│   │   ├── class-gztarticle.json
│   │   ├── class-harnon-cv.json
│   │   ├── class-hausarbeit-jura.json
│   │   ├── class-hecthese.json
│   │   ├── class-hepthesis.json
│   │   ├── class-hfutthesis.json
│   │   ├── class-hgbarticle.json
│   │   ├── class-hgbreport.json
│   │   ├── class-hgbthesis.json
│   │   ├── class-hitec.json
│   │   ├── class-hletter.json
│   │   ├── class-homework.json
│   │   ├── class-hu-berlin-letter.json
│   │   ├── class-idcc.json
│   │   ├── class-ijdc-v14.json
│   │   ├── class-ijdc-v9.json
│   │   ├── class-image-gallery.json
│   │   ├── class-imsart.json
│   │   ├── class-invoice-class.json
│   │   ├── class-iodhbwm.json
│   │   ├── class-iopart.json
│   │   ├── class-iscram.json
│   │   ├── class-isodoc.json
│   │   ├── class-isov2.json
│   │   ├── class-jacow.json
│   │   ├── class-jag-l.json
│   │   ├── class-jams-l.json
│   │   ├── class-jarticle.json
│   │   ├── class-jbook.json
│   │   ├── class-jj_game.json
│   │   ├── class-jlreq.json
│   │   ├── class-jltxdoc.json
│   │   ├── class-jmlr.json
│   │   ├── class-jourcl.json
│   │   ├── class-jreport.json
│   │   ├── class-jsarticle.json
│   │   ├── class-jsbook.json
│   │   ├── class-jspf.json
│   │   ├── class-jsreport.json
│   │   ├── class-jurabook.json
│   │   ├── class-juraovw.json
│   │   ├── class-juraurtl.json
│   │   ├── class-jwjournal.json
│   │   ├── class-kaobook.json
│   │   ├── class-kaohandt.json
│   │   ├── class-kdpcover.json
│   │   ├── class-kerntest.json
│   │   ├── class-kiyou.json
│   │   ├── class-komacv.json
│   │   ├── class-l3doc.json
│   │   ├── class-labbook.json
│   │   ├── class-langscibook.json
│   │   ├── class-leadsheet.json
│   │   ├── class-leaflet.json
│   │   ├── class-lebhart.json
│   │   ├── class-letgut.json
│   │   ├── class-letter.json
│   │   ├── class-lettre.json
│   │   ├── class-limap.json
│   │   ├── class-limecv.json
│   │   ├── class-llncs.json
│   │   ├── class-lni.json
│   │   ├── class-ltjarticle.json
│   │   ├── class-ltjbook.json
│   │   ├── class-ltjltxdoc.json
│   │   ├── class-ltjreport.json
│   │   ├── class-ltjsarticle.json
│   │   ├── class-ltjsbook.json
│   │   ├── class-ltjskiyou.json
│   │   ├── class-ltjspf.json
│   │   ├── class-ltjsreport.json
│   │   ├── class-ltjtarticle.json
│   │   ├── class-ltjtbook.json
│   │   ├── class-ltjtreport.json
│   │   ├── class-ltnews.json
│   │   ├── class-ltugboat.json
│   │   ├── class-ltxdoc.json
│   │   ├── class-ltxdockit.json
│   │   ├── class-ltxguide.json
│   │   ├── class-ltxguidex.json
│   │   ├── class-maabook.json
│   │   ├── class-matapli.json
│   │   ├── class-mcmthesis.json
│   │   ├── class-mcom-l.json
│   │   ├── class-meetingmins.json
│   │   ├── class-memo-l.json
│   │   ├── class-memoir.json
│   │   ├── class-mensa-tex.json
│   │   ├── class-metanorma.json
│   │   ├── class-milog.json
│   │   ├── class-minimart.json
│   │   ├── class-minimbook.json
│   │   ├── class-mitthesis.json
│   │   ├── class-mla.json
│   │   ├── class-mnras.json
│   │   ├── class-moderncv.json
│   │   ├── class-modernposter.json
│   │   ├── class-mosc-l.json
│   │   ├── class-msu-thesis.json
│   │   ├── class-mucproc.json
│   │   ├── class-mugsthesis.json
│   │   ├── class-mwart.json
│   │   ├── class-mwbk.json
│   │   ├── class-mwrep.json
│   │   ├── class-mynsfc.json
│   │   ├── class-nanicolle.json
│   │   ├── class-ncc.json
│   │   ├── class-nddiss2e.json
│   │   ├── class-newlfm.json
│   │   ├── class-njustthesis.json
│   │   ├── class-njuthesis.json
│   │   ├── class-nlctdoc.json
│   │   ├── class-nostarch.json
│   │   ├── class-novel.json
│   │   ├── class-nwafuthesis.json
│   │   ├── class-nwejmart.json
│   │   ├── class-oblivoir.json
│   │   ├── class-octavo.json
│   │   ├── class-oup-authoring-template.json
│   │   ├── class-pagelayout.json
│   │   ├── class-papertex.json
│   │   ├── class-pdfArticle.json
│   │   ├── class-petiteannonce.json
│   │   ├── class-phfextendedabstract.json
│   │   ├── class-philosophersimprint.json
│   │   ├── class-photobook.json
│   │   ├── class-pkuthss.json
│   │   ├── class-powerdot.json
│   │   ├── class-pressrelease.json
│   │   ├── class-proc-l.json
│   │   ├── class-proc.json
│   │   ├── class-protocol.json
│   │   ├── class-prtec.json
│   │   ├── class-pylatex.json
│   │   ├── class-qam-l.json
│   │   ├── class-qcm.json
│   │   ├── class-quantumarticle.json
│   │   ├── class-quantumview.json
│   │   ├── class-randexam.json
│   │   ├── class-rapport1.json
│   │   ├── class-rapport3.json
│   │   ├── class-report.json
│   │   ├── class-resphilosophica.json
│   │   ├── class-resumecls.json
│   │   ├── class-revtex4-2.json
│   │   ├── class-ryersonSGSThesis.json
│   │   ├── class-sagej.json
│   │   ├── class-sapthesis.json
│   │   ├── class-schulma-ab.json
│   │   ├── class-schulma-gutachten.json
│   │   ├── class-schulma-klausur.json
│   │   ├── class-schulma-komp.json
│   │   ├── class-schulma-mdlprf.json
│   │   ├── class-schulma-praes.json
│   │   ├── class-schwalbe.json
│   │   ├── class-sciposter.json
│   │   ├── class-scrartcl,scrreprt,scrbook.json
│   │   ├── class-scrartcl.json
│   │   ├── class-scrbook.json
│   │   ├── class-scrdoc.json
│   │   ├── class-screenplay.json
│   │   ├── class-scrlttr2.json
│   │   ├── class-scrreprt.json
│   │   ├── class-sdapsclassic.json
│   │   ├── class-se2thesis.json
│   │   ├── class-shtthesis.json
│   │   ├── class-simplethesisdissertation.json
│   │   ├── class-simplivre.json
│   │   ├── class-skdoc.json
│   │   ├── class-skrapport.json
│   │   ├── class-slides.json
│   │   ├── class-smfart.json
│   │   ├── class-smfbook.json
│   │   ├── class-sn-jnl.json
│   │   ├── class-spmj-l.json
│   │   ├── class-sr-vorl.json
│   │   ├── class-sslides.json
│   │   ├── class-stage.json
│   │   ├── class-standalone.json
│   │   ├── class-stex.json
│   │   ├── class-suftesi.json
│   │   ├── class-surv-l.json
│   │   ├── class-svmono.json
│   │   ├── class-svmult.json
│   │   ├── class-talk.json
│   │   ├── class-tarticle.json
│   │   ├── class-tbook.json
│   │   ├── class-thesis-ekf.json
│   │   ├── class-thuthesis.json
│   │   ├── class-tikz-kalender.json
│   │   ├── class-tikzposter.json
│   │   ├── class-tkz-doc.json
│   │   ├── class-tlc-article.json
│   │   ├── class-toptesi.json
│   │   ├── class-tpms-l.json
│   │   ├── class-tran-l.json
│   │   ├── class-trans2-l.json
│   │   ├── class-treport.json
│   │   ├── class-tudabeamer.json
│   │   ├── class-tudaexercise.json
│   │   ├── class-tudaleaflet.json
│   │   ├── class-tudaletter.json
│   │   ├── class-tudaposter.json
│   │   ├── class-tudapub.json
│   │   ├── class-tudasciposter.json
│   │   ├── class-tudscrartcl.json
│   │   ├── class-tudscrbook.json
│   │   ├── class-tudscrposter.json
│   │   ├── class-tudscrreprt.json
│   │   ├── class-tufte-book.json
│   │   ├── class-tufte-handout.json
│   │   ├── class-turabian-researchpaper.json
│   │   ├── class-turabian-thesis.json
│   │   ├── class-ucalgmthesis.json
│   │   ├── class-ucbthesis.json
│   │   ├── class-ucdavisthesis.json
│   │   ├── class-udes-genie-these.json
│   │   ├── class-udiss.json
│   │   ├── class-ujarticle.json
│   │   ├── class-ujbook.json
│   │   ├── class-ujreport.json
│   │   ├── class-ukbill.json
│   │   ├── class-ulect-l.json
│   │   ├── class-ulthese.json
│   │   ├── class-unbtex.json
│   │   ├── class-unifith.json
│   │   ├── class-unigrazpub.json
│   │   ├── class-univie-ling-expose.json
│   │   ├── class-univie-ling-handout.json
│   │   ├── class-univie-ling-paper.json
│   │   ├── class-univie-ling-poster.json
│   │   ├── class-univie-ling-thesis.json
│   │   ├── class-univie-ling-wlg.json
│   │   ├── class-upmethodology-document.json
│   │   ├── class-ut-thesis.json
│   │   ├── class-utarticle.json
│   │   ├── class-utbook.json
│   │   ├── class-utexasthesis.json
│   │   ├── class-utreport.json
│   │   ├── class-uuthesis2e.json
│   │   ├── class-verifica.json
│   │   ├── class-webquiz.json
│   │   ├── class-wgexport.json
│   │   ├── class-willowtreebook.json
│   │   ├── class-xdupgthesis.json
│   │   ├── class-xduugthesis.json
│   │   ├── class-xduugtp.json
│   │   ├── class-xebaposter.json
│   │   ├── class-xepersian-magazine.json
│   │   ├── class-ximera.json
│   │   ├── class-xourse.json
│   │   ├── class-yaletter.json
│   │   ├── class-yathesis.json
│   │   ├── class-ycbook.json
│   │   ├── class-ydoc.json
│   │   ├── class-zbMATH.json
│   │   ├── classico.json
│   │   ├── classics.json
│   │   ├── classicthesis-arsclassica.json
│   │   ├── classicthesis.json
│   │   ├── classif2.json
│   │   ├── classlist.json
│   │   ├── cleanthesis.json
│   │   ├── clefval.json
│   │   ├── cleveref-forward.json
│   │   ├── cleveref-usedon.json
│   │   ├── cleveref.json
│   │   ├── clicks.json
│   │   ├── clipboard.json
│   │   ├── clock.json
│   │   ├── clojure-pamphlet.json
│   │   ├── cloze.json
│   │   ├── clrdblpg.json
│   │   ├── clrscode3e.json
│   │   ├── clrstrip.json
│   │   ├── cmathbb.json
│   │   ├── cmbright.json
│   │   ├── cmdstring.json
│   │   ├── cmdtrack.json
│   │   ├── cmll.json
│   │   ├── cmsendnotes.json
│   │   ├── cmsrb.json
│   │   ├── cmtt.json
│   │   ├── cmupint.json
│   │   ├── cncolours.json
│   │   ├── cnlogo.json
│   │   ├── cnltx-base.json
│   │   ├── cnltx-example.json
│   │   ├── cnltx-listings.json
│   │   ├── cnltx-names.json
│   │   ├── cnltx-tools.json
│   │   ├── cnltx-translations.json
│   │   ├── cnltx.json
│   │   ├── cntdwn.json
│   │   ├── cntformats.json
│   │   ├── cochineal.json
│   │   ├── codeanatomy.json
│   │   ├── codebox.json
│   │   ├── codedescribe.json
│   │   ├── codehigh.json
│   │   ├── codelisting.json
│   │   ├── codesection.json
│   │   ├── coelacanth.json
│   │   ├── coffeestains.json
│   │   ├── collargs.json
│   │   ├── collcell.json
│   │   ├── collect.json
│   │   ├── collectbox.json
│   │   ├── college-math-j.json
│   │   ├── collref.json
│   │   ├── colonequals.json
│   │   ├── colophon.json
│   │   ├── color-edits.json
│   │   ├── color.json
│   │   ├── colorblind.json
│   │   ├── colordoc.json
│   │   ├── colordvi.json
│   │   ├── colorframed.json
│   │   ├── colorinfo.json
│   │   ├── colorist-fancy.json
│   │   ├── colorist.json
│   │   ├── colorjamo.json
│   │   ├── colorpalette.json
│   │   ├── colorspace.json
│   │   ├── colortbl.json
│   │   ├── colorwav.json
│   │   ├── colorweb.json
│   │   ├── colourchange.json
│   │   ├── combelow.json
│   │   ├── combinedgraphics.json
│   │   ├── combofont.json
│   │   ├── comfortaa.json
│   │   ├── comicneue.json
│   │   ├── comicsans.json
│   │   ├── comma.json
│   │   ├── commado.json
│   │   ├── commath.json
│   │   ├── commedit.json
│   │   ├── comment.json
│   │   ├── commonunicode.json
│   │   ├── commutative-diagrams.json
│   │   ├── competences.json
│   │   ├── complexity.json
│   │   ├── compsci.json
│   │   ├── concepts.json
│   │   ├── concmath-otf.json
│   │   ├── concmath.json
│   │   ├── conditext.json
│   │   ├── conditionals.json
│   │   ├── constants.json
│   │   ├── conteq.json
│   │   ├── continue.json
│   │   ├── contour.json
│   │   ├── contracard.json
│   │   ├── contract.json
│   │   ├── conv-xkv.json
│   │   ├── cooking-units.json
│   │   ├── cooking.json
│   │   ├── cookingsymbols.json
│   │   ├── coolfn.json
│   │   ├── coollist.json
│   │   ├── coolstr.json
│   │   ├── coolthms.json
│   │   ├── cooltooltips.json
│   │   ├── coop-writing.json
│   │   ├── coordsys.json
│   │   ├── coptic.json
│   │   ├── copyrightbox.json
│   │   ├── correctmathalign.json
│   │   ├── corridx.json
│   │   ├── coseoul.json
│   │   ├── couleurs-fr.json
│   │   ├── counterz.json
│   │   ├── countriesofeurope.json
│   │   ├── counttexruns.json
│   │   ├── couriers.json
│   │   ├── courierten.json
│   │   ├── covington.json
│   │   ├── cprotect.json
│   │   ├── cprotectinside.json
│   │   ├── cpssp.json
│   │   ├── cquthesis.json
│   │   ├── crbox.json
│   │   ├── create-theorem.json
│   │   ├── createsudoku.json
│   │   ├── crefthe.json
│   │   ├── crimson.json
│   │   ├── crop.json
│   │   ├── cropmark.json
│   │   ├── crossrefenum.json
│   │   ├── crossreference.json
│   │   ├── crossreftools.json
│   │   ├── crumbs.json
│   │   ├── cryptocode.json
│   │   ├── csquotes.json
│   │   ├── css-colors.json
│   │   ├── cstypo.json
│   │   ├── csvmerge.json
│   │   ├── csvsimple-l3.json
│   │   ├── csvsimple-legacy.json
│   │   ├── csvsimple.json
│   │   ├── ctable.json
│   │   ├── ctablestack.json
│   │   ├── ctex.json
│   │   ├── cu-calendar.json
│   │   ├── cu-kinovar.json
│   │   ├── cu-kruk.json
│   │   ├── cu-num.json
│   │   ├── currency.json
│   │   ├── currfile-abspath.json
│   │   ├── currfile.json
│   │   ├── currvita.json
│   │   ├── cursor.json
│   │   ├── curve2e.json
│   │   ├── curves.json
│   │   ├── customdice.json
│   │   ├── cuted.json
│   │   ├── cutwin.json
│   │   ├── cvss.json
│   │   ├── cwpuzzle.json
│   │   ├── cyber.json
│   │   ├── cypriot.json
│   │   ├── cyrillic.json
│   │   ├── dad.json
│   │   ├── dantelogo.json
│   │   ├── darkmode.json
│   │   ├── dashbox.json
│   │   ├── dashrule.json
│   │   ├── dashrulex.json
│   │   ├── dashundergaps.json
│   │   ├── databar.json
│   │   ├── databib.json
│   │   ├── datagidx.json
│   │   ├── datapie.json
│   │   ├── dataplot.json
│   │   ├── dataref.json
│   │   ├── datatool-base.json
│   │   ├── datatool-fp.json
│   │   ├── datatool-pgfmath.json
│   │   ├── datatool.json
│   │   ├── datax.json
│   │   ├── dateiliste.json
│   │   ├── datenumber.json
│   │   ├── datestamp.json
│   │   ├── datetime2-calc.json
│   │   ├── datetime2-en-fulltext.json
│   │   ├── datetime2.json
│   │   ├── daytime.json
│   │   ├── dblfnote.json
│   │   ├── dbshow.json
│   │   ├── dccpaper-base.json
│   │   ├── dcounter.json
│   │   ├── ddphonism.json
│   │   ├── debate.json
│   │   ├── decimalcomma.json
│   │   ├── decision-table.json
│   │   ├── decorule.json
│   │   ├── dejavu-otf.json
│   │   ├── delim.json
│   │   ├── delimseasy.json
│   │   ├── delimset.json
│   │   ├── democodelisting.json
│   │   ├── democodetools.json
│   │   ├── derivative.json
│   │   ├── desclist.json
│   │   ├── dgruyter.json
│   │   ├── dhua.json
│   │   ├── dhucs-gremph.json
│   │   ├── dhucs-interword.json
│   │   ├── dhucs-setspace.json
│   │   ├── dhucs-trivcj.json
│   │   ├── dhucs-ucshyper.json
│   │   ├── dhucsfn.json
│   │   ├── diadia.json
│   │   ├── diagbox.json
│   │   ├── diagram.json
│   │   ├── diagxy.json
│   │   ├── dialogue.json
│   │   ├── dichokey.json
│   │   ├── dictsym.json
│   │   ├── didec.json
│   │   ├── diffcoeff.json
│   │   ├── digicap-pro.json
│   │   ├── digiconfigs.json
│   │   ├── digsig.json
│   │   ├── dijkstra.json
│   │   ├── dimnum.json
│   │   ├── dingbat.json
│   │   ├── dirtree.json
│   │   ├── dirtytalk.json
│   │   ├── ditaa.json
│   │   ├── dlfltxbcodetips.json
│   │   ├── dlfltxbmarkup.json
│   │   ├── dlfltxbmarkupbookkeys.json
│   │   ├── dlfltxbmisc.json
│   │   ├── dline.json
│   │   ├── dljslib.json
│   │   ├── dmlb.json
│   │   ├── dnaseq.json
│   │   ├── doafter.json
│   │   ├── doc.json
│   │   ├── docassembly.json
│   │   ├── doclicense.json
│   │   ├── docmfp.json
│   │   ├── docmute.json
│   │   ├── docshots.json
│   │   ├── doctools.json
│   │   ├── dogma.json
│   │   ├── doi.json
│   │   ├── doibanner.json
│   │   ├── doipubmed.json
│   │   ├── domaincoloring.json
│   │   ├── domitian.json
│   │   ├── domore.json
│   │   ├── dot2texi.json
│   │   ├── dotlessi.json
│   │   ├── dotseqn.json
│   │   ├── dowith.json
│   │   ├── download.json
│   │   ├── dox.json
│   │   ├── dozenal.json
│   │   ├── dpfloat.json
│   │   ├── dps.json
│   │   ├── drac.json
│   │   ├── draftcopy.json
│   │   ├── draftfigure.json
│   │   ├── draftmark.json
│   │   ├── draftwatermark.json
│   │   ├── dramatist.json
│   │   ├── drawmatrix.json
│   │   ├── drawstack.json
│   │   ├── drcaps.json
│   │   ├── drm.json
│   │   ├── droid.json
│   │   ├── droidsans.json
│   │   ├── droidsansmono.json
│   │   ├── droidserif.json
│   │   ├── drs.json
│   │   ├── dsfont.json
│   │   ├── dspblocks.json
│   │   ├── dspfunctions.json
│   │   ├── dsptricks.json
│   │   ├── dsserif.json
│   │   ├── dtk-extern.json
│   │   ├── dtk-logos.json
│   │   ├── dtk-url.json
│   │   ├── dtxdescribe.json
│   │   ├── ducksay.json
│   │   ├── duckuments.json
│   │   ├── duerer.json
│   │   ├── dutchcal.json
│   │   ├── dvgloss.json
│   │   ├── dvipscol.json
│   │   ├── dvisirule.json
│   │   ├── dynamicnumber.json
│   │   ├── dynblocks.json
│   │   ├── dynbrackets.json
│   │   ├── dynkin-diagrams.json
│   │   ├── dyntree.json
│   │   ├── ean13isbn.json
│   │   ├── easy-todo.json
│   │   ├── easyReview.json
│   │   ├── easybase.json
│   │   ├── easyfig.json
│   │   ├── easyfloats.json
│   │   ├── easyformat.json
│   │   ├── easylist.json
│   │   ├── easyvector.json
│   │   ├── ebgaramond.json
│   │   ├── ebook.json
│   │   ├── ebproof.json
│   │   ├── eco.json
│   │   ├── econlipsum.json
│   │   ├── econometrics.json
│   │   ├── ecrc.json
│   │   ├── ed.json
│   │   ├── edcntwd0.json
│   │   ├── edichokey.json
│   │   ├── ednmath0.json
│   │   ├── ednotes.json
│   │   ├── edtable.json
│   │   ├── eemeir.json
│   │   ├── eepic.json
│   │   ├── efbox.json
│   │   ├── eforms.json
│   │   ├── egothic.json
│   │   ├── egpeirce.json
│   │   ├── egplot.json
│   │   ├── egypto.json
│   │   ├── ekdosis.json
│   │   ├── electrum.json
│   │   ├── elements.json
│   │   ├── ellipsis.json
│   │   ├── elocalloc.json
│   │   ├── elpresbluelightgrayscheme.json
│   │   ├── elpresgrayscheme.json
│   │   ├── elpreswhitebluescheme.json
│   │   ├── elpreswhiteredscheme.json
│   │   ├── elpreswhitetealscheme.json
│   │   ├── elzcards.json
│   │   ├── emarks.json
│   │   ├── embedall.json
│   │   ├── embedfile.json
│   │   ├── embrac.json
│   │   ├── emf.json
│   │   ├── emo.json
│   │   ├── emoji.json
│   │   ├── emojicite.json
│   │   ├── emotion.json
│   │   ├── emp.json
│   │   ├── empheq.json
│   │   ├── emptypage.json
│   │   ├── endfloat.json
│   │   ├── endheads.json
│   │   ├── endiagram.json
│   │   ├── endnotes-hy.json
│   │   ├── endnotes.json
│   │   ├── endnotesj.json
│   │   ├── endofproofwd.json
│   │   ├── engord.json
│   │   ├── engpron.json
│   │   ├── engrec.json
│   │   ├── enigma.json
│   │   ├── enotez.json
│   │   ├── enparen.json
│   │   ├── enumerate.json
│   │   ├── enumitem.json
│   │   ├── enverb.json
│   │   ├── environ.json
│   │   ├── envlab.json
│   │   ├── envmath.json
│   │   ├── eolang.json
│   │   ├── eolgrab.json
│   │   ├── epcqrcode.json
│   │   ├── epic.json
│   │   ├── epigrafica.json
│   │   ├── epigraph-keys.json
│   │   ├── epigraph.json
│   │   ├── epiolmec.json
│   │   ├── epltxfn.json
│   │   ├── epsdice.json
│   │   ├── epspdfconversion.json
│   │   ├── epstopdf.json
│   │   ├── eq-fetchbbl.json
│   │   ├── eq-pin2corr.json
│   │   ├── eq-save.json
│   │   ├── eq2db.json
│   │   ├── eqell.json
│   │   ├── eqexam.json
│   │   ├── eqexpl.json
│   │   ├── eqlist.json
│   │   ├── eqnalign.json
│   │   ├── eqname.json
│   │   ├── eqnarray.json
│   │   ├── eqnnumwarn.json
│   │   ├── eqparbox.json
│   │   ├── erewhon.json
│   │   ├── errata.json
│   │   ├── esami.json
│   │   ├── esindex.json
│   │   ├── esint.json
│   │   ├── esk.json
│   │   ├── eso-pic.json
│   │   ├── esrelation.json
│   │   ├── esstixbb.json
│   │   ├── esstixfrak.json
│   │   ├── esvect.json
│   │   ├── etaremune.json
│   │   ├── etextools.json
│   │   ├── etoc.json
│   │   ├── etoolbox.json
│   │   ├── etruscan.json
│   │   ├── eucal.json
│   │   ├── euclideangeometry.json
│   │   ├── euflag.json
│   │   ├── eufrak.json
│   │   ├── eukdate.json
│   │   ├── eukleides.json
│   │   ├── euler-math.json
│   │   ├── euler.json
│   │   ├── eulerpx.json
│   │   ├── eulervm.json
│   │   ├── euroitc.json
│   │   ├── europasscv-bibliography.json
│   │   ├── europs.json
│   │   ├── eurosym.json
│   │   ├── euscript.json
│   │   ├── everyhook.json
│   │   ├── everypage.json
│   │   ├── everyshi.json
│   │   ├── exaccent.json
│   │   ├── exam-randomizechoices.json
│   │   ├── exam-zh-chinese-english.json
│   │   ├── exam-zh-choices.json
│   │   ├── exam-zh-font.json
│   │   ├── exam-zh-math.json
│   │   ├── exam-zh-question.json
│   │   ├── exam-zh-symbols.json
│   │   ├── exam-zh-textfigure.json
│   │   ├── example.json
│   │   ├── exceltex.json
│   │   ├── excludeonly.json
│   │   ├── exercise.json
│   │   ├── exercisebank.json
│   │   ├── exercisepoints.json
│   │   ├── exercises.json
│   │   ├── exerquiz.json
│   │   ├── exesheet.json
│   │   ├── exframe.json
│   │   ├── exp-testopt.json
│   │   ├── expex-acro.json
│   │   ├── expex-glossonly.json
│   │   ├── expex.json
│   │   ├── expkv-cs.json
│   │   ├── expkv-def.json
│   │   ├── expkv-opt.json
│   │   ├── expkv-pop.json
│   │   ├── expkv.json
│   │   ├── export.json
│   │   ├── exsol.json
│   │   ├── extarrows.json
│   │   ├── extdash.json
│   │   ├── extpfeil.json
│   │   ├── extract.json
│   │   ├── extraipa.json
│   │   ├── extramarks.json
│   │   ├── extsizes.json
│   │   ├── fadingimage.json
│   │   ├── faktor.json
│   │   ├── familytree.json
│   │   ├── fancybox.json
│   │   ├── fancyhdr.json
│   │   ├── fancylabel.json
│   │   ├── fancynum.json
│   │   ├── fancypar.json
│   │   ├── fancyqr.json
│   │   ├── fancyref.json
│   │   ├── fancytabs.json
│   │   ├── fancytooltips.json
│   │   ├── fancyunits-base.json
│   │   ├── fancyunits-np.json
│   │   ├── fancyunits-per.json
│   │   ├── fancyunits_big-fractions.json
│   │   ├── fancyunits_medium-fractions.json
│   │   ├── fancyunits_small-fractions.json
│   │   ├── fancyvrb-ex.json
│   │   ├── fancyvrb.json
│   │   ├── fapapersize.json
│   │   ├── fascicules.json
│   │   ├── fast-diagram.json
│   │   ├── fbb.json
│   │   ├── fbox.json
│   │   ├── fc_arith.json
│   │   ├── fclfont.json
│   │   ├── fcolumn.json
│   │   ├── fcprefix.json
│   │   ├── fdsymbol.json
│   │   ├── fdulogo.json
│   │   ├── fenixpar.json
│   │   ├── fenixtok.json
│   │   ├── fetamont.json
│   │   ├── fetchbibpes.json
│   │   ├── fetchcls.json
│   │   ├── fewerfloatpages.json
│   │   ├── feyn.json
│   │   ├── feynmf.json
│   │   ├── feynmp-auto.json
│   │   ├── feynmp.json
│   │   ├── ffcode.json
│   │   ├── fge.json
│   │   ├── fgruler.json
│   │   ├── fhgtechdoku_additional.json
│   │   ├── fibnum.json
│   │   ├── fifinddo.json
│   │   ├── fifo-stack.json
│   │   ├── figchild.json
│   │   ├── figlatex.json
│   │   ├── figput.json
│   │   ├── figsize.json
│   │   ├── filecontentsdef.json
│   │   ├── filehook.json
│   │   ├── filemod-expmin.json
│   │   ├── filemod.json
│   │   ├── filesdo.json
│   │   ├── fillwith.json
│   │   ├── finstrut.json
│   │   ├── firamath-otf.json
│   │   ├── fistrum.json
│   │   ├── fitbox.json
│   │   ├── fitch.json
│   │   ├── fitr.json
│   │   ├── fixdif.json
│   │   ├── fixfoot.json
│   │   ├── fixjfm.json
│   │   ├── fixlatvian.json
│   │   ├── fixmath.json
│   │   ├── fixme.json
│   │   ├── fjodor.json
│   │   ├── flabels.json
│   │   ├── flagderiv.json
│   │   ├── flexipage.json
│   │   ├── flexisym.json
│   │   ├── flippdf.json
│   │   ├── float.json
│   │   ├── floatbytocbasic.json
│   │   ├── floatflt.json
│   │   ├── floatpag.json
│   │   ├── floatpagestyle.json
│   │   ├── floatrow.json
│   │   ├── floatrowbytocbasic.json
│   │   ├── flowchart.json
│   │   ├── flowfram.json
│   │   ├── fltpage.json
│   │   ├── fltpoint.json
│   │   ├── fltrace.json
│   │   ├── flushend.json
│   │   ├── fmp.json
│   │   ├── fmtcount.json
│   │   ├── fnbreak.json
│   │   ├── fncychap.json
│   │   ├── fnlineno.json
│   │   ├── fnpct.json
│   │   ├── fnpos.json
│   │   ├── fnspe.json
│   │   ├── fnumprint.json
│   │   ├── foekfont.json
│   │   ├── foliono.json
│   │   ├── fonetika.json
│   │   ├── fontawesome.json
│   │   ├── fontawesome5.json
│   │   ├── fontaxes.json
│   │   ├── fontbook.json
│   │   ├── fontenc.json
│   │   ├── fontmfizz.json
│   │   ├── fonts-arundina.json
│   │   ├── fonts-tlwg.json
│   │   ├── fontscale.json
│   │   ├── fontsetup.json
│   │   ├── fontsize.json
│   │   ├── fontsmpl.json
│   │   ├── fontspec.json
│   │   ├── fonttable.json
│   │   ├── fontwrap.json
│   │   ├── footmisc.json
│   │   ├── footnote.json
│   │   ├── footnotebackref.json
│   │   ├── footnotehyper.json
│   │   ├── footnoterange.json
│   │   ├── forarray.json
│   │   ├── foreign.json
│   │   ├── forest-index.json
│   │   ├── forest.json
│   │   ├── forloop.json
│   │   ├── formal-grammar.json
│   │   ├── forms16be.json
│   │   ├── fortextbook.json
│   │   ├── forum.json
│   │   ├── fouridx.json
│   │   ├── fourier-orns.json
│   │   ├── fourier-otf.json
│   │   ├── fourier.json
│   │   ├── fouriernc.json
│   │   ├── fp-addons.json
│   │   ├── fp-basic.json
│   │   ├── fp-eqn.json
│   │   ├── fp-eval.json
│   │   ├── fp-exp.json
│   │   ├── fp-pas.json
│   │   ├── fp-random.json
│   │   ├── fp-snap.json
│   │   ├── fp-trigo.json
│   │   ├── fp-upn.json
│   │   ├── fp.json
│   │   ├── fr-fancy.json
│   │   ├── framed.json
│   │   ├── frcursive.json
│   │   ├── freealign.json
│   │   ├── frege.json
│   │   ├── frenchmath.json
│   │   ├── frimurer.json
│   │   ├── frontespizio.json
│   │   ├── froufrou.json
│   │   ├── frpseudocode.json
│   │   ├── fullminipage.json
│   │   ├── fullpage.json
│   │   ├── fullpict.json
│   │   ├── fullwidth.json
│   │   ├── functional.json
│   │   ├── fusering.json
│   │   ├── futurans.json
│   │   ├── fvextra.json
│   │   ├── fwlw.json
│   │   ├── galois.json
│   │   ├── gamebook.json
│   │   ├── gamebooklib.json
│   │   ├── gandhi.json
│   │   ├── garamondlibre.json
│   │   ├── garamondx.json
│   │   ├── gastex.json
│   │   ├── gates.json
│   │   ├── gatherenum.json
│   │   ├── gb4e.json
│   │   ├── gbt7714.json
│   │   ├── gchords.json
│   │   ├── gckanbun.json
│   │   ├── gelasio.json
│   │   ├── gelasiomath.json
│   │   ├── genealogy-profiles.json
│   │   ├── genealogytree.json
│   │   ├── gensymb.json
│   │   ├── gentium.json
│   │   ├── gentiumbook.json
│   │   ├── gentombow.json
│   │   ├── geometry.json
│   │   ├── german.json
│   │   ├── getfiledate.json
│   │   ├── getitems.json
│   │   ├── getmap.json
│   │   ├── gettitlestring.json
│   │   ├── gfdl.json
│   │   ├── gfsartemisia-euler.json
│   │   ├── gfsartemisia.json
│   │   ├── gfsbaskerville.json
│   │   ├── gfsbodoni.json
│   │   ├── gfscomplutum.json
│   │   ├── gfsdidot.json
│   │   ├── gfsneohellenic.json
│   │   ├── gfsneohellenicot.json
│   │   ├── ghab.json
│   │   ├── ghsystem.json
│   │   ├── gillcm.json
│   │   ├── gillius.json
│   │   ├── gillius2.json
│   │   ├── gincltex.json
│   │   ├── gindex.json
│   │   ├── gitfile-info.json
│   │   ├── gitinfo-lua.json
│   │   ├── gitinfo2.json
│   │   ├── gitlog.json
│   │   ├── gitstatus.json
│   │   ├── gitver.json
│   │   ├── globalvals.json
│   │   ├── glosmathtools.json
│   │   ├── glossaries-accsupp.json
│   │   ├── glossaries-extra-bib2gls.json
│   │   ├── glossaries-extra-stylemods.json
│   │   ├── glossaries-extra.json
│   │   ├── glossaries-prefix.json
│   │   ├── glossaries.json
│   │   ├── glossary-bookindex.json
│   │   ├── glossary-hypernav.json
│   │   ├── glossary-inline.json
│   │   ├── glossary-list.json
│   │   ├── glossary-long.json
│   │   ├── glossary-longbooktabs.json
│   │   ├── glossary-longextra.json
│   │   ├── glossary-longragged.json
│   │   ├── glossary-mcols.json
│   │   ├── glossary-super.json
│   │   ├── glossary-table.json
│   │   ├── glossary-topic.json
│   │   ├── glossary-tree.json
│   │   ├── glosstex.json
│   │   ├── gmiflink.json
│   │   ├── gmp.json
│   │   ├── gnuplottex.json
│   │   ├── gobble-user.json
│   │   ├── gotoh.json
│   │   ├── grabbox.json
│   │   ├── gradient-text.json
│   │   ├── gradientframe.json
│   │   ├── grading-scheme.json
│   │   ├── grafcet.json
│   │   ├── graph35.json
│   │   ├── graphbox.json
│   │   ├── graphfig.json
│   │   ├── graphics.json
│   │   ├── graphicscache.json
│   │   ├── graphicsonthefly.json
│   │   ├── graphicx-psmin.json
│   │   ├── graphicx.json
│   │   ├── graphicxbox.json
│   │   ├── graphicxpsd.json
│   │   ├── graphicxsp.json
│   │   ├── graphpap.json
│   │   ├── graphviz.json
│   │   ├── grayhints.json
│   │   ├── greek4cbc.json
│   │   ├── greek6cbc.json
│   │   ├── greekctr.json
│   │   ├── greekdates.json
│   │   ├── greektonoi.json
│   │   ├── gregoriosyms.json
│   │   ├── gregoriotex.json
│   │   ├── grfext.json
│   │   ├── grfpaste.json
│   │   ├── grid-system.json
│   │   ├── grid.json
│   │   ├── gridpapers.json
│   │   ├── gridset.json
│   │   ├── gridslides.json
│   │   ├── grmath.json
│   │   ├── grruby.json
│   │   ├── grundgesetze.json
│   │   ├── grverb.json
│   │   ├── gtrcrd.json
│   │   ├── gtrlib.largetrees.json
│   │   ├── guit.json
│   │   ├── guitar.json
│   │   ├── guitarchordschemes.json
│   │   ├── hackthefootline.json
│   │   ├── halloweenmath.json
│   │   ├── hamnosys.json
│   │   ├── handout.json
│   │   ├── handoutWithNotes.json
│   │   ├── hang.json
│   │   ├── hanging.json
│   │   ├── hangulfontset.json
│   │   ├── hanjacnt.json
│   │   ├── hanzibox.json
│   │   ├── har2nat.json
│   │   ├── hardwrap.json
│   │   ├── harmony.json
│   │   ├── harpoon.json
│   │   ├── harvard.json
│   │   ├── harveyballs.json
│   │   ├── havannah.json
│   │   ├── hcycle.json
│   │   ├── he-she.json
│   │   ├── helmholtz-ellis-ji-notation.json
│   │   ├── helvet.json
│   │   ├── hep-acronym.json
│   │   ├── hep-bibliography.json
│   │   ├── hep-feynman.json
│   │   ├── hep-float.json
│   │   ├── hep-font.json
│   │   ├── hep-graphic.json
│   │   ├── hep-math-font.json
│   │   ├── hep-math.json
│   │   ├── hep-paper.json
│   │   ├── hep-plot.json
│   │   ├── hep-text.json
│   │   ├── hep-title.json
│   │   ├── hepparticles.json
│   │   ├── hepunits.json
│   │   ├── hereapplies.json
│   │   ├── heros-otf.json
│   │   ├── hetarom.json
│   │   ├── hetaromh.json
│   │   ├── heuristica.json
│   │   ├── hexboard.json
│   │   ├── hexdump.json
│   │   ├── hf-tikz.json
│   │   ├── hfoldsty.json
│   │   ├── hgb.json
│   │   ├── hgbabbrev.json
│   │   ├── hgbalgo.json
│   │   ├── hgbbib.json
│   │   ├── hgbheadings.json
│   │   ├── hgblistings.json
│   │   ├── hgbmath.json
│   │   ├── hhead.json
│   │   ├── hhline.json
│   │   ├── hhtensor.json
│   │   ├── hideanswer.json
│   │   ├── hiero.json
│   │   ├── hieroglf.json
│   │   ├── highlightlatex.json
│   │   ├── highlightx.json
│   │   ├── hitex.json
│   │   ├── hlist.json
│   │   ├── hmtrump.json
│   │   ├── hnja2hngl.json
│   │   ├── hobete.json
│   │   ├── hologo.json
│   │   ├── holtpolt.json
│   │   ├── holtxdoc.json
│   │   ├── hpstatement.json
│   │   ├── href-ul.json
│   │   ├── hrefhide.json
│   │   ├── hsetup.json
│   │   ├── hu-berlin-base.json
│   │   ├── huaz.json
│   │   ├── hulipsum.json
│   │   ├── humanist.json
│   │   ├── huncial.json
│   │   ├── hvarabic.json
│   │   ├── hvextern.json
│   │   ├── hvfloat-fps.json
│   │   ├── hvfloat.json
│   │   ├── hvindex.json
│   │   ├── hvlogos.json
│   │   ├── hvmaths.json
│   │   ├── hvpygmentex.json
│   │   ├── hvqrurl.json
│   │   ├── hwemoji.json
│   │   ├── hypbmsec.json
│   │   ├── hypcap.json
│   │   ├── hypdestopt.json
│   │   ├── hypdoc.json
│   │   ├── hypdvips.json
│   │   ├── hyperbar.json
│   │   ├── hyperref.json
│   │   ├── hyperxmp.json
│   │   ├── hypgotoe.json
│   │   ├── hyphenat.json
│   │   ├── hyphsubst.json
│   │   ├── ibarra.json
│   │   ├── icite.json
│   │   ├── icon-appr.json
│   │   ├── icon-doc.json
│   │   ├── identkey.json
│   │   ├── idxcmds.json
│   │   ├── idxlayout.json
│   │   ├── iexec.json
│   │   ├── ifallfalse.json
│   │   ├── ifdraft.json
│   │   ├── ifetex.json
│   │   ├── iffont.json
│   │   ├── iflang.json
│   │   ├── ifluatex.json
│   │   ├── ifnextok.json
│   │   ├── ifoddpage.json
│   │   ├── ifoption.json
│   │   ├── ifpdf.json
│   │   ├── ifplatform.json
│   │   ├── ifptex.json
│   │   ├── ifpxltex.json
│   │   ├── ifsym.json
│   │   ├── iftex.json
│   │   ├── ifthen.json
│   │   ├── ifthenx.json
│   │   ├── ifuptex.json
│   │   ├── ifvtex.json
│   │   ├── ifxetex.json
│   │   ├── ifxptex.json
│   │   ├── igo.json
│   │   ├── iitem.json
│   │   ├── imakeidx.json
│   │   ├── imfellEnglish.json
│   │   ├── impnattypo.json
│   │   ├── import.json
│   │   ├── imprintmtshadow.json
│   │   ├── imsart.json
│   │   ├── incgraph.json
│   │   ├── includeRnw.json
│   │   ├── inconsolata-nerd-font.json
│   │   ├── inconsolata.json
│   │   ├── index.json
│   │   ├── indextools.json
│   │   ├── infix-RPN.json
│   │   ├── inline-images.json
│   │   ├── inlinedef.json
│   │   ├── inlinelabel.json
│   │   ├── innerscript.json
│   │   ├── inputenc.json
│   │   ├── inputnormalization.json
│   │   ├── inputtrc.json
│   │   ├── insdljs.json
│   │   ├── inslrmaj.json
│   │   ├── inslrmin.json
│   │   ├── intcalc.json
│   │   ├── inter.json
│   │   ├── interactiveanimation.json
│   │   ├── interactiveplot.json
│   │   ├── interlinear.json
│   │   ├── interpreter.json
│   │   ├── interval.json
│   │   ├── intopdf.json
│   │   ├── inversepath.json
│   │   ├── invoice.json
│   │   ├── invoice2.json
│   │   ├── iodhbwm-templates.json
│   │   ├── ionumbers.json
│   │   ├── iopams.json
│   │   ├── ipa.json
│   │   ├── ipaex-type1.json
│   │   ├── ipsum.json
│   │   ├── isodate.json
│   │   ├── isomath.json
│   │   ├── isonums.json
│   │   ├── isopt.json
│   │   ├── isorot.json
│   │   ├── isosafety.json
│   │   ├── isotope.json
│   │   ├── issuulinks.json
│   │   ├── itnumpar.json
│   │   ├── iwona.json
│   │   ├── iwonamath.json
│   │   ├── jamtimes.json
│   │   ├── javascripthttp.json
│   │   ├── jiazhu.json
│   │   ├── jigsaw.json
│   │   ├── jiwonlipsum.json
│   │   ├── jkmath.json
│   │   ├── jlreq-deluxe.json
│   │   ├── jlreq-trimmarks.json
│   │   ├── jmlrutils.json
│   │   ├── jmsdelim.json
│   │   ├── jobname-suffix.json
│   │   ├── joinbox.json
│   │   ├── josefin.json
│   │   ├── jpneduenumerate.json
│   │   ├── jpnedumathsymbols.json
│   │   ├── jslectureplanner.json
│   │   ├── jslogo.json
│   │   ├── jsmembertable.json
│   │   ├── jsonparse.json
│   │   ├── jsverb.json
│   │   ├── jumplines.json
│   │   ├── junicode.json
│   │   ├── junicodevf.json
│   │   ├── jupynotex.json
│   │   ├── jurabase.json
│   │   ├── jurabib.json
│   │   ├── jvlisting.json
│   │   ├── kalendarium.json
│   │   ├── kanbun.json
│   │   ├── kantlipsum.json
│   │   ├── kao.json
│   │   ├── kaobiblio.json
│   │   ├── kaorefs.json
│   │   ├── kaotheorems.json
│   │   ├── karnaugh-map.json
│   │   ├── karnaughmap.json
│   │   ├── kblocks.json
│   │   ├── kbordermatrix.json
│   │   ├── kerkis.json
│   │   ├── keycommand.json
│   │   ├── keyfloat.json
│   │   ├── keyindex.json
│   │   ├── keyparse.json
│   │   ├── keyreader.json
│   │   ├── keystroke.json
│   │   ├── keytheorems.json
│   │   ├── keyval.json
│   │   ├── keyvaltable.json
│   │   ├── kix.json
│   │   ├── knitting.json
│   │   ├── knowledge.json
│   │   ├── knufakelogo.json
│   │   ├── kocircnum.json
│   │   ├── kolabels-utf.json
│   │   ├── koma-moderncvclassic.json
│   │   ├── koma-script-source-doc.json
│   │   ├── komacv-addons.json
│   │   ├── komacv-lco.json
│   │   ├── komacv-multilang.json
│   │   ├── konames-utf.json
│   │   ├── kosections-utf.json
│   │   ├── kotex-logo.json
│   │   ├── kotex-varioref.json
│   │   ├── kotexutf.json
│   │   ├── kpfonts-otf.json
│   │   ├── kpfonts.json
│   │   ├── ksbaduk.json
│   │   ├── ksforloop.json
│   │   ├── kshcrkey.json
│   │   ├── ksinsbox.json
│   │   ├── ksjosaref.json
│   │   ├── ksmisc.json
│   │   ├── ksruby.json
│   │   ├── kstextks.json
│   │   ├── kswrapfig.json
│   │   ├── kurdishlipsum.json
│   │   ├── kurier.json
│   │   ├── kvmap.json
│   │   ├── kvoptions.json
│   │   ├── kvsetkeys.json
│   │   ├── l3keys2e.json
│   │   ├── l3sys-query.json
│   │   ├── la.json
│   │   ├── labels.json
│   │   ├── labels4easylist.json
│   │   ├── labyrinth.json
│   │   ├── ladder.json
│   │   ├── lambdax.json
│   │   ├── langcode.json
│   │   ├── langnames.json
│   │   ├── langsci-affiliations.json
│   │   ├── langsci-avm.json
│   │   ├── langsci-bidi.json
│   │   ├── langsci-gb4e.json
│   │   ├── langsci-lgr.json
│   │   ├── langsci-optional.json
│   │   ├── langsci-subparts.json
│   │   ├── langsci-tbls.json
│   │   ├── lapdf.json
│   │   ├── lastbib.json
│   │   ├── latex-209.json
│   │   ├── latex-dev.json
│   │   ├── latex-document.json
│   │   ├── latex-l2tabu.json
│   │   ├── latex2man.json
│   │   ├── latex2pydata.json
│   │   ├── latexalpha2.json
│   │   ├── latexbangla.json
│   │   ├── latexcolors.json
│   │   ├── latexdemo.json
│   │   ├── latexscreenshooter.json
│   │   ├── latexsym.json
│   │   ├── lato.json
│   │   ├── layaureo.json
│   │   ├── layout.json
│   │   ├── layouts.json
│   │   ├── lazylist.json
│   │   ├── lccaps.json
│   │   ├── lcd.json
│   │   ├── lcg.json
│   │   ├── leading.json
│   │   ├── leadsheets.json
│   │   ├── lecturer.json
│   │   ├── lectureslides.json
│   │   ├── leftidx.json
│   │   ├── leftindex.json
│   │   ├── leipzig.json
│   │   ├── lengthconvert.json
│   │   ├── lete-sans-math.json
│   │   ├── letgut-banner.json
│   │   ├── letltxmacro.json
│   │   ├── letterspace.json
│   │   ├── letterswitharrows.json
│   │   ├── lettrine.json
│   │   ├── lewisstruc.json
│   │   ├── lexend.json
│   │   ├── lexref.json
│   │   ├── lgrmath.json
│   │   ├── lhelp.json
│   │   ├── libertine.json
│   │   ├── libertineMono.json
│   │   ├── libertineRoman.json
│   │   ├── libertinegc.json
│   │   ├── libertinus-otf.json
│   │   ├── libertinus-type1.json
│   │   ├── libertinust1math.json
│   │   ├── libgreek.json
│   │   ├── librarian.json
│   │   ├── librebaskerville.json
│   │   ├── librecaslon.json
│   │   ├── librefranklin.json
│   │   ├── libris.json
│   │   ├── lie-hasse.json
│   │   ├── liftarm.json
│   │   ├── ligtype.json
│   │   ├── lilyglyphs.json
│   │   ├── limap.json
│   │   ├── linearb.json
│   │   ├── linearregression.json
│   │   ├── linebreaker.json
│   │   ├── linegoal.json
│   │   ├── lineno.json
│   │   ├── linenoamsmath.json
│   │   ├── ling-macros.json
│   │   ├── linguex.json
│   │   ├── linguisticspro.json
│   │   ├── linop.json
│   │   ├── linsys.json
│   │   ├── lips.json
│   │   ├── lipsum.json
│   │   ├── listing.json
│   │   ├── listings-ext.json
│   │   ├── listings.json
│   │   ├── listingsutf8.json
│   │   ├── listlbls.json
│   │   ├── listliketab.json
│   │   ├── listofanswers.json
│   │   ├── listofitems.json
│   │   ├── listofsymbols.json
│   │   ├── listpen.json
│   │   ├── llncsconf.json
│   │   ├── lltjcore.json
│   │   ├── lltjdefs.json
│   │   ├── lltjext.json
│   │   ├── lltjfont.json
│   │   ├── lltjp-atbegshi.json
│   │   ├── lltjp-geometry.json
│   │   ├── lltjp-listings.json
│   │   ├── lmacs.json
│   │   ├── lmake.json
│   │   ├── lmodern.json
│   │   ├── locant.json
│   │   ├── logbox.json
│   │   ├── logicproof.json
│   │   ├── logicpuzzle.json
│   │   ├── logix.json
│   │   ├── logoetalab.json
│   │   ├── logpap.json
│   │   ├── logreq.json
│   │   ├── logsys.json
│   │   ├── longbox.json
│   │   ├── longdivision.json
│   │   ├── longfbox.json
│   │   ├── longfigure.json
│   │   ├── longmath.json
│   │   ├── longnamefilelist.json
│   │   ├── longtable.json
│   │   ├── lowcycle.json
│   │   ├── lpic.json
│   │   ├── lplfitch.json
│   │   ├── lsabon.json
│   │   ├── lscape.json
│   │   ├── lscapeenhanced.json
│   │   ├── lstautogobble.json
│   │   ├── lstbayes.json
│   │   ├── lstdoc.json
│   │   ├── lstfiracode.json
│   │   ├── lstlinebgrd.json
│   │   ├── lt3luabridge.json
│   │   ├── ltablex.json
│   │   ├── ltcaption.json
│   │   ├── ltj-base.json
│   │   ├── ltj-latex.json
│   │   ├── ltugcomn.json
│   │   ├── ltx4yt.json
│   │   ├── ltxdocext.json
│   │   ├── ltxdockit.json
│   │   ├── ltxfront.json
│   │   ├── ltxgrid.json
│   │   ├── ltxnew.json
│   │   ├── ltxtable.json
│   │   ├── ltxutil.json
│   │   ├── lua-check-hyphen.json
│   │   ├── lua-typo.json
│   │   ├── lua-ul.json
│   │   ├── lua-visual-debug.json
│   │   ├── lua-widow-control.json
│   │   ├── luaaddplot.json
│   │   ├── luabibentry.json
│   │   ├── luabidi.json
│   │   ├── luacas.json
│   │   ├── luacensor.json
│   │   ├── luacode.json
│   │   ├── luacolor.json
│   │   ├── luacomplex.json
│   │   ├── luagcd.json
│   │   ├── luahttp.json
│   │   ├── luahyphenrules.json
│   │   ├── luaimageembed.json
│   │   ├── luaindex.json
│   │   ├── luainputenc.json
│   │   ├── luakeys-debug.json
│   │   ├── luakeys.json
│   │   ├── lualatex-truncate.json
│   │   ├── lualinalg.json
│   │   ├── luamathalign.json
│   │   ├── luamaths.json
│   │   ├── luamesh.json
│   │   ├── luamml-demo.json
│   │   ├── luamodulartables.json
│   │   ├── luamplib.json
│   │   ├── luanumint.json
│   │   ├── luaoptions.json
│   │   ├── luaotfload.json
│   │   ├── luapackageloader.json
│   │   ├── luaplot.json
│   │   ├── luaprogtable.json
│   │   ├── luaquotes.json
│   │   ├── luarandom.json
│   │   ├── luaset.json
│   │   ├── luasseq.json
│   │   ├── luatex.json
│   │   ├── luatex85.json
│   │   ├── luatexbase.json
│   │   ├── luatexja-adjust.json
│   │   ├── luatexja-ajmacros.json
│   │   ├── luatexja-compat.json
│   │   ├── luatexja-core.json
│   │   ├── luatexja-fontspec.json
│   │   ├── luatexja-otf.json
│   │   ├── luatexja-preset.json
│   │   ├── luatexja-ruby.json
│   │   ├── luatexja-zhfonts.json
│   │   ├── luatexja.json
│   │   ├── luatexko.json
│   │   ├── luatextra.json
│   │   ├── luatodonotes.json
│   │   ├── luatruthtable.json
│   │   ├── luavlna.json
│   │   ├── lucbmath.json
│   │   ├── lucida-otf.json
│   │   ├── lucidabr.json
│   │   ├── lucmin.json
│   │   ├── lucmtime.json
│   │   ├── luctime.json
│   │   ├── lutabulartools.json
│   │   ├── luwiantype.json
│   │   ├── luximono.json
│   │   ├── lwarp.json
│   │   ├── lyluatex.json
│   │   ├── mVersion.json
│   │   ├── maa-monthly.json
│   │   ├── macrolist.json
│   │   ├── macroswap.json
│   │   ├── mafr.json
│   │   ├── magaz.json
│   │   ├── magicnum.json
│   │   ├── magicwatermark.json
│   │   ├── mahjong.json
│   │   ├── mailing.json
│   │   ├── mailmerge.json
│   │   ├── makebarcode.json
│   │   ├── makebase.json
│   │   ├── makebox.json
│   │   ├── makecell.json
│   │   ├── makecmds.json
│   │   ├── makeglos.json
│   │   ├── makeidx.json
│   │   ├── makematch.json
│   │   ├── makeplot.json
│   │   ├── maker.json
│   │   ├── makeshape.json
│   │   ├── malayalam.json
│   │   ├── maltese.json
│   │   ├── mandi.json
│   │   ├── mandiexp.json
│   │   ├── mandistudent.json
│   │   ├── manfnt.json
│   │   ├── manuscript.json
│   │   ├── manyfoot.json
│   │   ├── manyind.json
│   │   ├── marathi.json
│   │   ├── marcellus.json
│   │   ├── marginfix.json
│   │   ├── marginnote.json
│   │   ├── markdown.json
│   │   ├── marvosym.json
│   │   ├── mathabx.json
│   │   ├── mathalfa.json
│   │   ├── mathalpha.json
│   │   ├── mathastext.json
│   │   ├── mathbbol.json
│   │   ├── mathcmd.json
│   │   ├── mathcommand.json
│   │   ├── mathcomp.json
│   │   ├── mathdesign.json
│   │   ├── mathdots.json
│   │   ├── mathenv.json
│   │   ├── mathfixs.json
│   │   ├── mathfont.json
│   │   ├── mathgreeks.json
│   │   ├── mathpartir.json
│   │   ├── mathpazo.json
│   │   ├── mathpi.json
│   │   ├── mathptmx.json
│   │   ├── mathpunctspace.json
│   │   ├── mathrsfs.json
│   │   ├── mathscinet.json
│   │   ├── mathsemantics-abbreviations.json
│   │   ├── mathsemantics-commons.json
│   │   ├── mathsemantics-manifolds.json
│   │   ├── mathsemantics-names.json
│   │   ├── mathsemantics-optimization.json
│   │   ├── mathsemantics-semantic.json
│   │   ├── mathsemantics-syntax.json
│   │   ├── mathsemantics.json
│   │   ├── mathspec.json
│   │   ├── mathstone.json
│   │   ├── mathstyle.json
│   │   ├── mathswap.json
│   │   ├── mathtime.json
│   │   ├── mathtools.json
│   │   ├── matlab-prettifier.json
│   │   ├── mattens.json
│   │   ├── mattex.json
│   │   ├── maybemath.json
│   │   ├── maze.json
│   │   ├── mbboard.json
│   │   ├── mboxfill.json
│   │   ├── mcaption.json
│   │   ├── mcexam.json
│   │   ├── mciteplus.json
│   │   ├── mcode.json
│   │   ├── mdframed.json
│   │   ├── mdputu.json
│   │   ├── mdsymbol.json
│   │   ├── mdwlist.json
│   │   ├── mdwmath.json
│   │   ├── mdwtab.json
│   │   ├── media4svg.json
│   │   ├── media9.json
│   │   ├── medmath.json
│   │   ├── membranecomputing.json
│   │   ├── memhangul-common.json
│   │   ├── memhangul-x.json
│   │   ├── memhfixc.json
│   │   ├── memoizable.json
│   │   ├── memoize.json
│   │   ├── memory.json
│   │   ├── memorygraphs.json
│   │   ├── memucs-setspace.json
│   │   ├── menu.json
│   │   ├── menucard.json
│   │   ├── menukeys.json
│   │   ├── mercatormap.json
│   │   ├── merge.json
│   │   ├── mergeh.json
│   │   ├── merriweather.json
│   │   ├── messagebubbles.json
│   │   ├── messagepassing.json
│   │   ├── metainfo.json
│   │   ├── metalogo.json
│   │   ├── metalogox.json
│   │   ├── metastr.json
│   │   ├── method.json
│   │   ├── methylen.json
│   │   ├── metre.json
│   │   ├── metrix.json
│   │   ├── metsymb.json
│   │   ├── mfb-oldstyle.json
│   │   ├── mfirstuc.json
│   │   ├── mflogo.json
│   │   ├── mfpic.json
│   │   ├── mfpic4ode.json
│   │   ├── mftinc.json
│   │   ├── mgltex.json
│   │   ├── mhchem.json
│   │   ├── mhequ.json
│   │   ├── mhsetup.json
│   │   ├── mi-solns.json
│   │   ├── miama.json
│   │   ├── microtype-show.json
│   │   ├── microtype.json
│   │   ├── midfloat.json
│   │   ├── midpage.json
│   │   ├── miller.json
│   │   ├── milstd.json
│   │   ├── milsymb.json
│   │   ├── mindflow.json
│   │   ├── minibox.json
│   │   ├── minidocument.json
│   │   ├── minifp.json
│   │   ├── minijs.json
│   │   ├── minim-mp.json
│   │   ├── minimalist-plain.json
│   │   ├── minimalist.json
│   │   ├── minipage-marginpar.json
│   │   ├── minted.json
│   │   ├── minted2.json
│   │   ├── mintspirit.json
│   │   ├── mintspirit2.json
│   │   ├── minutes.json
│   │   ├── miscdoc.json
│   │   ├── mismath.json
│   │   ├── missaali.json
│   │   ├── mkstmp_pro.json
│   │   ├── mlcid.json
│   │   ├── mleftright.json
│   │   ├── mlist.json
│   │   ├── mlmodern.json
│   │   ├── mlutf.json
│   │   ├── mnotes.json
│   │   ├── moderncvcollection.json
│   │   ├── moderncvcompatibility.json
│   │   ├── moderntimeline.json
│   │   ├── modiagram.json
│   │   ├── modroman.json
│   │   ├── modular.json
│   │   ├── modulus.json
│   │   ├── mol2chemfig.json
│   │   ├── monofill.json
│   │   ├── montserrat.json
│   │   ├── moodle.json
│   │   ├── moredefs.json
│   │   ├── moreenum.json
│   │   ├── morefloats.json
│   │   ├── moresize.json
│   │   ├── moreverb.json
│   │   ├── morewrites.json
│   │   ├── morisawa.json
│   │   ├── movement-arrows.json
│   │   ├── mparhack.json
│   │   ├── mpgraphics.json
│   │   ├── mpostinl.json
│   │   ├── msc.json
│   │   ├── mtgreek.json
│   │   ├── mtpro2.json
│   │   ├── multiaudience.json
│   │   ├── multibib.json
│   │   ├── multibibliography.json
│   │   ├── multicap.json
│   │   ├── multicol.json
│   │   ├── multicolrule.json
│   │   ├── multidef.json
│   │   ├── multido.json
│   │   ├── multienum.json
│   │   ├── multienv.json
│   │   ├── multiexpand.json
│   │   ├── multifootnote.json
│   │   ├── multilang-sect.json
│   │   ├── multilang-tags.json
│   │   ├── multilang.json
│   │   ├── multimedia.json
│   │   ├── multind.json
│   │   ├── multiobjective.json
│   │   ├── multiple-choice.json
│   │   ├── multiply.json
│   │   ├── multirow.json
│   │   ├── multitoc.json
│   │   ├── mup.json
│   │   ├── musical.json
│   │   ├── musicography.json
│   │   ├── musikui.json
│   │   ├── musixfll.json
│   │   ├── musixguit.json
│   │   ├── musixtex.json
│   │   ├── mwe.json
│   │   ├── mxedruli.json
│   │   ├── myfilist.json
│   │   ├── na-border.json
│   │   ├── na-position.json
│   │   ├── nabatean.json
│   │   ├── nag.json
│   │   ├── nahuatl.json
│   │   ├── naive-ebnf.json
│   │   ├── nameauth.json
│   │   ├── namedef.json
│   │   ├── namedtensor.json
│   │   ├── nameref.json
│   │   ├── natbib.json
│   │   ├── nath.json
│   │   ├── natmove.json
│   │   ├── navigator.json
│   │   ├── nbaseprt.json
│   │   ├── nccbbb.json
│   │   ├── nccbiblist.json
│   │   ├── nccboxes.json
│   │   ├── ncccropbox.json
│   │   ├── ncccropmark.json
│   │   ├── nccfloats.json
│   │   ├── nccfoots.json
│   │   ├── ncchdr.json
│   │   ├── nccheadings.json
│   │   ├── ncclatex.json
│   │   ├── nccmath.json
│   │   ├── nccparskip.json
│   │   ├── nccpic.json
│   │   ├── nccrules.json
│   │   ├── nccsect.json
│   │   ├── nccstretch.json
│   │   ├── ncctheorems.json
│   │   ├── nccthm.json
│   │   ├── ncctitle.json
│   │   ├── ncctitlepage.json
│   │   ├── nchairx.json
│   │   ├── needspace.json
│   │   ├── neo-euler.json
│   │   ├── nestquot.json
│   │   ├── newalg.json
│   │   ├── newclude.json
│   │   ├── newcomputermodern.json
│   │   ├── newfile.json
│   │   ├── newfloat.json
│   │   ├── newpax.json
│   │   ├── newproof.json
│   │   ├── newpx.json
│   │   ├── newpxmath.json
│   │   ├── newpxtext.json
│   │   ├── newspaper.json
│   │   ├── newtx.json
│   │   ├── newtxmath.json
│   │   ├── newtxsf.json
│   │   ├── newtxtext.json
│   │   ├── newtxtt.json
│   │   ├── newunicodechar.json
│   │   ├── newvbtm.json
│   │   ├── newverbs.json
│   │   ├── nextpage.json
│   │   ├── nexus-otf.json
│   │   ├── ngerman.json
│   │   ├── nicefilelist.json
│   │   ├── nicefrac.json
│   │   ├── niceframe.json
│   │   ├── nicematrix.json
│   │   ├── niceverb.json
│   │   ├── nidanfloat.json
│   │   ├── nimbusmono.json
│   │   ├── nimbusmononarrow.json
│   │   ├── nimbussans.json
│   │   ├── nimbusserif.json
│   │   ├── nimsticks.json
│   │   ├── ninecolors.json
│   │   ├── njuvisual.json
│   │   ├── nl-interval.json
│   │   ├── nlctuserguide.json
│   │   ├── nm.json
│   │   ├── nmbib.json
│   │   ├── nndraw.json
│   │   ├── nnext.json
│   │   ├── nodetree-embed.json
│   │   ├── nodetree.json
│   │   ├── noindentafter.json
│   │   ├── noitcrul.json
│   │   ├── nolbreaks.json
│   │   ├── nomemoize.json
│   │   ├── nomencl.json
│   │   ├── non-decimal-units.json
│   │   ├── nonfloat.json
│   │   ├── normalcolor.json
│   │   ├── notes2bib.json
│   │   ├── notespages.json
│   │   ├── noto-mono.json
│   │   ├── noto-sans.json
│   │   ├── noto-serif.json
│   │   ├── noto.json
│   │   ├── notocondensed-mono.json
│   │   ├── notocondensed.json
│   │   ├── notomath.json
│   │   ├── nowidow.json
│   │   ├── nowtoaux.json
│   │   ├── nshyper.json
│   │   ├── ntabbing.json
│   │   ├── nth.json
│   │   ├── ntheorem.json
│   │   ├── nucleardata.json
│   │   ├── numberedblock.json
│   │   ├── numberpt.json
│   │   ├── numerica-plus.json
│   │   ├── numerica-tables.json
│   │   ├── numerica.json
│   │   ├── numerus.json
│   │   ├── numname.json
│   │   ├── numnameru.json
│   │   ├── numprint.json
│   │   ├── numspell.json
│   │   ├── nunito.json
│   │   ├── oands.json
│   │   ├── ob-mathleading.json
│   │   ├── obchaptertoc.json
│   │   ├── oblivoir-misc.json
│   │   ├── oblivoir-xl.json
│   │   ├── ocg-p.json
│   │   ├── ocg.json
│   │   ├── ocgtools.json
│   │   ├── ocgx.json
│   │   ├── ocgx2.json
│   │   ├── ocr.json
│   │   ├── octave.json
│   │   ├── odesandpdes.json
│   │   ├── odsfile.json
│   │   ├── ogonek.json
│   │   ├── okumacro.json
│   │   ├── okuverb.json
│   │   ├── old-arrows.json
│   │   ├── oldgerm.json
│   │   ├── oldprsn.json
│   │   ├── oldstyle.json
│   │   ├── onedash.json
│   │   ├── onedown.json
│   │   ├── onlyamsmath.json
│   │   ├── opacity-pro.json
│   │   ├── opcit.json
│   │   ├── opencolor.json
│   │   ├── opensans.json
│   │   ├── oplotsymbl.json
│   │   ├── optex.json
│   │   ├── optidef.json
│   │   ├── optional.json
│   │   ├── options.json
│   │   ├── optparams.json
│   │   ├── orcidlink.json
│   │   ├── ordinalpt.json
│   │   ├── orientation.json
│   │   ├── osda.json
│   │   ├── ot-tableau.json
│   │   ├── otf.json
│   │   ├── otfontdef.json
│   │   ├── othelloboard.json
│   │   ├── oubraces.json
│   │   ├── outlines.json
│   │   ├── outlining.json
│   │   ├── overarrows.json
│   │   ├── overcite.json
│   │   ├── overlays.json
│   │   ├── overlock.json
│   │   ├── overpic.json
│   │   ├── oz.json
│   │   ├── pacioli.json
│   │   ├── padcount.json
│   │   ├── pagecolor.json
│   │   ├── pagecont.json
│   │   ├── pagegrid.json
│   │   ├── pagella-otf.json
│   │   ├── pagenote.json
│   │   ├── pagerange.json
│   │   ├── pagesel.json
│   │   ├── pageslts.json
│   │   ├── pandora.json
│   │   ├── pangram.json
│   │   ├── papermas.json
│   │   ├── paracol.json
│   │   ├── paralist.json
│   │   ├── parallel.json
│   │   ├── paravesp.json
│   │   ├── parcolumns.json
│   │   ├── paresse.json
│   │   ├── parnotes.json
│   │   ├── parrun.json
│   │   ├── parseargs.json
│   │   ├── parselines.json
│   │   ├── parskip.json
│   │   ├── pas-cours.json
│   │   ├── pas-crosswords.json
│   │   ├── pas-cv.json
│   │   ├── pas-tableur.json
│   │   ├── pascaltriangle.json
│   │   ├── passopt.json
│   │   ├── patch-common.json
│   │   ├── patchcmd.json
│   │   ├── path.json
│   │   ├── pbalance.json
│   │   ├── pbox.json
│   │   ├── pbsi.json
│   │   ├── pcarl.json
│   │   ├── pdfbase.json
│   │   ├── pdfcol.json
│   │   ├── pdfcolparallel.json
│   │   ├── pdfcolparcolumns.json
│   │   ├── pdfcomment.json
│   │   ├── pdfcrypt.json
│   │   ├── pdfescape.json
│   │   ├── pdfextra.json
│   │   ├── pdflscape.json
│   │   ├── pdfmanagement-testphase.json
│   │   ├── pdfmarginpar.json
│   │   ├── pdfmsym.json
│   │   ├── pdfoverlay.json
│   │   ├── pdfpagediff.json
│   │   ├── pdfpages.json
│   │   ├── pdfpc-movie.json
│   │   ├── pdfpc.json
│   │   ├── pdfprivacy.json
│   │   ├── pdfrender.json
│   │   ├── pdfreview.json
│   │   ├── pdfscreen.json
│   │   ├── pdfswitch.json
│   │   ├── pdfsync.json
│   │   ├── pdftexcmds.json
│   │   ├── pdfx.json
│   │   ├── penlight.json
│   │   ├── penlightplus.json
│   │   ├── perfectcut.json
│   │   ├── perltex.json
│   │   ├── permute.json
│   │   ├── perpage.json
│   │   ├── person.json
│   │   ├── pfarrei.json
│   │   ├── pfdicons.json
│   │   ├── pfltrace.json
│   │   ├── pgf-PeriodicTable.json
│   │   ├── pgf-filehook.json
│   │   ├── pgf-interference.json
│   │   ├── pgf-pie.json
│   │   ├── pgf-soroban.json
│   │   ├── pgf-spectra.json
│   │   ├── pgf-umlcd.json
│   │   ├── pgf-umlsd.json
│   │   ├── pgf.json
│   │   ├── pgfcalendar-ext.json
│   │   ├── pgfcalendar.json
│   │   ├── pgfcore.json
│   │   ├── pgffor-ext.json
│   │   ├── pgffor.json
│   │   ├── pgfgantt.json
│   │   ├── pgfkeys.json
│   │   ├── pgfkeysearch.json
│   │   ├── pgfmanual.json
│   │   ├── pgfmath-xfp.json
│   │   ├── pgfmath.json
│   │   ├── pgfmolbio.json
│   │   ├── pgfmorepages.json
│   │   ├── pgfopts.json
│   │   ├── pgfornament-han.json
│   │   ├── pgfornament.json
│   │   ├── pgfpages-rl.json
│   │   ├── pgfpages.json
│   │   ├── pgfparser.json
│   │   ├── pgfplots.json
│   │   ├── pgfplotslibraryclickable.json
│   │   ├── pgfplotslibrarycolorbrewer.json
│   │   ├── pgfplotslibrarydateplot.json
│   │   ├── pgfplotslibrarydecorations.softclip.json
│   │   ├── pgfplotslibraryexternal.json
│   │   ├── pgfplotslibraryfillbetween.json
│   │   ├── pgfplotslibrarygroupplots.json
│   │   ├── pgfplotslibrarypatchplots.json
│   │   ├── pgfplotslibrarypolar.json
│   │   ├── pgfplotslibrarysmithchart.json
│   │   ├── pgfplotslibrarystatistics.json
│   │   ├── pgfplotslibraryternary.json
│   │   ├── pgfplotslibraryunits.json
│   │   ├── pgfplotstable.json
│   │   ├── pgfplotsthemebeamer.json
│   │   ├── pgfrcs.json
│   │   ├── pgfsubpic.json
│   │   ├── pgfsys.json
│   │   ├── pgftree.json
│   │   ├── pgothic.json
│   │   ├── phaistos.json
│   │   ├── phfcc.json
│   │   ├── phffullpagefigure.json
│   │   ├── phfnote.json
│   │   ├── phfparen.json
│   │   ├── phfqit.json
│   │   ├── phfquotetext.json
│   │   ├── phfsvnwatermark.json
│   │   ├── phfthm.json
│   │   ├── philex.json
│   │   ├── philokalia.json
│   │   ├── phoenician.json
│   │   ├── phonenumbers.json
│   │   ├── phonetic.json
│   │   ├── phonrule.json
│   │   ├── photo.json
│   │   ├── physconst.json
│   │   ├── physics.json
│   │   ├── physics2.json
│   │   ├── physunits.json
│   │   ├── piano.json
│   │   ├── picinpar.json
│   │   ├── picins.json
│   │   ├── pict2e.json
│   │   ├── picture.json
│   │   ├── pifont.json
│   │   ├── pigpen.json
│   │   ├── pinlabel.json
│   │   ├── pinoutikz.json
│   │   ├── pinyin.json
│   │   ├── piton.json
│   │   ├── pixelart.json
│   │   ├── pkgloader.json
│   │   ├── placeat.json
│   │   ├── placeins.json
│   │   ├── plaintex.json
│   │   ├── planets.json
│   │   ├── plantuml.json
│   │   ├── plarray.json
│   │   ├── platex.json
│   │   ├── plautopatch.json
│   │   ├── playcards.json
│   │   ├── pldocverb.json
│   │   ├── plex-mono.json
│   │   ├── plex-otf.json
│   │   ├── plex-sans.json
│   │   ├── plex-serif.json
│   │   ├── plext.json
│   │   ├── plextarray.json
│   │   ├── plextcolortbl.json
│   │   ├── plextdelarray.json
│   │   ├── plimsoll.json
│   │   ├── plprefix.json
│   │   ├── pm-isomath.json
│   │   ├── pmat.json
│   │   ├── pmboxdraw.json
│   │   ├── pmdb.json
│   │   ├── pmdraw.json
│   │   ├── pmhanguljamo-frkim.json
│   │   ├── pmhanguljamo.json
│   │   ├── poemscol.json
│   │   ├── poetry.json
│   │   ├── poetrytex.json
│   │   ├── polexpr.json
│   │   ├── polski.json
│   │   ├── polyglossia.json
│   │   ├── polyhedra.json
│   │   ├── polymers.json
│   │   ├── polynom.json
│   │   ├── polynomial.json
│   │   ├── polyomino.json
│   │   ├── polytable.json
│   │   ├── poormanlog.json
│   │   ├── popupmenu.json
│   │   ├── postage.json
│   │   ├── poster.json
│   │   ├── postit.json
│   │   ├── postnotes.json
│   │   ├── powerdot-BerlinFU.json
│   │   ├── powerdot-aggie.json
│   │   ├── powerdot-bframe.json
│   │   ├── powerdot-ciment.json
│   │   ├── powerdot-default.json
│   │   ├── powerdot-elcolors.json
│   │   ├── powerdot-fyma.json
│   │   ├── powerdot-horatio.json
│   │   ├── powerdot-husky.json
│   │   ├── powerdot-ikeda.json
│   │   ├── powerdot-jefka.json
│   │   ├── powerdot-klope.json
│   │   ├── powerdot-paintings.json
│   │   ├── powerdot-pazik.json
│   │   ├── powerdot-sailor.json
│   │   ├── powerdot-simple.json
│   │   ├── powerdot-tuliplab.json
│   │   ├── powerdot-tycja.json
│   │   ├── powerdot-upen.json
│   │   ├── ppt-slides.json
│   │   ├── precattl.json
│   │   ├── prelim2e.json
│   │   ├── preparefont.json
│   │   ├── prerex.json
│   │   ├── pressrelease-symbols.json
│   │   ├── prettyref.json
│   │   ├── prettytok.json
│   │   ├── preview.json
│   │   ├── prftree.json
│   │   ├── principia.json
│   │   ├── printlen.json
│   │   ├── printsudoku.json
│   │   ├── prnthyph.json
│   │   ├── proba.json
│   │   ├── probsoln.json
│   │   ├── procIAGssymp.json
│   │   ├── processkv.json
│   │   ├── prodint.json
│   │   ├── productbox.json
│   │   ├── program.json
│   │   ├── progressbar.json
│   │   ├── projlib-author.json
│   │   ├── projlib-datetime.json
│   │   ├── projlib-draft.json
│   │   ├── projlib-font.json
│   │   ├── projlib-language.json
│   │   ├── projlib-logo.json
│   │   ├── projlib-math.json
│   │   ├── projlib-paper.json
│   │   ├── projlib-text.json
│   │   ├── projlib-theorem.json
│   │   ├── projlib-titlepage.json
│   │   ├── proof-at-the-end.json
│   │   ├── proof.json
│   │   ├── proofread.json
│   │   ├── prooftrees.json
│   │   ├── properties.json
│   │   ├── protecteddef.json
│   │   ├── protosem.json
│   │   ├── ps-trees.json
│   │   ├── pseudo.json
│   │   ├── pseudocode.json
│   │   ├── psfont.json
│   │   ├── psfrag.json
│   │   ├── psfragx.json
│   │   ├── psgo.json
│   │   ├── pst-2dplot.json
│   │   ├── pst-3d.json
│   │   ├── pst-3dplot.json
│   │   ├── pst-abspos.json
│   │   ├── pst-all.json
│   │   ├── pst-am.json
│   │   ├── pst-antiprism.json
│   │   ├── pst-arrow.json
│   │   ├── pst-bar.json
│   │   ├── pst-barcode.json
│   │   ├── pst-bezier.json
│   │   ├── pst-blur.json
│   │   ├── pst-bspline.json
│   │   ├── pst-calculate.json
│   │   ├── pst-calendar.json
│   │   ├── pst-char.json
│   │   ├── pst-cie.json
│   │   ├── pst-circ.json
│   │   ├── pst-coil.json
│   │   ├── pst-contourplot.json
│   │   ├── pst-coxcoor.json
│   │   ├── pst-coxeterp.json
│   │   ├── pst-dart.json
│   │   ├── pst-dbicons.json
│   │   ├── pst-diffraction.json
│   │   ├── pst-electricfield.json
│   │   ├── pst-eps.json
│   │   ├── pst-eucl.json
│   │   ├── pst-exa.json
│   │   ├── pst-feyn.json
│   │   ├── pst-fill.json
│   │   ├── pst-fit.json
│   │   ├── pst-flags-colors-html.json
│   │   ├── pst-flags.json
│   │   ├── pst-fr3d.json
│   │   ├── pst-fractal.json
│   │   ├── pst-fun.json
│   │   ├── pst-func.json
│   │   ├── pst-gantt.json
│   │   ├── pst-geo.json
│   │   ├── pst-geometrictools.json
│   │   ├── pst-gr3d.json
│   │   ├── pst-hsb.json
│   │   ├── pst-infixplot.json
│   │   ├── pst-intersect.json
│   │   ├── pst-jtree.json
│   │   ├── pst-key.json
│   │   ├── pst-knot.json
│   │   ├── pst-labo.json
│   │   ├── pst-layout.json
│   │   ├── pst-lens.json
│   │   ├── pst-light3d.json
│   │   ├── pst-lsystem.json
│   │   ├── pst-magneticfield.json
│   │   ├── pst-marble.json
│   │   ├── pst-math.json
│   │   ├── pst-mirror.json
│   │   ├── pst-moire.json
│   │   ├── pst-node.json
│   │   ├── pst-ob3d.json
│   │   ├── pst-ode.json
│   │   ├── pst-optexp.json
│   │   ├── pst-optic.json
│   │   ├── pst-osci.json
│   │   ├── pst-ovl.json
│   │   ├── pst-pad.json
│   │   ├── pst-pdf.json
│   │   ├── pst-pdgr.json
│   │   ├── pst-perspective.json
│   │   ├── pst-platon.json
│   │   ├── pst-plot.json
│   │   ├── pst-poker.json
│   │   ├── pst-poly.json
│   │   ├── pst-pulley.json
│   │   ├── pst-rputover.json
│   │   ├── pst-rubans.json
│   │   ├── pst-shell.json
│   │   ├── pst-sigsys.json
│   │   ├── pst-slpe.json
│   │   ├── pst-solarsystem.json
│   │   ├── pst-solides3d.json
│   │   ├── pst-soroban.json
│   │   ├── pst-spectra.json
│   │   ├── pst-spinner.json
│   │   ├── pst-stru.json
│   │   ├── pst-text.json
│   │   ├── pst-thick.json
│   │   ├── pst-tools.json
│   │   ├── pst-tree.json
│   │   ├── pst-turtle.json
│   │   ├── pst-tvz.json
│   │   ├── pst-vehicle.json
│   │   ├── pst-venn.json
│   │   ├── pst-vowel.json
│   │   ├── pst-xkey.json
│   │   ├── pstool.json
│   │   ├── pstricks-add.json
│   │   ├── pstricks-pdf.json
│   │   ├── pstricks.json
│   │   ├── pstring.json
│   │   ├── psvectorian.json
│   │   ├── ptex.json
│   │   ├── ptext.json
│   │   ├── ptolemaicastronomy.json
│   │   ├── punk.json
│   │   ├── puyotikz.json
│   │   ├── pvscript.json
│   │   ├── px-ds.json
│   │   ├── pxbabel.json
│   │   ├── pxbase.json
│   │   ├── pxchfon.json
│   │   ├── pxcjkcat.json
│   │   ├── pxfonts.json
│   │   ├── pxftnright.json
│   │   ├── pxgreeks.json
│   │   ├── pxjahyper-enc.json
│   │   ├── pxjahyper.json
│   │   ├── pxjodel.json
│   │   ├── pxmulticol.json
│   │   ├── pxpic.json
│   │   ├── pxrubrica.json
│   │   ├── pxtx-cal.json
│   │   ├── pxtx-frak.json
│   │   ├── pxxspace.json
│   │   ├── pygmentex.json
│   │   ├── pylatex.json
│   │   ├── pyluatex.json
│   │   ├── pymacros.json
│   │   ├── python.json
│   │   ├── pythonhighlight.json
│   │   ├── pythonimmediate.json
│   │   ├── pythontex.json
│   │   ├── qcircuit.json
│   │   ├── qcm.json
│   │   ├── qqru.json
│   │   ├── qrbill.json
│   │   ├── qrcode.json
│   │   ├── qrcstamps.json
│   │   ├── qsharp.json
│   │   ├── qstest.json
│   │   ├── qtree.json
│   │   ├── quantikz.json
│   │   ├── quattrocento.json
│   │   ├── quickreaction.json
│   │   ├── quiver.json
│   │   ├── quiz2socrative.json
│   │   ├── quizztex.json
│   │   ├── quotchap.json
│   │   ├── quoted.json
│   │   ├── quoting.json
│   │   ├── quran-bn.json
│   │   ├── quran-de.json
│   │   ├── quran-ur.json
│   │   ├── quran.json
│   │   ├── ragged2e.json
│   │   ├── raleway.json
│   │   ├── ran_toks.json
│   │   ├── randbild.json
│   │   ├── randomlist.json
│   │   ├── randomwalk.json
│   │   ├── randtext.json
│   │   ├── rangen.json
│   │   ├── rank-2-roots.json
│   │   ├── rawfonts.json
│   │   ├── rccol.json
│   │   ├── rcs-multi.json
│   │   ├── rcsinfo.json
│   │   ├── readarray.json
│   │   ├── readhanja.json
│   │   ├── readprov.json
│   │   ├── realboxes.json
│   │   ├── realhats.json
│   │   ├── realscripts.json
│   │   ├── realtranspose.json
│   │   ├── rec-thy.json
│   │   ├── recorder-fingering.json
│   │   ├── rectopma.json
│   │   ├── recycle.json
│   │   ├── refcheck.json
│   │   ├── refcount.json
│   │   ├── refenums.json
│   │   ├── reflectgraphics.json
│   │   ├── refstyle.json
│   │   ├── regcount.json
│   │   ├── regexpatch.json
│   │   ├── register.json
│   │   ├── regstats.json
│   │   ├── relaycircuit.json
│   │   ├── reledmac.json
│   │   ├── reledpar.json
│   │   ├── relinput.json
│   │   ├── relsize.json
│   │   ├── renditions.json
│   │   ├── reotex.json
│   │   ├── repltext.json
│   │   ├── rerunfilecheck.json
│   │   ├── rescansync.json
│   │   ├── resizegather.json
│   │   ├── resmes.json
│   │   ├── responsive.json
│   │   ├── rest-api.json
│   │   ├── returntogrid.json
│   │   ├── revquantum.json
│   │   ├── revsymb4-2.json
│   │   ├── rgltxdoc.json
│   │   ├── ribbonproofs.json
│   │   ├── richtext.json
│   │   ├── rigidnotation.json
│   │   ├── rit-fonts.json
│   │   ├── rjlpshap.json
│   │   ├── rmannot.json
│   │   ├── rmathbr.json
│   │   ├── robotarm.json
│   │   ├── roboto-mono.json
│   │   ├── roboto-serif.json
│   │   ├── roboto.json
│   │   ├── robust-externalize.json
│   │   ├── robustglossary.json
│   │   ├── robustindex.json
│   │   ├── rojud.json
│   │   ├── romanbar.json
│   │   ├── romande.json
│   │   ├── romannum.json
│   │   ├── rorlink.json
│   │   ├── rotating.json
│   │   ├── rotchiffre.json
│   │   ├── rotpages.json
│   │   ├── rotunda.json
│   │   ├── roundbox.json
│   │   ├── rpgicons.json
│   │   ├── rsfso.json
│   │   ├── rsphrase.json
│   │   ├── rterface.json
│   │   ├── rubikcube.json
│   │   ├── rubikpatterns.json
│   │   ├── rubikrotation.json
│   │   ├── rubiktwocube.json
│   │   ├── ruby.json
│   │   ├── rulerbox.json
│   │   ├── runcode.json
│   │   ├── runic.json
│   │   ├── rustex.json
│   │   ├── rustic.json
│   │   ├── rviewport.json
│   │   ├── rvwrite.json
│   │   ├── sa-tikz.json
│   │   ├── sacsymb.json
│   │   ├── sagetex.json
│   │   ├── sankey.json
│   │   ├── sansmath.json
│   │   ├── sansmathfonts.json
│   │   ├── sarabian.json
│   │   ├── saveenv.json
│   │   ├── savesym.json
│   │   ├── savetrees.json
│   │   ├── sbl-paper.json
│   │   ├── scalebar.json
│   │   ├── scalefnt.json
│   │   ├── scalerel.json
│   │   ├── scanpages.json
│   │   ├── schedule.json
│   │   ├── schemabloc.json
│   │   ├── schemata.json
│   │   ├── schola-otf.json
│   │   ├── scholax.json
│   │   ├── schooldocs.json
│   │   ├── schule.json
│   │   ├── schulma-physik.json
│   │   ├── schulma.json
│   │   ├── schwalbe.json
│   │   ├── scientific-thesis-cover.json
│   │   ├── scikgtex.json
│   │   ├── sclang-prettifier.json
│   │   ├── scontents.json
│   │   ├── scraddr.json
│   │   ├── scrambledenvs.json
│   │   ├── scratch3.json
│   │   ├── scrbase.json
│   │   ├── scrdate.json
│   │   ├── screenplay-pkg.json
│   │   ├── scrextend.json
│   │   ├── scrfontsizes.json
│   │   ├── scrhack.json
│   │   ├── scripture.json
│   │   ├── scrjura.json
│   │   ├── scrkbase.json
│   │   ├── scrlayer-fancyhdr.json
│   │   ├── scrlayer-notecolumn.json
│   │   ├── scrlayer-scrpage.json
│   │   ├── scrlayer.json
│   │   ├── scrletter.json
│   │   ├── scrlfile-hook.json
│   │   ├── scrlfile.json
│   │   ├── scrlogo.json
│   │   ├── scrpage2.json
│   │   ├── scrtime.json
│   │   ├── scrwfile.json
│   │   ├── scsnowman.json
│   │   ├── sdapsarray.json
│   │   ├── sdapsbase.json
│   │   ├── sdapslayout.json
│   │   ├── se2colors.json
│   │   ├── se2fonts.json
│   │   ├── se2packages.json
│   │   ├── secdot.json
│   │   ├── secnum.json
│   │   ├── sectionbox.json
│   │   ├── sectionbreak.json
│   │   ├── sectsty.json
│   │   ├── seealso.json
│   │   ├── selectp.json
│   │   ├── selinput.json
│   │   ├── selnolig.json
│   │   ├── semantex.json
│   │   ├── semantic-markup.json
│   │   ├── semantic.json
│   │   ├── semesterplanner.json
│   │   ├── semesterplannerlua.json
│   │   ├── semioneside.json
│   │   ├── semtex.json
│   │   ├── semtrans.json
│   │   ├── sepfootnotes.json
│   │   ├── sepnum.json
│   │   ├── seqsplit.json
│   │   ├── serbian-lig.json
│   │   ├── sesstime.json
│   │   ├── setdeck.json
│   │   ├── setdim.json
│   │   ├── setouterhbox.json
│   │   ├── sets.json
│   │   ├── setspace.json
│   │   ├── setspaceenhanced.json
│   │   ├── settobox.json
│   │   ├── sf298.json
│   │   ├── sfmath.json
│   │   ├── sgame.json
│   │   ├── sgamevar.json
│   │   ├── shadethm.json
│   │   ├── shadow.json
│   │   ├── shadowtext.json
│   │   ├── shapepar.json
│   │   ├── shdoc.json
│   │   ├── shellesc.json
│   │   ├── shortlst.json
│   │   ├── shortmathj.json
│   │   ├── shorttoc.json
│   │   ├── shortvrb.json
│   │   ├── show2e.json
│   │   ├── showcharinbox.json
│   │   ├── showdim.json
│   │   ├── showexpl.json
│   │   ├── showframe.json
│   │   ├── showhyphenation.json
│   │   ├── showhyphens.json
│   │   ├── showkerning.json
│   │   ├── showkeys.json
│   │   ├── showlabels.json
│   │   ├── shuffle.json
│   │   ├── sidebars.json
│   │   ├── sidecap.json
│   │   ├── sidenotes.json
│   │   ├── sidenotesplus.json
│   │   ├── signchart.json
│   │   ├── silence.json
│   │   ├── sillypage.json
│   │   ├── simplebnf.json
│   │   ├── simpleicons.json
│   │   ├── simpleinvoice.json
│   │   ├── simplekv.json
│   │   ├── simplenodes.json
│   │   ├── simpleoptics.json
│   │   ├── simpler-wick.json
│   │   ├── simples-matrices.json
│   │   ├── simpsons.json
│   │   ├── sitem.json
│   │   ├── siunitx-special.json
│   │   ├── siunitx.json
│   │   ├── sizeredc.json
│   │   ├── skak.json
│   │   ├── skeldoc.json
│   │   ├── skillicons.json
│   │   ├── skills.json
│   │   ├── skmath.json
│   │   ├── skt.json
│   │   ├── skull.json
│   │   ├── slantsc.json
│   │   ├── slashbox.json
│   │   ├── slashed.json
│   │   ├── slemph.json
│   │   ├── sltables.json
│   │   ├── smalltableof.json
│   │   ├── smart-eqn.json
│   │   ├── smartdiagram.json
│   │   ├── smartref.json
│   │   ├── smartunits.json
│   │   ├── smfthm.json
│   │   ├── snapshot.json
│   │   ├── snaptodo.json
│   │   ├── snotez.json
│   │   ├── sobolev.json
│   │   ├── software-biblatex.json
│   │   ├── solvesudoku.json
│   │   ├── somedefs.json
│   │   ├── songbook.json
│   │   ├── songproj.json
│   │   ├── songs.json
│   │   ├── soul.json
│   │   ├── soulpos.json
│   │   ├── soulutf8.json
│   │   ├── soup.json
│   │   ├── sourcecodepro.json
│   │   ├── sourcesanspro.json
│   │   ├── sourceserifpro.json
│   │   ├── spacekern.json
│   │   ├── spacingtricks.json
│   │   ├── spalign.json
│   │   ├── spark-otf.json
│   │   ├── sparklines.json
│   │   ├── spbmark.json
│   │   ├── spdef.json
│   │   ├── spectral.json
│   │   ├── spectralsequences.json
│   │   ├── spelatex.json
│   │   ├── spelling.json
│   │   ├── splitidx.json
│   │   ├── spot.json
│   │   ├── spotcolor.json
│   │   ├── spreadtab.json
│   │   ├── spverbatim.json
│   │   ├── sqrcaps.json
│   │   ├── srbtiks.json
│   │   ├── srcltx.json
│   │   ├── srdp-tables.json
│   │   ├── sseq.json
│   │   ├── stabular.json
│   │   ├── stack.json
│   │   ├── stackengine.json
│   │   ├── stacklet.json
│   │   ├── stackrel.json
│   │   ├── standalone.json
│   │   ├── standardsectioning.json
│   │   ├── stanli.json
│   │   ├── starfont.json
│   │   ├── starray.json
│   │   ├── statistics.json
│   │   ├── statmath.json
│   │   ├── statrep.json
│   │   ├── staves.json
│   │   ├── stdclsdv.json
│   │   ├── stdpage.json
│   │   ├── stealcaps.json
│   │   ├── steinmetz.json
│   │   ├── step.json
│   │   ├── steroid.json
│   │   ├── stex-logo.json
│   │   ├── stex-tikzinput.json
│   │   ├── stex.json
│   │   ├── stexthm.json
│   │   ├── stfloats.json
│   │   ├── stickstootext.json
│   │   ├── stix2.json
│   │   ├── stmaryrd.json
│   │   ├── stoneipa.json
│   │   ├── storebox.json
│   │   ├── strands.json
│   │   ├── stricttex.json
│   │   ├── string-diagrams.json
│   │   ├── stringenc.json
│   │   ├── stringstrings.json
│   │   ├── stripsemantex.json
│   │   ├── structmech.json
│   │   ├── struktex.json
│   │   ├── struktxf.json
│   │   ├── struktxp.json
│   │   ├── stubs.json
│   │   ├── studenthandouts.json
│   │   ├── styledcmd.json
│   │   ├── suanpan-l3.json
│   │   ├── subcaption.json
│   │   ├── subdepth.json
│   │   ├── subdocs.json
│   │   ├── subeqn.json
│   │   ├── subeqnarray.json
│   │   ├── subfig.json
│   │   ├── subfigmat.json
│   │   ├── subfigure.json
│   │   ├── subfiles.json
│   │   ├── subfloat.json
│   │   ├── substances.json
│   │   ├── substitutefont.json
│   │   ├── substr.json
│   │   ├── subsupscripts.json
│   │   ├── subtext.json
│   │   ├── sudoku.json
│   │   ├── suetterl.json
│   │   ├── suffix.json
│   │   ├── superiors.json
│   │   ├── supertabular.json
│   │   ├── suppose.json
│   │   ├── susy.json
│   │   ├── sverb.json
│   │   ├── svg-extract.json
│   │   ├── svg.json
│   │   ├── svgcolor.json
│   │   ├── svn-multi.json
│   │   ├── svn-prov.json
│   │   ├── svn.json
│   │   ├── svninfo.json
│   │   ├── svrsymbols.json
│   │   ├── swfigure.json
│   │   ├── swungdash.json
│   │   ├── symbats3.json
│   │   ├── symbolpalette.json
│   │   ├── sympytex.json
│   │   ├── synproof.json
│   │   ├── syntax.json
│   │   ├── syntaxdi.json
│   │   ├── synthslant.json
│   │   ├── syntonly.json
│   │   ├── systeme.json
│   │   ├── t1enc.json
│   │   ├── t4phonet.json
│   │   ├── tabfigures.json
│   │   ├── table-fct.json
│   │   ├── tablefootnote.json
│   │   ├── tableof.json
│   │   ├── tablestyles.json
│   │   ├── tablists.json
│   │   ├── tablor.json
│   │   ├── tabls.json
│   │   ├── tablvar.json
│   │   ├── taborder.json
│   │   ├── tabstackengine.json
│   │   ├── tabto.json
│   │   ├── tabu.json
│   │   ├── tabularborder.json
│   │   ├── tabularcalc.json
│   │   ├── tabularew.json
│   │   ├── tabularht.json
│   │   ├── tabularkv.json
│   │   ├── tabularray.json
│   │   ├── tabularraylibraryamsmath.json
│   │   ├── tabularraylibrarybooktabs.json
│   │   ├── tabularraylibrarydiagbox.json
│   │   ├── tabularraylibraryfunctional.json
│   │   ├── tabularraylibrarynameref.json
│   │   ├── tabularraylibrarysiunitx.json
│   │   ├── tabularraylibraryvarwidth.json
│   │   ├── tabularraylibraryzref.json
│   │   ├── tabularx.json
│   │   ├── tabulary.json
│   │   ├── tabvar.json
│   │   ├── tagging.json
│   │   ├── tagpair.json
│   │   ├── tagpdf.json
│   │   ├── tameflts.json
│   │   ├── tangocolors.json
│   │   ├── tascmac.json
│   │   ├── tasks.json
│   │   ├── tcolorbox.json
│   │   ├── tcolorboxlibraryall.json
│   │   ├── tcolorboxlibrarybreakable.json
│   │   ├── tcolorboxlibrarydocumentation.json
│   │   ├── tcolorboxlibraryexternal.json
│   │   ├── tcolorboxlibraryfitting.json
│   │   ├── tcolorboxlibraryhooks.json
│   │   ├── tcolorboxlibrarylistings.json
│   │   ├── tcolorboxlibrarylistingsutf8.json
│   │   ├── tcolorboxlibrarymagazine.json
│   │   ├── tcolorboxlibrarymany.json
│   │   ├── tcolorboxlibraryminted.json
│   │   ├── tcolorboxlibrarymost.json
│   │   ├── tcolorboxlibraryposter.json
│   │   ├── tcolorboxlibraryraster.json
│   │   ├── tcolorboxlibraryskins.json
│   │   ├── tcolorboxlibrarytheorems.json
│   │   ├── tcolorboxlibraryvignette.json
│   │   ├── tdclock.json
│   │   ├── tdsfrmath.json
│   │   ├── ted.json
│   │   ├── telprint.json
│   │   ├── templatetools.json
│   │   ├── tempora.json
│   │   ├── tengwarscript.json
│   │   ├── tensind.json
│   │   ├── tensor.json
│   │   ├── termcal.json
│   │   ├── termes-otf.json
│   │   ├── termlist.json
│   │   ├── termsim.json
│   │   ├── testhyphens.json
│   │   ├── testidx-glossaries.json
│   │   ├── testidx.json
│   │   ├── tetragonos.json
│   │   ├── teubner.json
│   │   ├── tex-locale.json
│   │   ├── tex.json
│   │   ├── tex4ebook.json
│   │   ├── tex4ht.json
│   │   ├── texapi.json
│   │   ├── texdate.json
│   │   ├── texdepends.json
│   │   ├── texdimens.json
│   │   ├── texdraw.json
│   │   ├── texlinks.json
│   │   ├── texmate.json
│   │   ├── texments.json
│   │   ├── texnames.json
│   │   ├── texnegar.json
│   │   ├── texosquery.json
│   │   ├── texshade.json
│   │   ├── texsort.json
│   │   ├── texsurgery.json
│   │   ├── textalpha.json
│   │   ├── textarea.json
│   │   ├── textcase.json
│   │   ├── textcmds.json
│   │   ├── textcomp.json
│   │   ├── textcsc.json
│   │   ├── textfit.json
│   │   ├── textfrac.json
│   │   ├── textglos.json
│   │   ├── textgreek.json
│   │   ├── textopo.json
│   │   ├── textpos.json
│   │   ├── textualicomma.json
│   │   ├── texvc.json
│   │   ├── tfrupee.json
│   │   ├── tgadventor.json
│   │   ├── tgbonum.json
│   │   ├── tgchorus.json
│   │   ├── tgcursor.json
│   │   ├── tgheros.json
│   │   ├── tgothic.json
│   │   ├── tgpagella.json
│   │   ├── tgschola.json
│   │   ├── tgtermes.json
│   │   ├── thaienum.json
│   │   ├── thaispec.json
│   │   ├── thalie.json
│   │   ├── theatre.json
│   │   ├── theorem.json
│   │   ├── theoremref.json
│   │   ├── thepdfnumber.json
│   │   ├── thermodynamics.json
│   │   ├── thinsp.json
│   │   ├── thm-autoref.json
│   │   ├── thm-kv.json
│   │   ├── thm-listof.json
│   │   ├── thm-patch.json
│   │   ├── thm-restate.json
│   │   ├── thmbox.json
│   │   ├── thmtools.json
│   │   ├── thorshammer.json
│   │   ├── threadcol.json
│   │   ├── threeparttable.json
│   │   ├── threeparttablex.json
│   │   ├── thsmc.json
│   │   ├── thumb.json
│   │   ├── thumbs.json
│   │   ├── thumby.json
│   │   ├── ticket.json
│   │   ├── ticollege.json
│   │   ├── tikz-3dplot.json
│   │   ├── tikz-among-us-fancyhdr.json
│   │   ├── tikz-among-us-watermark-eso-pic.json
│   │   ├── tikz-among-us.json
│   │   ├── tikz-bagua.json
│   │   ├── tikz-cd.json
│   │   ├── tikz-dependency.json
│   │   ├── tikz-dimline.json
│   │   ├── tikz-feynhand.json
│   │   ├── tikz-feynman.json
│   │   ├── tikz-imagelabels.json
│   │   ├── tikz-inet.json
│   │   ├── tikz-lake-fig.json
│   │   ├── tikz-layers.json
│   │   ├── tikz-mirror-lens.json
│   │   ├── tikz-network.json
│   │   ├── tikz-opm.json
│   │   ├── tikz-osci.json
│   │   ├── tikz-page.json
│   │   ├── tikz-palattice.json
│   │   ├── tikz-qtree.json
│   │   ├── tikz-timing.json
│   │   ├── tikz-trackschematic.json
│   │   ├── tikz-truchet.json
│   │   ├── tikz-uml.json
│   │   ├── tikz.json
│   │   ├── tikz2d-fr.json
│   │   ├── tikz3d-fr.json
│   │   ├── tikzPackets.json
│   │   ├── tikzbricks.json
│   │   ├── tikzcodeblocks.json
│   │   ├── tikzdotncross.json
│   │   ├── tikzducks.json
│   │   ├── tikzexternal.json
│   │   ├── tikzfill.hexagon.json
│   │   ├── tikzfill.image.json
│   │   ├── tikzfill.json
│   │   ├── tikzfill.rhombus.json
│   │   ├── tikzinclude.json
│   │   ├── tikzinput.json
│   │   ├── tikzlibrary3d.json
│   │   ├── tikzlibraryangles.json
│   │   ├── tikzlibraryanimations.json
│   │   ├── tikzlibraryautomata.json
│   │   ├── tikzlibrarybabel.json
│   │   ├── tikzlibrarybackgrounds.json
│   │   ├── tikzlibrarybayesnet.json
│   │   ├── tikzlibrarybbox.json
│   │   ├── tikzlibrarybending.json
│   │   ├── tikzlibrarybraids.json
│   │   ├── tikzlibrarycalendar.json
│   │   ├── tikzlibrarycalligraphy.json
│   │   ├── tikzlibrarycd.json
│   │   ├── tikzlibraryceltic.json
│   │   ├── tikzlibrarychains.json
│   │   ├── tikzlibrarycircuits.ee.IEC.json
│   │   ├── tikzlibrarycircuits.ee.IEC.relay.json
│   │   ├── tikzlibrarycircuits.ee.json
│   │   ├── tikzlibrarycircuits.json
│   │   ├── tikzlibrarycircuits.logic.CDH.json
│   │   ├── tikzlibrarycircuits.logic.IEC.json
│   │   ├── tikzlibrarycircuits.logic.US.json
│   │   ├── tikzlibrarycircuits.logic.json
│   │   ├── tikzlibrarycircuits.plc.ladder.json
│   │   ├── tikzlibrarycircuits.plc.sfc.json
│   │   ├── tikzlibrarycolorbrewer.json
│   │   ├── tikzlibrarycommutative-diagrams.json
│   │   ├── tikzlibrarycurvilinear.json
│   │   ├── tikzlibrarydatavisualization.3d.json
│   │   ├── tikzlibrarydatavisualization.barcharts.json
│   │   ├── tikzlibrarydatavisualization.formats.functions.json
│   │   ├── tikzlibrarydatavisualization.json
│   │   ├── tikzlibrarydatavisualization.polar.json
│   │   ├── tikzlibrarydatavisualization.sparklines.json
│   │   ├── tikzlibrarydecorations.footprints.json
│   │   ├── tikzlibrarydecorations.fractals.json
│   │   ├── tikzlibrarydecorations.json
│   │   ├── tikzlibrarydecorations.markings.json
│   │   ├── tikzlibrarydecorations.pathmorphing.json
│   │   ├── tikzlibrarydecorations.pathreplacing.json
│   │   ├── tikzlibrarydecorations.shapes.json
│   │   ├── tikzlibrarydecorations.text.json
│   │   ├── tikzlibrarydubins.json
│   │   ├── tikzlibraryducks.json
│   │   ├── tikzlibraryer.json
│   │   ├── tikzlibraryext.calendar-plus.json
│   │   ├── tikzlibraryext.misc.json
│   │   ├── tikzlibraryext.node-families.json
│   │   ├── tikzlibraryext.node-families.shapes.geometric.json
│   │   ├── tikzlibraryext.nodes.json
│   │   ├── tikzlibraryext.paths.arcto.json
│   │   ├── tikzlibraryext.paths.timer.json
│   │   ├── tikzlibraryext.patterns.images.json
│   │   ├── tikzlibraryext.positioning-plus.json
│   │   ├── tikzlibraryext.scalepicture.json
│   │   ├── tikzlibraryext.shapes.circlearrow.json
│   │   ├── tikzlibraryext.shapes.circlecrosssplit.json
│   │   ├── tikzlibraryext.shapes.heatmark.json
│   │   ├── tikzlibraryext.shapes.rectangleroundedcorners.json
│   │   ├── tikzlibraryext.shapes.superellipse.json
│   │   ├── tikzlibraryext.shapes.uncenteredrectangle.json
│   │   ├── tikzlibraryext.transformations.mirror.json
│   │   ├── tikzlibraryexternal.json
│   │   ├── tikzlibraryfadings.json
│   │   ├── tikzlibraryfill.hexagon.json
│   │   ├── tikzlibraryfill.image.json
│   │   ├── tikzlibraryfill.rhombus.json
│   │   ├── tikzlibraryfit.json
│   │   ├── tikzlibraryfixedpointarithmetic.json
│   │   ├── tikzlibraryfolding.json
│   │   ├── tikzlibraryfpu.json
│   │   ├── tikzlibrarygraphdrawing.json
│   │   ├── tikzlibrarygraphs.json
│   │   ├── tikzlibrarygraphs.standard.json
│   │   ├── tikzlibraryhobby.json
│   │   ├── tikzlibraryintersections.json
│   │   ├── tikzlibrarykarnaugh.json
│   │   ├── tikzlibraryknots.json
│   │   ├── tikzlibrarylindenmayersystems.json
│   │   ├── tikzlibrarymarmots.json
│   │   ├── tikzlibrarymath.json
│   │   ├── tikzlibrarymatrix.json
│   │   ├── tikzlibrarymatrix.skeleton.json
│   │   ├── tikzlibrarymindmap.json
│   │   ├── tikzlibrarynef.json
│   │   ├── tikzlibrarynfold.json
│   │   ├── tikzlibraryocgx.json
│   │   ├── tikzlibraryoptics.json
│   │   ├── tikzlibraryoverlay-beamer-styles.json
│   │   ├── tikzlibrarypatterns.meta.json
│   │   ├── tikzlibrarypenrose.json
│   │   ├── tikzlibraryperspective.json
│   │   ├── tikzlibrarypetri.json
│   │   ├── tikzlibraryplotmarks.json
│   │   ├── tikzlibrarypositioning.json
│   │   ├── tikzlibraryprofiler.json
│   │   ├── tikzlibraryquantikz.json
│   │   ├── tikzlibraryquantikz2.json
│   │   ├── tikzlibraryquotes.json
│   │   ├── tikzlibraryrdf.json
│   │   ├── tikzlibraryrulercompass.json
│   │   ├── tikzlibraryshadings.json
│   │   ├── tikzlibraryshadows.blur.json
│   │   ├── tikzlibraryshadows.json
│   │   ├── tikzlibraryshapes.arrows.json
│   │   ├── tikzlibraryshapes.callouts.json
│   │   ├── tikzlibraryshapes.gates.ee.IEC.json
│   │   ├── tikzlibraryshapes.gates.ee.json
│   │   ├── tikzlibraryshapes.gates.logic.IEC.json
│   │   ├── tikzlibraryshapes.gates.logic.US.json
│   │   ├── tikzlibraryshapes.gates.logic.json
│   │   ├── tikzlibraryshapes.geometric.json
│   │   ├── tikzlibraryshapes.json
│   │   ├── tikzlibraryshapes.misc.json
│   │   ├── tikzlibraryshapes.multipart.json
│   │   ├── tikzlibraryshapes.symbols.json
│   │   ├── tikzlibraryspath3.json
│   │   ├── tikzlibraryspy.json
│   │   ├── tikzlibrarysvg.path.json
│   │   ├── tikzlibraryswigs.json
│   │   ├── tikzlibraryswitching-architectures.json
│   │   ├── tikzlibrarythrough.json
│   │   ├── tikzlibrarytikzlings.json
│   │   ├── tikzlibrarytikzmark.json
│   │   ├── tikzlibrarytilings.json
│   │   ├── tikzlibrarytilings.penrose.json
│   │   ├── tikzlibrarytilings.polykite.json
│   │   ├── tikzlibrarytqft.json
│   │   ├── tikzlibrarytrees.json
│   │   ├── tikzlibraryturtle.json
│   │   ├── tikzlibraryviews.json
│   │   ├── tikzlibraryzx-calculus.json
│   │   ├── tikzlings-addons.json
│   │   ├── tikzlings-anteaters.json
│   │   ├── tikzlings-bats.json
│   │   ├── tikzlings-bears.json
│   │   ├── tikzlings-bees.json
│   │   ├── tikzlings-bugs.json
│   │   ├── tikzlings-cats.json
│   │   ├── tikzlings-chickens.json
│   │   ├── tikzlings-coatis.json
│   │   ├── tikzlings-elephants.json
│   │   ├── tikzlings-hippos.json
│   │   ├── tikzlings-koalas.json
│   │   ├── tikzlings-marmots.json
│   │   ├── tikzlings-mice.json
│   │   ├── tikzlings-moles.json
│   │   ├── tikzlings-owls.json
│   │   ├── tikzlings-pandas.json
│   │   ├── tikzlings-penguins.json
│   │   ├── tikzlings-pigs.json
│   │   ├── tikzlings-rhinos.json
│   │   ├── tikzlings-sheep.json
│   │   ├── tikzlings-sloths.json
│   │   ├── tikzlings-snowmen.json
│   │   ├── tikzlings-squirrels.json
│   │   ├── tikzlings-wolves.json
│   │   ├── tikzlings.json
│   │   ├── tikzmarmots.json
│   │   ├── tikzorbital.json
│   │   ├── tikzpagenodes.json
│   │   ├── tikzpeople.json
│   │   ├── tikzpfeile.json
│   │   ├── tikzpingus.json
│   │   ├── tikzquests.json
│   │   ├── tikzrput.json
│   │   ├── tikzscale.json
│   │   ├── tikzsymbols.json
│   │   ├── tikzviolinplots.json
│   │   ├── tile-graphic.json
│   │   ├── time.json
│   │   ├── timing-diagrams.json
│   │   ├── tinos.json
│   │   ├── tipa.json
│   │   ├── tipauni.json
│   │   ├── tipfr.json
│   │   ├── tipx.json
│   │   ├── tiscreen.json
│   │   ├── titlecaps.json
│   │   ├── titlefoot.json
│   │   ├── titlepic.json
│   │   ├── titleps.json
│   │   ├── titleref.json
│   │   ├── titles.json
│   │   ├── titlesec.json
│   │   ├── titletoc.json
│   │   ├── titling.json
│   │   ├── tkz-base.json
│   │   ├── tkz-berge.json
│   │   ├── tkz-bernoulli.json
│   │   ├── tkz-elements.json
│   │   ├── tkz-euclide.json
│   │   ├── tkz-fct.json
│   │   ├── tkz-graph.json
│   │   ├── tkz-kiviat.json
│   │   ├── tkz-linknodes.json
│   │   ├── tkz-orm.json
│   │   ├── tkz-tab.json
│   │   ├── tkzexample.json
│   │   ├── to-be-determined.json
│   │   ├── tocbasic.json
│   │   ├── tocbibind.json
│   │   ├── tocdata.json
│   │   ├── tocenter.json
│   │   ├── tocloft.json
│   │   ├── tocvsec2.json
│   │   ├── todo.json
│   │   ├── todonotes.json
│   │   ├── tokcycle.json
│   │   ├── tokenizer.json
│   │   ├── tolkienfonts.json
│   │   ├── tone.json
│   │   ├── tonevalue.json
│   │   ├── toolbox.json
│   │   ├── topcapt.json
│   │   ├── topcoman.json
│   │   ├── topfloat.json
│   │   ├── topfront.json
│   │   ├── topiclongtable.json
│   │   ├── topsection.json
│   │   ├── toptesi-scudo.json
│   │   ├── toptesi-sss.json
│   │   ├── toptesi.json
│   │   ├── totalcount.json
│   │   ├── totcount.json
│   │   ├── totpages.json
│   │   ├── trace.json
│   │   ├── tracefnt.json
│   │   ├── tracking.json
│   │   ├── tracklang-scripts.json
│   │   ├── tracklang.json
│   │   ├── trajan.json
│   │   ├── tram.json
│   │   ├── tramlines.json
│   │   ├── translations.json
│   │   ├── translator.json
│   │   ├── transparent.json
│   │   ├── tree-dvips.json
│   │   ├── trees.json
│   │   ├── trfsigns.json
│   │   ├── trig.json
│   │   ├── trimclip.json
│   │   ├── trivfloat.json
│   │   ├── trsym.json
│   │   ├── truncate.json
│   │   ├── truthtable.json
│   │   ├── tsvtemplate.json
│   │   ├── tucv.json
│   │   ├── tudacolors.json
│   │   ├── tudafonts.json
│   │   ├── tudarules.json
│   │   ├── tudscrbase.json
│   │   ├── tudscrcolor.json
│   │   ├── tudscrfonts.json
│   │   ├── tudscrsupervisor.json
│   │   ├── turabian-formatting.json
│   │   ├── turnstile.json
│   │   ├── turnthepage.json
│   │   ├── tweaklist.json
│   │   ├── twemojis.json
│   │   ├── twoopt.json
│   │   ├── twoup.json
│   │   ├── tx-ds.json
│   │   ├── tx-of.json
│   │   ├── txfonts.json
│   │   ├── txfontsb.json
│   │   ├── txgreeks.json
│   │   ├── txuprcal.json
│   │   ├── typearea.json
│   │   ├── typed-checklist.json
│   │   ├── typedref.json
│   │   ├── typewriter.json
│   │   ├── typicons.json
│   │   ├── typoaid.json
│   │   ├── typog.json
│   │   ├── typogrid.json
│   │   ├── uarial.json
│   │   ├── uassign.json
│   │   ├── ucharcat.json
│   │   ├── ucharclasses.json
│   │   ├── ucs.json
│   │   ├── ucshyper.json
│   │   ├── ucsutils.json
│   │   ├── ugarite.json
│   │   ├── uhrzeit.json
│   │   ├── ulem.json
│   │   ├── ulgothic.json
│   │   ├── ulsy.json
│   │   ├── umoline.json
│   │   ├── underlin.json
│   │   ├── underoverlap.json
│   │   ├── underscore.json
│   │   ├── undertilde.json
│   │   ├── undolabl.json
│   │   ├── unfontsxe.json
│   │   ├── uni-titlepage.json
│   │   ├── uni.json
│   │   ├── uni8.json
│   │   ├── unicode-alphabets.json
│   │   ├── unicode-math-input.json
│   │   ├── unicode-math.json
│   │   ├── unicodefonttable.json
│   │   ├── unifront.json
│   │   ├── uninormalize.json
│   │   ├── unique.json
│   │   ├── uniquecounter.json
│   │   ├── unisc.json
│   │   ├── unitconv.json
│   │   ├── units.json
│   │   ├── unitsdef.json
│   │   ├── universalis.json
│   │   ├── unravel.json
│   │   ├── updatemarks.json
│   │   ├── upgreek.json
│   │   ├── upkcat.json
│   │   ├── uplatex.json
│   │   ├── upmethodology-backpage.json
│   │   ├── upmethodology-code.json
│   │   ├── upmethodology-document.json
│   │   ├── upmethodology-extension.json
│   │   ├── upmethodology-fmt.json
│   │   ├── upmethodology-frontpage.json
│   │   ├── upmethodology-p-common.json
│   │   ├── upmethodology-spec.json
│   │   ├── upmethodology-task.json
│   │   ├── upmethodology-version.json
│   │   ├── uptex.json
│   │   ├── upzhkinsoku.json
│   │   ├── uri.json
│   │   ├── url.json
│   │   ├── urwchancal.json
│   │   ├── usebib.json
│   │   ├── useclass.json
│   │   ├── ushort.json
│   │   ├── utf8add.json
│   │   ├── utf8hax.json
│   │   ├── utfsym.json
│   │   ├── uuthesis-chapterbib.json
│   │   ├── uuthesis-color-headings.json
│   │   ├── uuthesis-index.json
│   │   ├── uwa-colours.json
│   │   ├── va.json
│   │   ├── variablelm.json
│   │   ├── variations.json
│   │   ├── varioref.json
│   │   ├── varsfromjobname.json
│   │   ├── varvbtm.json
│   │   ├── varwidth.json
│   │   ├── vcell.json
│   │   ├── vdmlisting.json
│   │   ├── vector.json
│   │   ├── vectorlogos.json
│   │   ├── venndiagram.json
│   │   ├── venturis.json
│   │   ├── venturis2.json
│   │   ├── venturisold.json
│   │   ├── verbasef.json
│   │   ├── verbatim.json
│   │   ├── verbatimbox.json
│   │   ├── verbatimcopy.json
│   │   ├── verbdef.json
│   │   ├── verbments.json
│   │   ├── verdana.json
│   │   ├── verifiche.json
│   │   ├── verifycommand.json
│   │   ├── verse.json
│   │   ├── version.json
│   │   ├── versions.json
│   │   ├── versonotes.json
│   │   ├── vertbars.json
│   │   ├── vgrid.json
│   │   ├── vhistory.json
│   │   ├── vietnam.json
│   │   ├── viking.json
│   │   ├── virginialake.json
│   │   ├── vmargin.json
│   │   ├── vntex.json
│   │   ├── volumes.json
│   │   ├── vowel.json
│   │   ├── vpe.json
│   │   ├── vplref.json
│   │   ├── vrbexin.json
│   │   ├── vrsion.json
│   │   ├── vruler.json
│   │   ├── vtable.json
│   │   ├── vwcol.json
│   │   ├── wallpaper.json
│   │   ├── wargame.json
│   │   ├── warning.json
│   │   ├── warpcol.json
│   │   ├── wasysym.json
│   │   ├── watermark.json
│   │   ├── web.json
│   │   ├── wedn.json
│   │   ├── weekday.json
│   │   ├── weiqi.json
│   │   ├── wela.json
│   │   ├── wesa.json
│   │   ├── wesu.json
│   │   ├── weva.json
│   │   ├── wheelchart.json
│   │   ├── widetable.json
│   │   ├── widows-and-orphans.json
│   │   ├── wiki.json
│   │   ├── wiley-authoringtemplate.json
│   │   ├── withargs.json
│   │   ├── witharrows.json
│   │   ├── wordcloud.json
│   │   ├── wordle.json
│   │   ├── wordlike.json
│   │   ├── worksheet.json
│   │   ├── worldflags.json
│   │   ├── wrapfig.json
│   │   ├── wrapfig2.json
│   │   ├── wrapstuff.json
│   │   ├── wtref.json
│   │   ├── xCJK2uni.json
│   │   ├── xargs.json
│   │   ├── xassoccnt.json
│   │   ├── xbmks.json
│   │   ├── xcharter-otf.json
│   │   ├── xcntperchap.json
│   │   ├── xcoffins.json
│   │   ├── xcolor-material.json
│   │   ├── xcolor-solarized.json
│   │   ├── xcolor.json
│   │   ├── xcomment.json
│   │   ├── xcookybooky.json
│   │   ├── xcpdftips.json
│   │   ├── xdufont.json
│   │   ├── xeCJK-listings.json
│   │   ├── xeCJK.json
│   │   ├── xeCJKfntef.json
│   │   ├── xecolor.json
│   │   ├── xecyr.json
│   │   ├── xecyrmongolian.json
│   │   ├── xeindex.json
│   │   ├── xellipsis.json
│   │   ├── xepersian-hm.json
│   │   ├── xepersian-mathdigitspec.json
│   │   ├── xepersian-multiplechoice.json
│   │   ├── xepersian-persiancal.json
│   │   ├── xepersian.json
│   │   ├── xesearch.json
│   │   ├── xespotcolor.json
│   │   ├── xetex.json
│   │   ├── xetexko.json
│   │   ├── xevlna.json
│   │   ├── xfakebold.json
│   │   ├── xfp.json
│   │   ├── xfrac.json
│   │   ├── xgreek.json
│   │   ├── xhfill.json
│   │   ├── xifthen.json
│   │   ├── xindex.json
│   │   ├── xint.json
│   │   ├── xintbinhex.json
│   │   ├── xintcfrac.json
│   │   ├── xintcore.json
│   │   ├── xintexpr.json
│   │   ├── xintfrac.json
│   │   ├── xintgcd.json
│   │   ├── xintkernel.json
│   │   ├── xintlog.json
│   │   ├── xintseries.json
│   │   ├── xinttools.json
│   │   ├── xinttrig.json
│   │   ├── xistercian.json
│   │   ├── xkcdcolors.json
│   │   ├── xkeymask.json
│   │   ├── xkeyval.json
│   │   ├── xkvview.json
│   │   ├── xlop.json
│   │   ├── xltabular.json
│   │   ├── xltxtra.json
│   │   ├── xmpincl.json
│   │   ├── xmpmulti.json
│   │   ├── xob-dotemph.json
│   │   ├── xob-font.json
│   │   ├── xparse.json
│   │   ├── xpatch.json
│   │   ├── xpiano.json
│   │   ├── xpicture.json
│   │   ├── xpinyin.json
│   │   ├── xprintlen.json
│   │   ├── xpunctuate.json
│   │   ├── xr-hyper.json
│   │   ├── xr.json
│   │   ├── xsavebox.json
│   │   ├── xsim.json
│   │   ├── xsimverb.json
│   │   ├── xskak.json
│   │   ├── xspace.json
│   │   ├── xstring.json
│   │   ├── xt_capts.json
│   │   ├── xtab.json
│   │   ├── xtemplate.json
│   │   ├── xucuri.json
│   │   ├── xurl.json
│   │   ├── xxcolor.json
│   │   ├── xy.json
│   │   ├── xymtex.json
│   │   ├── xymtexpdf.json
│   │   ├── xymtx-pdf.json
│   │   ├── yagusylo.json
│   │   ├── yamlvars.json
│   │   ├── yathesis.json
│   │   ├── yax.json
│   │   ├── ydoc-code.json
│   │   ├── ydoc-desc.json
│   │   ├── ydoc-doc.json
│   │   ├── ydoc-expl.json
│   │   ├── ydoc.json
│   │   ├── yfonts-otf.json
│   │   ├── yfonts.json
│   │   ├── yhmath.json
│   │   ├── youngtab.json
│   │   ├── yquant.json
│   │   ├── ysabeau.json
│   │   ├── ytableau.json
│   │   ├── zahl2string.json
│   │   ├── zb-basics.json
│   │   ├── zebra-goodies.json
│   │   ├── zennote.json
│   │   ├── zhlineskip.json
│   │   ├── zhlipsum.json
│   │   ├── zhmCJK.json
│   │   ├── zhnumber.json
│   │   ├── zhspacing.json
│   │   ├── zi4.json
│   │   ├── ziffer.json
│   │   ├── zitie.json
│   │   ├── zlmtt.json
│   │   ├── zref-abspage.json
│   │   ├── zref-abspos.json
│   │   ├── zref-base.json
│   │   ├── zref-check.json
│   │   ├── zref-clever.json
│   │   ├── zref-counter.json
│   │   ├── zref-dotfill.json
│   │   ├── zref-env.json
│   │   ├── zref-hyperref.json
│   │   ├── zref-lastpage.json
│   │   ├── zref-marks.json
│   │   ├── zref-nextpage.json
│   │   ├── zref-pageattr.json
│   │   ├── zref-pagelayout.json
│   │   ├── zref-perpage.json
│   │   ├── zref-runs.json
│   │   ├── zref-savepos.json
│   │   ├── zref-thepage.json
│   │   ├── zref-titleref.json
│   │   ├── zref-totpages.json
│   │   ├── zref-user.json
│   │   ├── zref-vario.json
│   │   ├── zref-xr.json
│   │   ├── zref.json
│   │   ├── zugferd.json
│   │   ├── zwgetfdate.json
│   │   ├── zwpagelayout.json
│   │   ├── zx-calculus.json
│   │   ├── zxbase.json
│   │   ├── zxjafbfont.json
│   │   ├── zxjafont.json
│   │   └── zxjatype.json
│   ├── parse-cwl.ts
│   ├── pkgcommand.py
│   ├── pyintel/
│   │   ├── __init__.py
│   │   ├── ctanpkg.py
│   │   ├── parse_tlpdb.py
│   │   ├── pkgcommand.py
│   │   └── uni.py
│   ├── spaces.py
│   ├── unified.ts
│   ├── unimathsymbols.py
│   ├── update-grammar.mjs
│   └── viewer/
│       ├── viewer.html.diff
│       └── viewer.mjs.diff
├── eslint.config.mjs
├── package.json
├── package.nls.bg.json
├── package.nls.cs.json
├── package.nls.de.json
├── package.nls.es.json
├── package.nls.fr.json
├── package.nls.hu.json
├── package.nls.it.json
├── package.nls.ja.json
├── package.nls.json
├── package.nls.ko.json
├── package.nls.pl.json
├── package.nls.pt-br.json
├── package.nls.ru.json
├── package.nls.tr.json
├── package.nls.zh-cn.json
├── package.nls.zh-tw.json
├── resources/
│   ├── mathpreviewpanel/
│   │   └── mathpreview.js
│   ├── snippetview/
│   │   ├── README.md
│   │   ├── pdfrenderer.js
│   │   ├── snippetpanel.json
│   │   ├── snippetview.css
│   │   ├── snippetview.html
│   │   └── snippetview.js
│   └── unified.js
├── samples/
│   ├── docker/
│   │   ├── .devcontainer/
│   │   │   ├── Dockerfile
│   │   │   └── devcontainer.json
│   │   ├── README.md
│   │   └── t.tex
│   ├── multi-root/
│   │   ├── README.md
│   │   ├── a01/
│   │   │   └── a01.tex
│   │   ├── b01/
│   │   │   └── b01.tex
│   │   └── m.code-workspace
│   └── sample/
│       └── t.tex
├── scripts/
│   ├── latexindent
│   ├── latexindent.bat
│   ├── latexmk
│   ├── latexmk.bat
│   ├── synctex
│   ├── synctex.bat
│   ├── texcount
│   └── texcount.bat
├── src/
│   ├── README.md
│   ├── compile/
│   │   ├── build.ts
│   │   ├── external.ts
│   │   ├── index.ts
│   │   ├── queue.ts
│   │   ├── recipe.ts
│   │   └── terminate.ts
│   ├── completion/
│   │   ├── bibtex.ts
│   │   ├── completer/
│   │   │   ├── argument.ts
│   │   │   ├── atsuggestion.ts
│   │   │   ├── citation.ts
│   │   │   ├── class.ts
│   │   │   ├── closeenv.ts
│   │   │   ├── completerutils.ts
│   │   │   ├── environment.ts
│   │   │   ├── glossary.ts
│   │   │   ├── input.ts
│   │   │   ├── macro.ts
│   │   │   ├── package.ts
│   │   │   ├── reference.ts
│   │   │   └── subsuperscript.ts
│   │   ├── index.ts
│   │   └── latex.ts
│   ├── core/
│   │   ├── cache.ts
│   │   ├── commands.ts
│   │   ├── event.ts
│   │   ├── file.ts
│   │   ├── root.ts
│   │   └── watcher.ts
│   ├── extras/
│   │   ├── activity-bar.ts
│   │   ├── checkcites.ts
│   │   ├── cleaner.ts
│   │   ├── counter.ts
│   │   ├── index.ts
│   │   ├── liveshare.ts
│   │   ├── math-fixer.ts
│   │   ├── quote-fixer.ts
│   │   ├── section.ts
│   │   ├── snippet-view.ts
│   │   ├── texdoc.ts
│   │   └── texroot.ts
│   ├── language/
│   │   ├── definition.ts
│   │   ├── folding.ts
│   │   ├── index.ts
│   │   ├── l10n.ts
│   │   ├── selection.ts
│   │   ├── symbol-document.ts
│   │   └── symbol-project.ts
│   ├── lint/
│   │   ├── bibtex-formatter/
│   │   │   └── utils.ts
│   │   ├── bibtex-formatter.ts
│   │   ├── duplicate-label.ts
│   │   ├── index.ts
│   │   ├── latex-code-actions.ts
│   │   ├── latex-formatter/
│   │   │   ├── latexindent.ts
│   │   │   └── tex-fmt.ts
│   │   ├── latex-formatter.ts
│   │   ├── latex-linter/
│   │   │   ├── chktex.ts
│   │   │   ├── lacheck.ts
│   │   │   └── utils.ts
│   │   └── latex-linter.ts
│   ├── locate/
│   │   ├── index.ts
│   │   ├── pair.ts
│   │   ├── synctex/
│   │   │   ├── synctexjs.ts
│   │   │   └── worker.ts
│   │   └── synctex.ts
│   ├── lw.ts
│   ├── main.ts
│   ├── outline/
│   │   ├── index.ts
│   │   ├── structure/
│   │   │   ├── bibtex.ts
│   │   │   ├── doctex.ts
│   │   │   └── latex.ts
│   │   └── structure.ts
│   ├── parse/
│   │   ├── find.ts
│   │   ├── index.ts
│   │   ├── newcommandfinder.ts
│   │   ├── parser/
│   │   │   ├── biberlog.ts
│   │   │   ├── bibtexlog.ts
│   │   │   ├── latexlog.ts
│   │   │   ├── parserutils.ts
│   │   │   ├── unified-defs.ts
│   │   │   └── unified.ts
│   │   └── parser.ts
│   ├── preview/
│   │   ├── hover/
│   │   │   ├── cursor.ts
│   │   │   ├── ongraphics.ts
│   │   │   ├── onmath.ts
│   │   │   ├── onref.ts
│   │   │   └── utils.ts
│   │   ├── hover.ts
│   │   ├── index.ts
│   │   ├── math-preview-panel.ts
│   │   ├── mathjax/
│   │   │   └── mathjax.ts
│   │   ├── mathjax.ts
│   │   ├── server.ts
│   │   ├── viewer/
│   │   │   ├── client.ts
│   │   │   ├── pdfviewerhook.ts
│   │   │   ├── pdfviewermanager.ts
│   │   │   └── pdfviewerpanel.ts
│   │   └── viewer.ts
│   ├── types.ts
│   └── utils/
│       ├── convertfilename.ts
│       ├── inputfilepath.ts
│       ├── logger.ts
│       ├── parser.ts
│       ├── pathnormalize.ts
│       ├── quick-pick.ts
│       ├── tokenizer.ts
│       ├── utils.ts
│       └── webview.ts
├── syntax/
│   ├── BibTeX-style.tmLanguage.json
│   ├── Bibtex.tmLanguage.json
│   ├── DocTeX.tmLanguage.json
│   ├── JLweave.tmLanguage.json
│   ├── LaTeX-Workshop-Log.tmLanguage.json
│   ├── LaTeX.tmLanguage.json
│   ├── Pweave.tmLanguage.json
│   ├── README.md
│   ├── RSweave.tmLanguage.json
│   ├── TeX.tmLanguage.json
│   ├── bibtex-language-configuration.json
│   ├── bibtex-style-language-configuration.json
│   ├── cpp-bailout-license.txt
│   ├── cpp-grammar-bailout.tmLanguage.json
│   ├── doctex-language-configuration.json
│   ├── latex-cpp-embedded-language-configuration.json
│   ├── latex-language-configuration.json
│   ├── latex-workshop-log-language-configuration.json
│   ├── latex3-language-configuration.json
│   ├── markdown-latex-combined-language-configuration.json
│   ├── markdown-latex-combined-license.txt
│   ├── markdown-latex-combined.tmLanguage.json
│   └── src/
│       ├── bibtex-language-configuration.json
│       ├── bibtex-style-language-configuration.json
│       ├── doctex-language-configuration.json
│       ├── latex-cpp-embedded-language-configuration.json
│       ├── latex-language-configuration.json
│       ├── latex3-language-configuration.json
│       └── markdown-latex-combined-language-configuration.json
├── test/
│   ├── README.md
│   ├── config/
│   │   ├── texlive_linux.profile
│   │   ├── texlive_mac.profile
│   │   └── texlive_windows.profile
│   ├── fixtures/
│   │   ├── armory/
│   │   │   ├── base.bib
│   │   │   ├── base.tex
│   │   │   ├── bibtex_base.tex
│   │   │   ├── build/
│   │   │   │   ├── markdown_base.tex
│   │   │   │   └── markdown_sub.md
│   │   │   ├── empty
│   │   │   ├── env_pair.tex
│   │   │   ├── formatter/
│   │   │   │   ├── bibtex_base.bib
│   │   │   │   ├── bibtex_dup.bib
│   │   │   │   ├── bibtex_sortfield.bib
│   │   │   │   └── latex_base.tex
│   │   │   ├── import_base.tex
│   │   │   ├── import_sub.tex
│   │   │   ├── include_base.tex
│   │   │   ├── include_sub.tex
│   │   │   ├── input_base.tex
│   │   │   ├── input_macro.tex
│   │   │   ├── input_parentsub.tex
│   │   │   ├── intellisense/
│   │   │   │   ├── base.tex
│   │   │   │   ├── citation.tex
│   │   │   │   ├── class_option_with_brace.tex
│   │   │   │   ├── glossary.bib
│   │   │   │   ├── glossary.tex
│   │   │   │   ├── glossary_bib.tex
│   │   │   │   ├── glossaryentries.tex
│   │   │   │   ├── koma.tex
│   │   │   │   ├── label.tex
│   │   │   │   ├── newcommand.tex
│   │   │   │   ├── newdocumentcommand.tex
│   │   │   │   ├── package_on_cmd_1.tex
│   │   │   │   ├── package_on_cmd_2.tex
│   │   │   │   ├── package_on_env_1.tex
│   │   │   │   ├── package_on_env_2.tex
│   │   │   │   ├── package_option_on_cmd.tex
│   │   │   │   ├── package_option_on_env.tex
│   │   │   │   ├── sub.tex
│   │   │   │   ├── xr_base.tex
│   │   │   │   ├── xr_dup.tex
│   │   │   │   └── xr_sub.tex
│   │   │   ├── invalid_cmd.tex
│   │   │   ├── linter_base.tex
│   │   │   ├── linter_sub.tex
│   │   │   ├── magic_invalid.tex
│   │   │   ├── magic_option.tex
│   │   │   ├── magic_program.tex
│   │   │   ├── magic_recipe.tex
│   │   │   ├── magic_root.tex
│   │   │   ├── makeindex_base.tex
│   │   │   ├── makeindex_subfile.tex
│   │   │   ├── mathpreview/
│   │   │   │   └── base.tex
│   │   │   ├── plain.bib
│   │   │   ├── plain.tex
│   │   │   ├── plain_verbatim.tex
│   │   │   ├── structure/
│   │   │   │   ├── commands.tex
│   │   │   │   ├── float_nest.tex
│   │   │   │   ├── floats.tex
│   │   │   │   ├── frame_title.tex
│   │   │   │   ├── frames.tex
│   │   │   │   ├── labels.tex
│   │   │   │   ├── section_asterisk.tex
│   │   │   │   ├── section_before_root_level.tex
│   │   │   │   ├── section_custom.tex
│   │   │   │   ├── section_nest.tex
│   │   │   │   ├── section_nest_gap.tex
│   │   │   │   ├── section_title.tex
│   │   │   │   ├── sections.tex
│   │   │   │   ├── subfiles.tex
│   │   │   │   ├── subfiles_s1.tex
│   │   │   │   ├── subfiles_s2.tex
│   │   │   │   └── subfiles_s3.tex
│   │   │   ├── subfile_base.tex
│   │   │   ├── subfile_sub.tex
│   │   │   └── subfile_subsub.tex
│   │   └── unittest/
│   │       ├── .vscode/
│   │       │   └── settings.json
│   │       ├── 01_core_file/
│   │       │   ├── another.bib
│   │       │   ├── auxfiles/
│   │       │   │   └── another.fls
│   │       │   ├── main.bib
│   │       │   ├── main.fls
│   │       │   ├── main.tex
│   │       │   ├── output/
│   │       │   │   └── main.fls
│   │       │   └── subdir/
│   │       │       └── sub.bib
│   │       ├── 03_core_cache/
│   │       │   ├── another.tex
│   │       │   ├── included_bib/
│   │       │   │   ├── another.tex
│   │       │   │   ├── circular_1.tex
│   │       │   │   ├── circular_2.tex
│   │       │   │   ├── duplicate_1.tex
│   │       │   │   ├── duplicate_2.tex
│   │       │   │   └── main.tex
│   │       │   ├── included_tex/
│   │       │   │   ├── another.tex
│   │       │   │   ├── circular_1.tex
│   │       │   │   ├── circular_2.tex
│   │       │   │   ├── duplicate_1.tex
│   │       │   │   ├── duplicate_2.tex
│   │       │   │   └── main.tex
│   │       │   ├── load_aux_file/
│   │       │   │   ├── main.aux
│   │       │   │   ├── main.bib
│   │       │   │   ├── main.fls
│   │       │   │   ├── main.tex
│   │       │   │   ├── nothing.aux
│   │       │   │   ├── nothing.fls
│   │       │   │   └── nothing.tex
│   │       │   ├── load_fls_file/
│   │       │   │   ├── aux_out_input.fls
│   │       │   │   ├── aux_out_input.tex
│   │       │   │   ├── both_input_output.fls
│   │       │   │   ├── both_input_output.tex
│   │       │   │   ├── excluded_file.fls
│   │       │   │   ├── excluded_file.tex
│   │       │   │   ├── file_not_exist.fls
│   │       │   │   ├── file_not_exist.tex
│   │       │   │   ├── include_main.fls
│   │       │   │   ├── include_main.tex
│   │       │   │   ├── include_many.fls
│   │       │   │   ├── include_many.tex
│   │       │   │   ├── main.aux
│   │       │   │   ├── non_tex_input.fls
│   │       │   │   ├── non_tex_input.tex
│   │       │   │   ├── self_include.fls
│   │       │   │   └── self_include.tex
│   │       │   ├── main.bbl
│   │       │   ├── main.bib
│   │       │   ├── main.fls
│   │       │   ├── main.tex
│   │       │   ├── update_bibfiles/
│   │       │   │   ├── bib/
│   │       │   │   │   ├── 1.bib
│   │       │   │   │   ├── 2.bib
│   │       │   │   │   ├── 3.bib
│   │       │   │   │   ├── 4.bib
│   │       │   │   │   └── 5.bib
│   │       │   │   ├── file_excluded.tex
│   │       │   │   ├── file_not_exist.tex
│   │       │   │   ├── main.tex
│   │       │   │   └── same_macro.tex
│   │       │   ├── update_children/
│   │       │   │   ├── file_not_exist.tex
│   │       │   │   ├── input_main.tex
│   │       │   │   ├── two_inputs.tex
│   │       │   │   └── two_same_inputs.tex
│   │       │   └── update_children_xr/
│   │       │       ├── file_not_exist.tex
│   │       │       ├── input_main.tex
│   │       │       ├── input_main_prefix.tex
│   │       │       ├── input_sub.tex
│   │       │       └── sub/
│   │       │           ├── main.tex
│   │       │           └── sub.tex
│   │       ├── 04_core_root/
│   │       │   ├── find_active/
│   │       │   │   └── main.tex
│   │       │   ├── find_magic/
│   │       │   │   ├── chain.tex
│   │       │   │   ├── chain_file_not_exist.tex
│   │       │   │   ├── loop_1.tex
│   │       │   │   ├── loop_2.tex
│   │       │   │   ├── main.jnw
│   │       │   │   ├── main.jtexw
│   │       │   │   ├── main.rnw
│   │       │   │   ├── main.rtex
│   │       │   │   ├── main.snw
│   │       │   │   ├── main.tex
│   │       │   │   └── more_chain.tex
│   │       │   ├── find_root/
│   │       │   │   ├── root.tex
│   │       │   │   └── root_no_input.tex
│   │       │   ├── find_workspace/
│   │       │   │   ├── another.tex
│   │       │   │   ├── comment.tex
│   │       │   │   ├── main.fls
│   │       │   │   ├── main.tex
│   │       │   │   └── parent.tex
│   │       │   └── main.tex
│   │       ├── 14_completion_citation/
│   │       │   ├── bibfile.bib
│   │       │   └── bibitems.tex
│   │       ├── 21_completion_input/
│   │       │   ├── main.tex
│   │       │   └── sub/
│   │       │       ├── sub1.tex
│   │       │       └── sub2.tex
│   │       └── 22_completion_glossary/
│   │           └── glossary.bib
│   ├── runTest.ts
│   ├── suites/
│   │   ├── 01_build.test.ts
│   │   ├── 02_autobuild.test.ts
│   │   ├── 03_findroot.test.ts
│   │   ├── 04_intellisense.test.ts
│   │   ├── 05_viewer.test.ts
│   │   ├── 06_structure.test.ts
│   │   ├── 07_mathpreview.test.ts
│   │   ├── 08_linter.test.ts
│   │   ├── 09_formatter.test.ts
│   │   ├── 10_cleaner.test.ts
│   │   ├── 11_snippet.test.ts
│   │   ├── 12_envpair.test.ts
│   │   ├── 99_multiroot.test.ts
│   │   ├── index.ts
│   │   └── utils.ts
│   └── units/
│       ├── 01_core_file.test.ts
│       ├── 02_core_watcher.test.ts
│       ├── 03_core_cache.test.ts
│       ├── 04_core_root.test.ts
│       ├── 05_compile_queue.test.ts
│       ├── 06_compile_recipe.test.ts
│       ├── 07_compile_external.test.ts
│       ├── 08_compile_build.test.ts
│       ├── 09_viewer_server.test.ts
│       ├── 10_viewer_pdf_server.test.ts
│       ├── 11_parser_tex.test.ts
│       ├── 12_parser_log.test.ts
│       ├── 13_completion_latex.test.ts
│       ├── 14_completion_citation.test.ts
│       ├── 15_completion_macro.test.ts
│       ├── 16_completion_reference.test.ts
│       ├── 17_completion_environment.test.ts
│       ├── 18_completion_package.test.ts
│       ├── 19_completion_argument.test.ts
│       ├── 20_completion_documentclass.test.ts
│       ├── 21_completion_input.test.ts
│       ├── 22_completion_glossary.test.ts
│       ├── 23_completion_at.test.ts
│       ├── 24_formatter_fixer.test.ts
│       ├── index.ts
│       └── utils.ts
├── tsconfig.eslint.json
├── tsconfig.eslint.viewer.json
├── tsconfig.json
├── types/
│   ├── latex-workshop-protocol-types/
│   │   └── index.d.ts
│   └── mathjax-full/
│       └── index.d.ts
└── viewer/
    ├── README.md
    ├── components/
    │   ├── connection.ts
    │   ├── gui.ts
    │   ├── interface.ts
    │   ├── l10n.ts
    │   ├── refresh.ts
    │   ├── state.ts
    │   ├── synctex.ts
    │   ├── trimming.ts
    │   ├── utils.ts
    │   └── viewerhistory.ts
    ├── latexworkshop.css
    ├── latexworkshop.ts
    ├── locale/
    │   ├── ach/
    │   │   └── viewer.ftl
    │   ├── af/
    │   │   └── viewer.ftl
    │   ├── an/
    │   │   └── viewer.ftl
    │   ├── ar/
    │   │   └── viewer.ftl
    │   ├── ast/
    │   │   └── viewer.ftl
    │   ├── az/
    │   │   └── viewer.ftl
    │   ├── be/
    │   │   └── viewer.ftl
    │   ├── bg/
    │   │   └── viewer.ftl
    │   ├── bn/
    │   │   └── viewer.ftl
    │   ├── bo/
    │   │   └── viewer.ftl
    │   ├── br/
    │   │   └── viewer.ftl
    │   ├── brx/
    │   │   └── viewer.ftl
    │   ├── bs/
    │   │   └── viewer.ftl
    │   ├── ca/
    │   │   └── viewer.ftl
    │   ├── cak/
    │   │   └── viewer.ftl
    │   ├── ckb/
    │   │   └── viewer.ftl
    │   ├── cs/
    │   │   └── viewer.ftl
    │   ├── cy/
    │   │   └── viewer.ftl
    │   ├── da/
    │   │   └── viewer.ftl
    │   ├── de/
    │   │   └── viewer.ftl
    │   ├── dsb/
    │   │   └── viewer.ftl
    │   ├── el/
    │   │   └── viewer.ftl
    │   ├── en-CA/
    │   │   └── viewer.ftl
    │   ├── en-GB/
    │   │   └── viewer.ftl
    │   ├── en-US/
    │   │   └── viewer.ftl
    │   ├── eo/
    │   │   └── viewer.ftl
    │   ├── es-AR/
    │   │   └── viewer.ftl
    │   ├── es-CL/
    │   │   └── viewer.ftl
    │   ├── es-ES/
    │   │   └── viewer.ftl
    │   ├── es-MX/
    │   │   └── viewer.ftl
    │   ├── et/
    │   │   └── viewer.ftl
    │   ├── eu/
    │   │   └── viewer.ftl
    │   ├── fa/
    │   │   └── viewer.ftl
    │   ├── ff/
    │   │   └── viewer.ftl
    │   ├── fi/
    │   │   └── viewer.ftl
    │   ├── fr/
    │   │   └── viewer.ftl
    │   ├── fur/
    │   │   └── viewer.ftl
    │   ├── fy-NL/
    │   │   └── viewer.ftl
    │   ├── ga-IE/
    │   │   └── viewer.ftl
    │   ├── gd/
    │   │   └── viewer.ftl
    │   ├── gl/
    │   │   └── viewer.ftl
    │   ├── gn/
    │   │   └── viewer.ftl
    │   ├── gu-IN/
    │   │   └── viewer.ftl
    │   ├── he/
    │   │   └── viewer.ftl
    │   ├── hi-IN/
    │   │   └── viewer.ftl
    │   ├── hr/
    │   │   └── viewer.ftl
    │   ├── hsb/
    │   │   └── viewer.ftl
    │   ├── hu/
    │   │   └── viewer.ftl
    │   ├── hy-AM/
    │   │   └── viewer.ftl
    │   ├── hye/
    │   │   └── viewer.ftl
    │   ├── ia/
    │   │   └── viewer.ftl
    │   ├── id/
    │   │   └── viewer.ftl
    │   ├── is/
    │   │   └── viewer.ftl
    │   ├── it/
    │   │   └── viewer.ftl
    │   ├── ja/
    │   │   └── viewer.ftl
    │   ├── ka/
    │   │   └── viewer.ftl
    │   ├── kab/
    │   │   └── viewer.ftl
    │   ├── kk/
    │   │   └── viewer.ftl
    │   ├── km/
    │   │   └── viewer.ftl
    │   ├── kn/
    │   │   └── viewer.ftl
    │   ├── ko/
    │   │   └── viewer.ftl
    │   ├── lij/
    │   │   └── viewer.ftl
    │   ├── lo/
    │   │   └── viewer.ftl
    │   ├── locale.json
    │   ├── lt/
    │   │   └── viewer.ftl
    │   ├── ltg/
    │   │   └── viewer.ftl
    │   ├── lv/
    │   │   └── viewer.ftl
    │   ├── meh/
    │   │   └── viewer.ftl
    │   ├── mk/
    │   │   └── viewer.ftl
    │   ├── ml/
    │   │   └── viewer.ftl
    │   ├── mr/
    │   │   └── viewer.ftl
    │   ├── ms/
    │   │   └── viewer.ftl
    │   ├── my/
    │   │   └── viewer.ftl
    │   ├── nb-NO/
    │   │   └── viewer.ftl
    │   ├── ne-NP/
    │   │   └── viewer.ftl
    │   ├── nl/
    │   │   └── viewer.ftl
    │   ├── nn-NO/
    │   │   └── viewer.ftl
    │   ├── oc/
    │   │   └── viewer.ftl
    │   ├── pa-IN/
    │   │   └── viewer.ftl
    │   ├── pl/
    │   │   └── viewer.ftl
    │   ├── pt-BR/
    │   │   └── viewer.ftl
    │   ├── pt-PT/
    │   │   └── viewer.ftl
    │   ├── rm/
    │   │   └── viewer.ftl
    │   ├── ro/
    │   │   └── viewer.ftl
    │   ├── ru/
    │   │   └── viewer.ftl
    │   ├── sat/
    │   │   └── viewer.ftl
    │   ├── sc/
    │   │   └── viewer.ftl
    │   ├── scn/
    │   │   └── viewer.ftl
    │   ├── sco/
    │   │   └── viewer.ftl
    │   ├── si/
    │   │   └── viewer.ftl
    │   ├── sk/
    │   │   └── viewer.ftl
    │   ├── skr/
    │   │   └── viewer.ftl
    │   ├── sl/
    │   │   └── viewer.ftl
    │   ├── son/
    │   │   └── viewer.ftl
    │   ├── sq/
    │   │   └── viewer.ftl
    │   ├── sr/
    │   │   └── viewer.ftl
    │   ├── sv-SE/
    │   │   └── viewer.ftl
    │   ├── szl/
    │   │   └── viewer.ftl
    │   ├── ta/
    │   │   └── viewer.ftl
    │   ├── te/
    │   │   └── viewer.ftl
    │   ├── tg/
    │   │   └── viewer.ftl
    │   ├── th/
    │   │   └── viewer.ftl
    │   ├── tl/
    │   │   └── viewer.ftl
    │   ├── tr/
    │   │   └── viewer.ftl
    │   ├── trs/
    │   │   └── viewer.ftl
    │   ├── uk/
    │   │   └── viewer.ftl
    │   ├── ur/
    │   │   └── viewer.ftl
    │   ├── uz/
    │   │   └── viewer.ftl
    │   ├── vi/
    │   │   └── viewer.ftl
    │   ├── wo/
    │   │   └── viewer.ftl
    │   ├── xh/
    │   │   └── viewer.ftl
    │   ├── zh-CN/
    │   │   └── viewer.ftl
    │   └── zh-TW/
    │       └── viewer.ftl
    ├── tsconfig.json
    ├── viewer.css
    ├── viewer.html
    └── viewer.mjs

================================================
FILE CONTENTS
================================================

================================================
FILE: .devcontainer/README.md
================================================
## Overview

With [VS Code Remote Development](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack), we can develop LaTeX Workshop in a container by executing `Remote-Containers: Reopen Folder in Container`. See:

- https://code.visualstudio.com/docs/remote/containers#_quick-start-open-an-existing-folder-in-a-container
- https://code.visualstudio.com/api/advanced-topics/remote-extensions#debugging-in-a-custom-development-container

## Docker images

We can switch docker images by rewriting the `dockerFile` property in `devcontainer.json`. See also [the reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference).

`stable/`: Docker image to develop the extension with the stable version of TeX Live. Based on the `bullseye` image on [the official Debian](https://hub.docker.com/_/debian).

`sid/`: Docker image to develop the extension with the testing version of TeX Live. Based on the `sid` image on [the official Debian](https://hub.docker.com/_/debian). See also https://www.debian.org/releases/index.en.html.

`texlive/`: Docker image to develop the extension with the testing version of TeX Live. Based on [the official texlive image](https://hub.docker.com/r/texlive/texlive).


================================================
FILE: .devcontainer/devcontainer.json
================================================
{
	"name": "Node.js 18 & TeX Live Base",
	"dockerFile": "stable/Dockerfile",
	"customizations": {
		"vscode": {
			"extensions": [
				"dbaeumer.vscode-eslint",
				"ms-vsliveshare.vsliveshare"
			]
		}
	}
}

================================================
FILE: .devcontainer/sid/Dockerfile
================================================
FROM debian:sid-slim

ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
    && apt-get -y install --no-install-recommends apt-utils 2>&1

# https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
# https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
RUN apt -y install curl
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
RUN apt-get install -y nodejs

# Verify git and needed tools are installed
RUN apt-get install --no-install-recommends -y git procps

# Install Tex Live
RUN apt-get update && apt-get -y upgrade \
    && apt-get -y install --no-install-recommends \
    texlive-latex-base \
    texlive-extra-utils \
    texlive-latex-extra \
    biber chktex latexmk make python3-pygments \
    texlive-lang-chinese \
    texlive-lang-japanese

# latexindent modules
RUN curl -L http://cpanmin.us | perl - App::cpanminus \
    && cpanm YAML::Tiny \
    && cpanm File::HomeDir \
    && cpanm Unicode::GCString

# VS Code dependencies for testing
RUN apt-get update -y \
    && apt-get install -y --no-install-recommends \
    libnss3-dev \
    libdbus-1-dev \
    libatk-bridge2.0-dev \
    libdrm-dev \
    libgtk-3-dev \
    libasound2-dev

# Clean up
RUN apt-get autoremove -y \
    && apt-get clean -y \
    && rm -rf /var/lib/apt/lists/*
ENV DEBIAN_FRONTEND=dialog \
    LANG=C.UTF-8 \
    LC_ALL=C.UTF-8


================================================
FILE: .devcontainer/stable/Dockerfile
================================================
#-------------------------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
#-------------------------------------------------------------------------------------------------------------

FROM debian:bullseye-slim

ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
    && apt-get -y install --no-install-recommends apt-utils 2>&1

# https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
# https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
RUN apt -y install curl
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
RUN apt-get install -y nodejs

# Verify git and needed tools are installed
RUN apt-get install --no-install-recommends -y git procps

# Install Tex Live
RUN apt-get update && apt-get -y upgrade \
    && apt-get -y install --no-install-recommends \
    texlive-latex-base \
    texlive-extra-utils \
    texlive-latex-extra \
    biber chktex latexmk make python3-pygments \
    texlive-lang-chinese \
    texlive-lang-japanese

# latexindent modules
RUN curl -L http://cpanmin.us | perl - App::cpanminus \
    && cpanm Log::Dispatch::File \
    && cpanm YAML::Tiny \
    && cpanm File::HomeDir \
    && cpanm Unicode::GCString

# VS Code dependencies for testing
RUN apt-get update -y \
    && apt-get install -y --no-install-recommends \
    libnss3-dev \
    libdbus-1-dev \
    libatk-bridge2.0-dev \
    libdrm-dev \
    libgtk-3-dev \
    libasound2-dev

# Clean up
RUN apt-get autoremove -y \
    && apt-get clean -y \
    && rm -rf /var/lib/apt/lists/*
ENV DEBIAN_FRONTEND=dialog \
    LANG=C.UTF-8 \
    LC_ALL=C.UTF-8


================================================
FILE: .devcontainer/texlive/Dockerfile
================================================
FROM texlive/texlive:latest

# https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
# https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y install curl
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
RUN apt-get install -y nodejs

# VS Code dependencies for testing
RUN apt-get update -y \
    && apt-get install -y --no-install-recommends \
    libnss3-dev \
    libdbus-1-dev \
    libatk-bridge2.0-dev \
    libdrm-dev \
    libgtk-3-dev \
    libasound2-dev


# Clean up
RUN apt autoremove -y \
    && apt clean -y \
    && rm -rf /var/lib/apt/lists/*
ENV DEBIAN_FRONTEND=dialog


================================================
FILE: .gitattributes
================================================
*.js linguist-detectable=false
*.ftl linguist-detectable=false

================================================
FILE: .github/ISSUE_TEMPLATE/bug-report.md
================================================
---
name: Bug Report
about: Create a bug report to help us resolve problems
---

> _Please fill the following fields with a star (*) and provide as much related information as possible._

## Pre-checks*
> _Please change the following `[ ]` to `[x]` for confirmation._
- [ ] The issue has not been reported in this repository.
- [ ] The issue remains after disabling all other extensions and restarting Visual Studio Code.
- [ ] The [FAQ](https://github.com/James-Yu/LaTeX-Workshop/wiki/FAQ) cannot address the issue.
- [ ] The issue is not related to compiling a document, or the document can be successfully compiled in the OS terminal but not in Visual Studio Code with this extension.

## Environment*
> _Please write exact version numbers instead of descriptors such as `latest`._
- Operating System: [e.g. Windows 10]
- Visual Studio Code Version: [e.g. 1.41.0]
- LaTeX Workshop Version: [e.g. 8.5.0]
- TeX Distribution Version: [e.g. TeX Live 2019 / MiKTeX 2.9.7250]

> _Please list the environment and version number if you are using VSCodium, Snap or Flatpack versions of Visual Studio Code, and/or Visual Studio Code Remote Containers/SSH/WSL._
- I am using XXX whose version is YY.ZZ

## The Issue*
> _Please briefly describe the issue you come across._
- 
- 

### Reproduction Steps
> _Please list out the steps to reproduce your bug. Include relevant environmental variables or any other configuration._
1. 
2. 
3. 

### Expected Behavior
> _What were you expecting to see? Include any relevant examples or documentation links._
- 
- 

## Logs
### LaTeX Workshop Output*
> _Please paste the whole log messages below, not parts of ones. The log should start with `New log placeholder %WS1% registered`._
```
[Paste the log here. Do not remove the surrounding backquotes (`).]
```

### Developer Tools Console
> _Please paste the whole log messages below, not parts of ones. This console logs can sometimes be very important in many cases. To access the log, click `Help` -> `Toggle Developer Tools` -> `Console`._
```
[Paste the log here. Do not remove the surrounding backquotes (`).]
```

## Anything Else?
> _Add any other context about the problem below._
- 


================================================
FILE: .github/ISSUE_TEMPLATE/feature-request.md
================================================
---
name: Feature Request
about: Suggest a feature to improve the extension
---

> _Please fill the following fields with a star (*) and provide as much related information as possible._

## Pre-checks*
> _Please change the following `[ ]` to `[x]` for confirmation._
- [ ] The feature request has not been suggested in this repository.

## The Missed*
> _Is your feature request related to a problem? Please provide a clear and concise description of what the problem is._
- 

## The Solution*
> _Please provide a solution you would like to have._
- 

## Anything Else?
> _Add any other context about the feature request below._
- 


================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
- package-ecosystem: "github-actions"
  directory: "/"
  schedule:
      interval: "weekly"


================================================
FILE: .github/disabled/docker_on_linux.yml
================================================
name: Docker on Linux
on: [push]

jobs:
  linux:
    runs-on: ubuntu-latest
    timeout-minutes: 30
    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-node@v1
      with:
        node-version: '20'
    - run: |
        npm ci
        npm run compile
        docker pull tianon/latex@sha256:d9d5378ae77df3352aba36f9672a4c2d5c82861475508a1fae46b40369ed6ac9
    - name: Run tests
      uses: GabrielBB/xvfb-action@v1.0
      with:
        run: npm run test -- --enable-docker


================================================
FILE: .github/workflows/README.md
================================================
# Overview

We run tests on GitHub Actions on Windows, macOS, and Linux with the minimal installations of TeX Live.

We can see [preinstalled software](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#preinstalled-software) on each platform. Perl 5 is installed even on Windows. So, all we have to do is just installing TeX Live.

## Installing TeX Live

For the installer of TeX Live, `install-tl`, see the [official manual](https://tug.org/texlive/doc/install-tl.html). Giving a profile fie to the option, `-profile`, we can install TeX Live in batch mode with no user interaction.

We can see available installation schemes, `scheme-infraonly`, `scheme-small`, and so on in
```
/usr/local/texlive/2019/tlpkg/texlive.tlpdb
```

For the management command of TeX Live, `tlmgr`, see the [official document](https://www.tug.org/texlive/doc/tlmgr.html).

## Cache

To avoid install TeX Live each time, we use a caching feature, [actions/cache](https://github.com/actions/cache). The caches for the `master` branch are also used for feature branches.

The caches are removed if they have not been accessed in over 7 days.
When we want to remove the caches manually, increase the number of `cache-version` on each YAML file.

```yaml
env:
  cache-version: v2
```

## References

For the details of GitHub Actions, read the following documents.

- https://docs.github.com/en/actions
- https://docs.github.com/en/actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows
- https://github.com/actions/checkout
- https://github.com/actions/cache
- https://github.com/actions/setup-node


================================================
FILE: .github/workflows/codeql-analysis.yml
================================================
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
  push:
    branches: [ master ]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [ master ]

permissions:
  contents: read

jobs:
  analyze:
    permissions:
      actions: read  # for github/codeql-action/init to get workflow details
      contents: read  # for actions/checkout to fetch code
      security-events: write  # for github/codeql-action/autobuild to send a status report
    name: Analyze
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        language: [ 'javascript', 'python' ]
        # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
        # Learn more:
        # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed

    steps:
    - name: Checkout repository
      uses: actions/checkout@v6

    # Initializes the CodeQL tools for scanning.
    - name: Initialize CodeQL
      uses: github/codeql-action/init@v4
      with:
        languages: ${{ matrix.language }}
        # If you wish to specify custom queries, you can do so here or in a config file.
        # By default, queries listed here will override any specified in a config file.
        # Prefix the list here with "+" to use these queries and those in the config file.
        # queries: ./path/to/local/query, your-org/your-repo/queries@main

    # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).
    # If this step fails, then you should remove it and run the build manually (see below)
    - name: Autobuild
      uses: github/codeql-action/autobuild@v4

    # Command-line programs to run using the OS shell.
    # https://git.io/JvXDl

    # If the Autobuild fails above, remove it and uncomment the following three lines
    # and modify them (or add more) to build your code if your project
    # uses a compiled language

    #- run: |
    #   make bootstrap
    #   make release

    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v4


================================================
FILE: .github/workflows/lock.yml
================================================
name: 'Lock Threads'

on:
  schedule:
    # avoid rate limit at 00:00 everyday
    - cron: '37 2 * * *'
  workflow_dispatch:

permissions:
  issues: write
  pull-requests: write

concurrency:
  group: lock

jobs:
  action:
    runs-on: ubuntu-latest
    steps:
      - uses: dessant/lock-threads@v6
        with:
          issue-inactive-days: '30'
          pr-inactive-days: '30'
          process-only: 'issues, prs'
          log-output: true


================================================
FILE: .github/workflows/package.yml
================================================
name: LaTeX Workshop Extension Package
env:
  cache-version: v12
on: [push]

permissions:
  contents: read

jobs:
  linux:
    runs-on: ubuntu-latest
    timeout-minutes: 30
    steps:
    - uses: actions/checkout@v6
    - uses: actions/setup-node@v6
      with:
        node-version: '20'
    - name: Create extension package
      run: |
        npm ci
        npm run release
    - name: Archive extension package
      uses: actions/upload-artifact@v7
      with:
        name: latex-workshop
        path: latex-workshop-*.vsix

================================================
FILE: .github/workflows/texlive_on_linux.yml
================================================
name: TeX Live on Linux
env:
  cache-version: v12
on: [push, pull_request]

permissions:
  contents: read

jobs:
  linux:
    runs-on: ubuntu-latest
    timeout-minutes: 30
    steps:
    - uses: actions/checkout@v6
    - name: Set up PATH
      run: |
        echo "/tmp/texlive/bin/x86_64-linux" >> $GITHUB_PATH
    - name: Cache TeX Live
      id: cache-texlive
      uses: actions/cache@v5
      with:
        path: /tmp/texlive
        key: ${{ env.cache-version }}-${{ runner.os }}-texlive-essential
        restore-keys: |
          ${{ env.cache-version }}-${{ runner.os }}-texlive-essential
    - name: Download install-tl.zip
      run: |
        curl -s -O -L http://mirror.ctan.org/systems/texlive/tlnet/install-tl.zip
        unzip -q install-tl.zip
        mv install-tl-2* install-tl-dir
      if: steps.cache-texlive.outputs.cache-hit != 'true'
    - name: Run install-tl
      run: |
        install-tl-dir/install-tl --profile test/config/texlive_linux.profile
      if: steps.cache-texlive.outputs.cache-hit != 'true'
    - name: Run tlmgr install
      run: |
        tlmgr update --self
        tlmgr install collection-latex
        tlmgr install import subfiles latexmk makeindex
        tlmgr install chktex lacheck latexindent
      if: steps.cache-texlive.outputs.cache-hit != 'true'
    - name: Download latexindent binary
      run: |
        curl -s -O -L http://mirrors.ctan.org/support/latexindent/bin/linux/latexindent
        mv -f latexindent /tmp/texlive/bin/x86_64-linux/latexindent
        chmod +x /tmp/texlive/bin/x86_64-linux/latexindent
      if: steps.cache-texlive.outputs.cache-hit != 'true'
    - uses: actions/setup-node@v6
      with:
        node-version: '20'
    - run: |
        perl -v
        perl -MCwd -e 'print $Cwd::VERSION."\n";'
    - run: |
        latex -v
        latexmk -v
    - run: |
        npm ci
        npm run compile
    - name: Run tests
      run: xvfb-run -a npm run test | grep -v 'Failed to connect to the bus:\|is not in the list of known options\|gpu_memory_buffer_support_x11' ; test ${PIPESTATUS[0]} -eq 0
    - name: Archive test logs
      if: always()
      uses: actions/upload-artifact@v7
      with:
        name: test-log
        path: test/log/**/*.log

================================================
FILE: .github/workflows/texlive_on_mac.yml
================================================
name: TeX Live on macOS
env:
  cache-version: v12
on: [push, pull_request]

permissions:
  contents: read

jobs:
  macosx:
    runs-on: macos-15
    timeout-minutes: 30
    steps:
    - uses: actions/checkout@v6
    - name: Set up PATH
      run: |
        echo "/Users/runner/texlive/bin/x86_64-darwin" >> $GITHUB_PATH
        echo "/Users/runner/texlive/bin/universal-darwin" >> $GITHUB_PATH
    - name: Cache TeX Live
      id: cache-texlive
      uses: actions/cache@v5
      with:
        path: /Users/runner/texlive
        key: ${{ env.cache-version }}-${{ runner.os }}-texlive-essential
        restore-keys: |
          ${{ env.cache-version }}-${{ runner.os }}-texlive-essential
    - name: Download install-tl.zip
      run: |
        curl -s -O -L http://mirror.ctan.org/systems/texlive/tlnet/install-tl.zip
        unzip -q install-tl.zip
        mv install-tl-2* install-tl-dir
      if: steps.cache-texlive.outputs.cache-hit != 'true'
    - name: Run install-tl
      run: |
        install-tl-dir/install-tl --profile test/config/texlive_mac.profile
      if: steps.cache-texlive.outputs.cache-hit != 'true'
    - name: Run tlmgr install
      run: |
        tlmgr install collection-latex
        tlmgr install import subfiles latexmk makeindex
        tlmgr install chktex lacheck latexindent
      if: steps.cache-texlive.outputs.cache-hit != 'true'
    - name: Download latexindent binary
      run: |
        curl -s -O -L http://mirrors.ctan.org/support/latexindent/bin/macos/latexindent
        [ -d /Users/runner/texlive/bin/x86_64-darwin/ ] && mv -f latexindent /Users/runner/texlive/bin/x86_64-darwin/latexindent && chmod +x /Users/runner/texlive/bin/x86_64-darwin/latexindent || [ -d /Users/runner/texlive/bin/universal-darwin/ ] && mv -f latexindent /Users/runner/texlive/bin/universal-darwin/latexindent && chmod +x /Users/runner/texlive/bin/universal-darwin/latexindent
      if: steps.cache-texlive.outputs.cache-hit != 'true'
    - uses: actions/setup-node@v6
      with:
        node-version: '20'
    - run: |
        perl -v
        perl -MCwd -e 'print $Cwd::VERSION."\n";'
    - run: |
        latex -v
        latexmk -v
    - run: |
        npm ci
        npm run compile
    - name: Run tests
      run: npm run test
    - name: Archive test logs
      if: always()
      uses: actions/upload-artifact@v7
      with:
        name: test-log
        path: test/log/**/*.log


================================================
FILE: .github/workflows/texlive_on_win.yml
================================================
name: TeX Live on Windows
env:
  cache-version: v12
on: [push, pull_request]

permissions:
  contents: read

jobs:
  windows:
    runs-on: windows-latest
    timeout-minutes: 40
    steps:
    - name: Prepare git
      run: git config --global core.autocrlf false
    - uses: actions/checkout@v6
    - name: Set up PATH
      run: |
        echo "C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin" >> $GITHUB_PATH
        echo "D:\texlive\bin\windows" >> $GITHUB_PATH
      shell: bash
    - name: Cache TeX Live
      id: cache-texlive
      uses: actions/cache@v5
      with:
        path: D:\texlive
        key: ${{ env.cache-version }}-${{ runner.os }}-texlive-essential
        restore-keys: |
          ${{ env.cache-version }}-${{ runner.os }}-texlive-essential
    - name: Download install-tl.zip
      run: |
        curl -s -O -L http://mirror.ctan.org/systems/texlive/tlnet/install-tl.zip
        unzip -q install-tl.zip
        mv install-tl-2* install-tl-dir
      if: steps.cache-texlive.outputs.cache-hit != 'true'
    - name: Run install-tl-windows.bat
      run: |
        install-tl-dir\install-tl-windows.bat --profile test\config\texlive_windows.profile
      if: steps.cache-texlive.outputs.cache-hit != 'true'
      shell: cmd
    - name: Run tlmgr install
      run: |
        tlmgr install collection-latex
        tlmgr install import subfiles latexmk makeindex
        tlmgr install chktex lacheck latexindent
      if: steps.cache-texlive.outputs.cache-hit != 'true'
    - name: Download latexindent binary
      run: |
        curl -s -O -L http://mirrors.ctan.org/support/latexindent/bin/windows/latexindent.exe
        mv -Force "latexindent.exe" "D:\texlive\bin\windows\latexindent-binary.exe"
      if: steps.cache-texlive.outputs.cache-hit != 'true'
    - uses: actions/setup-node@v6
      with:
        node-version: '20'
    - run: |
        perl -v
        perl -MCwd -e 'print $Cwd::VERSION."\n";'
    - run: |
        latex -v
        latexmk -v
    - run: |
        npm ci
        npm run compile
    - name: Run tests
      run: npm run test
    - name: Archive test logs
      if: always()
      uses: actions/upload-artifact@v7
      with:
        name: test-log
        path: test/log/**/*.log


================================================
FILE: .gitignore
================================================
out/
.vscode-test/
node_modules/
dev/expl3.cwl
dev/unimathsymbols.txt
dev/cwl/
VERSION
.idea/
__pycache__/
.mypy_cache/
.pytest_cache/
.venv/
.vscode/.ropeproject
.eslintcache
test/fixtures/testground/
test/fixtures/multiroot/
test/fixtures/**/*.dvi
test/fixtures/**/*.log
test/fixtures/**/*.synctex*
test/fixtures/**/*.fdb_latexmk
test/fixtures/**/*.blg
test/fixtures/**/*.out
test/log/
/*.vsix
.DS_Store
coverage/


================================================
FILE: .vscode/extensions.json
================================================
{
	// See http://go.microsoft.com/fwlink/?LinkId=827846
	// for the documentation about the extensions.json format
	"recommendations": [
		// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
		"dbaeumer.vscode-eslint"
	]
}


================================================
FILE: .vscode/launch.json
================================================
// A launch configuration that compiles the extension and then opens it inside a new window
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Run Extension",
            "type": "extensionHost",
            "request": "launch",
            "runtimeExecutable": "${execPath}",
            "args": [
                "--extensionDevelopmentPath=${workspaceFolder}"
            ],
            "outFiles": [
                "${workspaceFolder}/out/src/**/*.js"
            ],
            "debugWebviews": true,
            "preLaunchTask": "task-watch-all"
        },
        {
            "name": "Unit Tests",
            "type": "extensionHost",
            "request": "launch",
            "runtimeExecutable": "${execPath}",
            "args": [
                "${workspaceFolder}/test/fixtures/unittest",
                "--extensionDevelopmentPath=${workspaceFolder}",
                "--extensionTestsPath=${workspaceFolder}/out/test/units/index"
            ],
            "outFiles": [
                "${workspaceFolder}/out/src/**/*.js",
                "${workspaceFolder}/out/test/**/*.js"
            ],
            "preLaunchTask": "task-watch-all",
            "env": {
                "LATEXWORKSHOP_UNIT": ""
            }
        },
        {
            "name": "Test testground",
            "type": "extensionHost",
            "request": "launch",
            "runtimeExecutable": "${execPath}",
            "args": [
                "${workspaceFolder}/test/fixtures/testground",
                "--extensionDevelopmentPath=${workspaceFolder}",
                "--extensionTestsPath=${workspaceFolder}/out/test/suites/index"
            ],
            "outFiles": [
                "${workspaceFolder}/out/src/**/*.js",
                "${workspaceFolder}/out/test/**/*.js"
            ],
            "preLaunchTask": "task-watch-all",
            "env": {
                "LATEXWORKSHOP_SUITE": ""
            }
        },
        {
            "name": "Test multiroot",
            "type": "extensionHost",
            "request": "launch",
            "runtimeExecutable": "${execPath}",
            "args": [
                "${workspaceFolder}/test/fixtures/multiroot/resource.code-workspace",
                "--extensionDevelopmentPath=${workspaceFolder}",
                "--extensionTestsPath=${workspaceFolder}/out/test/suites/index"
            ],
            "outFiles": [
                "${workspaceFolder}/out/src/**/*.js",
                "${workspaceFolder}/out/test/**/*.js"
            ],
            "preLaunchTask": "task-watch-all",
            "env": {
                "LATEXWORKSHOP_SUITE": ""
            }
        },
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}

================================================
FILE: .vscode/settings.json
================================================
// Place your settings in this file to overwrite default and user settings.
{
    "files.exclude": {
        "out": true // set this to true to hide the "out" folder with the compiled JS files
    },
    "search.exclude": {
        "out/**": true // set this to false to include "out" folder in search results
    },
    "typescript.tsdk": "./node_modules/typescript/lib",  // we want to use the TS server from our node_modules folder to control its version
    "typescript.preferences.importModuleSpecifier": "relative",
    "eslint.validate": [
        "javascript",
        "javascriptreact",
        "typescript",
        "typescriptreact"
    ]
}


================================================
FILE: .vscode/tasks.json
================================================
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "task-watch-src",
            "type": "npm",
            "script": "watch-src",
            "problemMatcher": "$tsc-watch",
            "isBackground": true,
            "presentation": {
                "reveal": "never",
                "group": "buildWatchers"
            },
            "group": "build",
            "detail": "Watch ./src"
        },
        {
            "label": "task-watch-viewer",
            "type": "npm",
            "script": "watch-viewer",
            "problemMatcher": "$tsc-watch",
            "isBackground": true,
            "presentation": {
                "reveal": "never",
                "group": "buildWatchers"
            },
            "group": "build",
            "detail": "Watch ./viewer"
        },
        {
            "label": "task-watch-all",
            "dependsOn": [
                "task-watch-src",
                "task-watch-viewer"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Watch ./src and ./viewer",
            "problemMatcher": []
        }
    ]
}


================================================
FILE: .vscodeignore
================================================
.vscode/
.vscode-test/
coverage/
out/data/
out/dev/
out/resources/
out/snippets/
out/test/
test/
src/**/*.ts
src/**/*.md
samples/
types/
viewer/**/*.ts
.devcontainer/
.github/
.gitignore
tsconfig.json
tsconfig.eslint.json
tsconfig.eslint.viewer.json
viewer/tsconfig.json
dev/
demo_media/
VERSION/
VERSION
.idea/
__pycache__/
.mypy_cache/
.pytest_cache/
.venv/
.eslintcache
.eslintignore

install-tl*

**/*.map
node_modules/**/*.d.ts

node_modules/@napi-rs/
node_modules/fsevents/

node_modules/pegjs-backtrace/
node_modules/commander/

node_modules/pdfjs-dist/build/*.min.js
node_modules/pdfjs-dist/build/*.min.mjs
node_modules/pdfjs-dist/build/*.sandbox.*
node_modules/pdfjs-dist/legacy/
node_modules/pdfjs-dist/image_decoders/
node_modules/pdfjs-dist/lib/
node_modules/pdfjs-dist/web/
node_modules/web-streams-polyfill/

node_modules/mathjax-full/components/
node_modules/mathjax-full/es5/
node_modules/mathjax-full/ts/
node_modules/mathjax-full/js/output/chtml/
node_modules/mathjax-full/js/input/asciimath/
node_modules/mathjax-full/js/input/mathml/

node_modules/speech-rule-engine/
node_modules/wicked-good-xpath/
node_modules/xmldom-sre/
node_modules/mj-context-menu/
node_modules/esm/


================================================
FILE: CHANGELOG.md
================================================
# Change Log

## [10.13.1] - 2026-02-26

### Fixed
- Fix expansion of `%OUTDIR%` in `%AUXDIR%`.

## [10.13.0] - 2026-02-24

### Added
- [#4781] Add `bibtex-format.case.type` to format the case of entry types in bibtex.
- [#4786] Add `auxDir` setting.
- [#4792] Improved magic comments configuration.
  - Add new configuration `latex.build.enableMagicComments` and replace `forceRecipeUsage`.

### Fixed
- [#4714] Improved `outdir` for bibtex.
- [#4775] Citation hover with whitespace.
- [#4778] Compute AST on `stripCommentsAndVerbatim` return.
- [#4790] Parse groups to build the `MacroPair` tree.
- [#4795] Remove TiKZ snippet view.

## [10.12.2] - 2026-01-07

### Fixed
- Fix an extension packaging and publishing issue.

## [10.12.1] - 2026-01-07

### Fixed
- [#4756] Set error flag when "no page of output".
- [#4757] Non-case sensitive error match.
- [#4763] Fix scrollbar color inconsistency in dark mode.
- [#4767] Ignore `.gls` files to avoid infinite build loop.
- [#4771] Add `**/*.aux` and `**/*.out` to `latex.watch.files.ignore`.

## [10.12.0] - 2025-12-11

### Added
- [#4736] Parse "No pages of output" latex log message.
- [#4738, #4742] Add LaTeX formatting provider that converts math delimiters.
  - A new config item `format.fixMath.enabled` is added, default to `false`.
- [#4750] Add a setting to decide from which directory to run the recipes.
  - A new config item `latex.build.fromWorkspaceFolder` is added, default to `false`.
- [#4752] Log `tex-fmt` `stderr` output on non-zero exit code.

### Fixed
- [#4743] `tex-fmt` subprocess halting when pipe buffer for `stderr` is full.


## [10.11.4] - 2025-11-16

### Fixed
- [#4724] Add the missing WASM support for PDF.js v5.4.394.
- [#4726] Detect conTeXt root file from active editor.
- [#4727] Disable PDFjs partial rendering.

## [10.11.3] - 2025-11-11

### Fixed
- [#4708] `checkcites` can read the output dir.
- [#4709] PDF viewer respects custom fore/background colors.
- [#4710] Use correct paths for PDF viewer cmaps and standard fonts.
- [#4716] Re-enable building `.dtx` and `.ltx` files.
- [#4718] Parse `stderr` when the build process crashes.
- [#4721] Honor placeholders in `tex-fmt.args`.

## [10.11.2] - 2025-11-04

### Fixed
- [#4700,#4705] PDFs remain in dark mode in the PDF viewer when OS theme is dark.

## [10.11.1] - 2025-11-04

### Fixed
- [#4700] PDFs remain in dark mode in the PDF viewer when OS theme is dark.

## [10.11.0] - 2025-11-03

### Added
- Update PDF.js to v5.4.394.
- Sort month bibtex entry by context.
- [#4662] Add macro for double vertical bar.
- [#4691] Add automatic LaTeX quote normalization.

### Changed
- [#4685] Make `intellisense.triggers.latex` fully customizable: default `\` `,` `{` `}` triggers can be disabled.

### Fixed
- Update documentation of `latex.extraExts`.
- Prevent `\@ifnextchar{` to be considered as a starting pair.
- Fix trailing underscore issue with bracket pair colorizer.
- [#4649] Never control the invert css of PDF toolbar or viewer scrollbar.
- [#4654] Tweak `none` LaTeX formatter notification.
- [#4658] `! Internal error:` indicates LaTeX log.
- [#4672] Specify the embedded languages each time a grammar is listed in contributes.grammars.
- [#4673] Reset all diagnostics (`biber`, `bibtex` and `latex`) when starting a new recipe or external command.
- [#4679] Parse glossary bib file defined by `\glsbibdata`.
- [#4684] Hover on `\RequirePackage`.
- [#4687] Ignore `label=` inside `itemize`.

## [10.10.2] - 2025-08-14

### Fixed
- [#4642] `enumitem` package labels considered duplicate.

## [10.10.1] - 2025-08-07

### Fixed
- (#4602,#4605) A new configuration variable is added `latex.autoBuild.onSave.files.ignore` to list which file extension should not trigger a build.
  - The default is to ignore `.sty` and `.cls`.
  - Saving a `.tex` with `latex` id or a bib file triggers a build if build on save is set.
- (#4605) Make `langid` of `doctex` LaTeX rather than TeX.
- (#4609) Enable completion for new language IDs `latex-class`, `latex-package`, `doctex-installer`
- (#4610) Activate keybindings for new language IDs.
- (#4617) Add `subfileinclude` parsing aside `subfile`.
- (#4626) Path `\wsl` is not recognized by compile-on-save and synctex.
- (#4630) Improve catching `label=` in environment args.
- (#4632). Treat `subeqnarray` as `eqnarray`.
- (#4636). Show an error message box when cleaning fails.

## [10.10.0] - 2025-06-03

### Added
- (#4599) Add `view.pdf.sidebar.*` configs to store sidebar behavior.

### Changed
- (#4592) Refine language, grammar, and snippet contributions.

### Fixed
- (#4590) (Internal) Check if file is polled before comparing file size.
- (#4603) Synctex does not work from second row in spread mode.

## [10.9.1] - 2025-05-06

### Fixed
- Use a dedicated watcher for glossary bib files to avoid parsing every bib file twice, including true bibliography
files.
- (#4557) Use `newcommand` instead of `DeclareRobustCommand` in MathJax preview.
- (#4566) Add path suggestion to `adjustbox` macros.
- (#4586) Fix formatting selection with tab indent inserts verbal `\t`.

## [10.9.0] - 2025-03-27

### Added
- (#4308) LiveShare integration.
  - This is an experimental feature. Please read [wiki](https://github.com/James-Yu/LaTeX-Workshop/wiki/ExtraFeatures#Collaborative-editing-using-Live-Share-(experimental)) before use.
  - Three thousand thanks to @quoc-ho and @krokosik!
- (#4384) Add a `checkcites` command to check unused citations.

### Fixed
- (#4557) Do not include macro defs with args in MathJax rendering.

## [10.8.0] - 2025-03-04

### Added
- (#4502) Handle `ids` biblatex field.
- (#4509) Add a config to control pdf reload transition animation.
  - `latex-workshop.view.pdf.reload.transition`
- (#4522) Add a config to control the filter text of citation suggestions.
  - `intellisense.citation.filterText`


### Fixed
- (#4513) Allow PDF refresh on change during build if `-f` and `nonstopmode` are present.
- (#4520) Trigger citation completion for `[a-zA-Z]*cquote`.
- (#4528) Use double bracket to render `\ll(rr)bracket` in MathJaX.
- (#4534) Improve doctex folding.

## [10.7.5] - 2025-01-06

### Fixed
- The minimal supported VS Code version is December 2024 due to changes of PDF.js (particularly the use of css `round()`).

## [10.7.4] - 2025-01-03

### Fixed
- (#4496) (Correct fix) PDF viewer trimming failed due to PDF.js CSS canvas style changes.

## [10.7.3] - 2025-01-03

### Fixed
- (#4495) PDF viewer trimming failed due to PDF.js CSS canvas style changes.

## [10.7.2] - 2025-01-03

### Fixed
- Upgrade PDF.js to v4.10.38.
- Spread mode should correctly register synctex handler.
- (#4437) PDF viewer can be blurry after rescaling
- (#4491) Parse glossary bib files to populate intellisense.

## [10.7.1] - 2024-12-24

### Fixed
- (#4317) Logs of failed xelatex compile should be parsed.
- (#4474) Fix newline handling for tex-fmt input and output.
- (#4476) Update LaTeX3 completion to `l3kernel` 2024-11-02.
- (#4481) `\input` family file names can have double quotes.
- (#4483) Update default arguments for tex-fmt to `--nowrap` instead of `--keep`.
- (#4484) Disable open, print, save handlers of pdf viewer.

## [10.7.0] - 2024-12-03

### Added
- Update pdf.js to v4.9.124.
  - This version fixes #4468.

## [10.6.1] - 2024-11-27

### Fixed
- Correct binary file polling comparison.
- (#4469) PDF viewer spread misaligned due to bottom margin.

## [10.6.0] - 2024-11-25

### Added
- Update pdf.js to v4.8.69.
- (#4466) Handle LaTeX files with non `.tex` extension.
  - This includes a new config item `latex.extraExts`.
  - See https://github.com/James-Yu/LaTeX-Workshop/issues/4457#issuecomment-2491096409 for usage.

### Fixed
- Binary file watcher polling should not await.
  - This fix will benefit PDF change watcher.
- (#4448) Fix link highlighting in `\ref` and `\input` for non-word characters.
- (#4459) Additional menu buttons in PDF viewer drop down menu no longer hide menu on click.

## [10.5.6] - 2024-10-31

### Fixed
- Remove bottom 10px margin of last page in PDF viewer.
- (#4449) Add a warning message when bibtex parser failed.

## [10.5.5] - 2024-10-22

### Fixed
- Update `unified-latex` to version 1.8.1.

## [10.5.4] - 2024-10-17

### Fixed
- (#4426) Code folding for DocTeX
- (#4440) Remove `dev/packages/expl3.json`.
- (#4441) Remove `%` components from macro suggestion snippets.

## [10.5.3] - 2024-10-16

### Fixed
- Hide pdf viewer sidebar notification green dot.
- (#4438) Fix link to `latex-workshop.texcount.autorun` setting.

## [10.5.2] - 2024-10-14

### Fixed
- (#4436) Tweaked toolbar showing/hiding logic.

## [10.5.1] - 2024-10-14

### Fixed
- Suggestions of packages defined in local class files can now be provided.
- (#4430) Escape `$` when surround macros.
- (#4432) Upgrade to PDF.js 4.7.76, tweak toolbar hiding.
  - Add a config `view.pdf.toolbar.hide.timeout` to control toolbar hiding timeout.
- (#4433) Stringify chunk before merging chunks during formatting breaks character at the end.
- (#4434) Deduplicate package options.

## [10.5.0] - 2024-10-08

### Added
- (#4423) A new flicker-free pdf refresh solution inspired by tamuratak/latex-toybox.
- (#4427) Define tex-fmt arguments in `formatting.tex-fmt.args`
  - This config replaces the previous `formatting.tex-fmt.doNotWrap`.

### Fixed
- (#3783) Fix a bug of incorrect suggestion when auto-completing inside `\\end{}`.
- (#4420) Add `\left|..\right|` snippet.

## [10.4.2] - 2024-10-02

### Fixed
- (#4404) Use short titles of `\caption` in outline.
- (#4406) Add `--print` to `tectonic` tool to generate compile message.
- (#4414) TextLayer in pdf viewer is rotated by pdf.js, so no further rotation.
- (#4415) Disable flicker-free PDF refresh when spread mode is on.
- (#4416) PDF viewer uses a l10n lang selector to determine translation.

## [10.4.1] - 2024-09-20

### Fixed
- (#4397) When formatting a selection of `latex`, consider the leading spaces.
- (#4401) Tweaked macro suggestion order, prioritize `\(` and degrade starred macros.

### Upgraded
- Upgrade to PDF.js 4.6.82

## [10.4.0] - 2024-09-18

### Added
- (#4379) Support `tex-fmt` as another LaTeX formatter.
  - There are a few config item changes related to `latexindent`.

### Fixed
- Macro suggestions filtered and sorted by both label and argument signature.
- (#4347) `--max-print-line` should be added to string when magic tex argument is present under MikTeX.
- (#4380) Wrong auto-completion after typing `\{`.

## [10.3.2] - 2024-09-11

### Fixed
- (#4374) Extra brace in default macros.

## [10.3.1] - 2024-09-10

### Fixed
- (#4372) Include macro name back into .json file snippets.
  - This change may require re-generation of `.json` files using the new `parse-cwl.ts` script in `dev/` folder, even already done in version `10.3.0`.

## [10.3.0] - 2024-09-09

### Added
- (#4359) Support file watching on virtual file systems
- (#4363) `RequirePackage` and `RequirePackageWithOptions` suggests package names.
- (#4364) Suggestion `keyvals` provide possible values if defined in `.cwl` files.
- (#4368) Include base KOMA macro/env in KOMA art, book, rept.

### Changed
- (#4367) Adopt a new package intellisense file format.
  - This change is necessary to make package suggestions extensible.
  - You may need to regenerate package intellisense `.json` files using the new `parse-cwl.ts` script in `dev/` folder.

### Fixed
- (#4360) Parse `pdflatex --version` output correctly for MikTeX detection.
- (#4369) Browser viewer should not wait for vscode panel `'restore_state'`.

## [10.2.1] - 2024-08-30

### Fixed
- (#4354) Reverted #4347.
  - #4347 was a local issue.

## [10.2.0] - 2024-08-30

### Added
- Add bibTeX field content suggestions
- (#4331) Add highlighting to the extension logs.
- (#4338) Control showing over/underfull warning seperately by `message.badbox.show`.

### Fixed
- (#4304) Reveal PDF on SyncTeX if it's invisible instead of create a new tab.
- (#4306) No PDF refresh on code-server.
- (#4313) Include `(arg)` macro signature in package intellisense.
- (#4334) PDF viewer position retained across vscode reloads.
- (#4335) Handle bibtex parsing exception.
- (#4336) Record past active latex editor instead of just file path.
- (#4347) `%!TEX/%!BIB options` accept multiple bash args and handles spaces.
- (#4339) Handle cwl package option in format `#keyvals:\geometry,\usepackage/geometry#c`.

## [10.1.0] - 2024-06-27

### Added
- (#4301) Multi-language support.

### Fixed
- (#4300) Prevent concurrent pdf refresh and queue a refresh if rate-limited.
- (#4303) Support new command macros by `etoolbox`.

## [10.0.0] - 2024-06-24 - Viewer Update

### General
- We revamped the UX experience when working with the built-in PDF viewer.
  - (#4295) Flicker-free PDF refreshing contributed by @quoc-ho
  - (#4292) New page trimming implementation.
  - Upgrade PDF.js to v4.3.136

### Changed
- Now the trimming select UI element is moved to the dropdown menu of viewer.
- Now the config item `latex-workshop.view.pdf.trim` has a new definition and usage.

## [9.21.1] - 2024-06-24

### Fixed
- (#4294) Internal links in pdf viewer do not scroll to position.

## [9.21.0] - 2024-06-23

### Added
- Upgrade pdf.js to v4.2.67.
- Add all package suggestions to repo, let users download.
- Allow more relative paths in `latex.texDirs` and `intellisense.package.dirs`.
- (#4222) Customize docker (or podman) path.
- (#4277) Add a close-env suggestion after `\begin{env}`.

### Changed
- (#4281) Try use `PDFViewerApplication.load` in viewer refresh.
- (#4292) Better viewer trimming.

### Fixed
- Fix a duplicate children parsing bug in caching.
- `\putbib` can also have `\subfix`.
- Avoid included bib circular inclusion.
- When finding root from workspace, we don't care if it is cached or not.

## [9.20.1] - 2024-04-29

### Fixed
- Update grammars.
- (#4215) Add `tkz-euclide` suggestions, update some others
- (#4233) Cache outdir/auxdir per root file.
- (#4239) Use synctex.js for backward sync (CJK-compatible)
- (#4243) Fix WebSocket reconnect mechanism.
- (#4247) Fix racing build-on-save when multiple files are edited.
- (#4252) `intellisense.label.command` should not affect reference parsing.

## [9.20.0] - 2024-04-15

### Added
- (#4194) Add a more accurate rectangle indicator for SyncTeX to PDF.
  - Config `synctex.indicator.enabled` is changed to `synctex.indicator` and now is a string config.

### Changed
- Now calling SyncTeX will prioritize binary over synctex.js.
  - Makes `synctex.synctexjs.enabled` obsolete.

### Fixed
- (#4215) Use `kpsewhich.class.enabled` and `kpsewhich.bibtex.enabled` to control `kpsewhich`.
  - Replaces `kpsewhich.enabled`.
- (#4227) Ignore label defs in `xparse` macros.

## [9.19.2] - 2024-04-04

### Fixed
- Prevent `.aux` and `.out` file changes from triggering auto-build
- (#4207) Cursor tracing in structure works across files with 2+ level differences.
- ($4220) Synctex does not work while using vscode in browser.

## [9.19.1] - 2024-03-12

### Fixed
- `auxdir` is automatically determined from last run recipe.
  - `outdir` also, for testing purpose.
- (#4193) Optional capture pattern for `\subfix` when including `bib` files.
- (#4195) `bib` watcher follows `latex.watch.files.ignore`.
- (#4197) Use BibTeX log parsing rules for its variants.

## [9.19.0] - 2024-03-06

### Added
- (#4173) Add source to warning messages.
- (#4181) Missing reference warnings now located precisely.

### Fixed
- Fix incorrect cursor position in math preview when cursor is at line > 0.
- (#4166) Add deletion polling for non-binary files.
- (#4167) PDF watcher never resets now.
- (#4184) `kpsewhich` caches results.
- (#4184) `kpsewhich.enabled` correctly controls calls to `kpsewhich`.
- (#4188) Cleaning with `latexmk` honors `outdir`.

## [9.18.2] - 2024-02-18

### Fixed
- Hold PDF refresh for 1s after compile.
- Snippet and math preview panels use networked resource.
- (#4156) Store the math tex of references on parsing.
- (#4162) Snippet view can insert on any langID.

## [9.18.1] - 2024-02-14

### Fixed
- (#4134) Add a new config `intellisense.subsuperscript.enabled` to enable/disable sub- and super-script intellisense
  - There is a related feature request in [#4159](https://github.com/James-Yu/LaTeX-Workshop/issues/4159) to be implemented related to this.
- (#4151) Update LaTeX3 completion.
- (#4153) Fix wrong item label in outline for macros and envs in `doctex`.

## [9.18.0] - 2024-01-10

### Added
- (4126) Add intellisense for macros defined by `\NewDocumentCommand`.

### Fixed
- (#4111) Snippet view cannot find proper editor.
- (#4127) Remove macro star when rendering MathJax.
- (#4131) Use `unified-latex-util-to-string` to stringify macro definitions.

## [9.17.0] - 2024-01-02

### Added
- (#4114) Support `\boldsymbol`, `\bm` and other `mathtools` macros in preview.
- (#4118) Sub- and superscript auto-completion.
- (#4119) Enable VIM-like scrolling by shift+J, K, H, L in PDF viewer.

### Fixed
- (#4104) PDF viewer cannot revert to no spread.
- (#4105) Retry MathJax if failed rendering with defined macros.
- (#4116) Use `newcommand` in place of `providecommand` for MathJax.

## [9.16.1] - 2023-12-21

### Fixed
- (#4103) Fix wrong boundary calculation when macros are the last argument in new command definitions.

## [9.16.0] - 2023-12-19

### Added
- Tweak the PDF synctex indicator appearance, less intrusive.
- A new config `view.outline.follow.editor` to control whether scrolling the editor will also reveal corresponding structure items.
- (#4098) SyncTeX after clicking structure item.
  - This behavior is controlled by a new config `view.outline.sync.viewer`.

### Fixed
- (#4045) Use AST to parse new commands for preview.

## [9.15.8] - 2023-12-15

### Fixed
- (#4096) Color options in pdf editor not working since v9.15.1.

## [9.15.7] - 2023-12-13

### Fixed
- (#4093) PDF viewer restores scale value after reload.

## [9.15.6] - 2023-12-13

### Changed
- Update to PDF.js v4.0.269.

### Fixed
- (#4092) PDF reload at file change.

## [9.15.5] - 2023-12-12

### Fixed
- (#4090) Add the missing docker envvar setter.

## [9.15.4] - 2023-12-12

### Fixed
- (#4089) Fix cmap files location in pdfjs-dist.

## [9.15.3] - 2023-12-12

### Changed
- Try esbuild @unified-latex packages to reduce `.vsix` size.

## [9.15.2] - 2023-12-12

### Fixed
- Excessively large `.vsix` package.

## [9.15.1] - 2023-12-12

### Changed
- Engineering changes.
- Hold PDF refresh only when building

### Fixed
- Fix a !LW recipe not found fallback issue.
- (#4063) Parse \item args for env pairs.
- (#4068) Respect `latexmk`+`subfile` when creating output subfolders.
- (#4069) Scan for `label={...}` as the second argument of an environment.
- (#4076) Fail-safe for setting PDF viewer state.
- (#4087) Regain editor focus after view in tab.

## [9.15.0] - 2023-11-16

### Added
- (#3966) Add option to include filename in status bar.

### Fixed
- Update to PDF.js v4.0.189.
- (#4048) Gracefully fail `mkdirSync` during compile.
- (#4052) Viewer refresh checks all steps instead of the last one.
- (#4054) Custom editor follows `tab.editorGroup`.

## [9.14.1] - 2023-10-03

### Fixed
- Updates: cwl, unified, pdfjs.
- (#3962, #4022) Fix frozen hand tool if set in config.
- (#4021) Parse nested @string in bibtex.
- (#4023) Enable keybinds on doctex.

## [9.14.0] - 2023-09-19

### Added
- (#3981) Add a new `synctex.indicator.enabled` config item to control the visibility of the SyncTeX indicator in PDF.
- (#3999) Display missing character warning in the Problems pane.
- (#4017) Show appendix numbering in structure.

### Fixed
- (#3982) Make `\bibliography` accept a multiline argument.
- (#3983) Compute section ranges correctly once nested.
- (#3984) Fix newlines and indentations for BTA and BTB snippets.
- (#4003) Regain focus after creating viewer tab.

## [9.13.4] - 2023-08-06

### Fixed
- (#3978) Correctly parse `\providecommand` commands.
- (#3978) Fix the tab sequence of arguments of new commands.

## [9.13.3] - 2023-07-24

### Fixed
- Use `tab` as the default viewer fallback.

## [9.13.2] - 2023-07-24

### Fixed
- Update to PDF.js v3.8.162.
- Default viewer with `customEditor`.
  - The original mode is renamed to `legacy`.
- (#3973) Tweak structure refresh conditions.


## [9.13.1] - 2023-07-17

### Fixed
- (#3967) `kpsewhich` should be called from the current root or workspace folder.

## [9.13.0] - 2023-07-14

### Added
- (#3961) Add a "custom editor" viewer mode.
- (#3965) Use `kpsewhich` to find package imports defined in `.cls`.

### Changed
- Enable `kpsewhich` by default.

### Fixed
- (#3960) Support `\DeclarePairedDelimiterX(PP)` and `\DeclareRobustCommand`.
- (#3963) Arguments in AST can have labels, envs, and glossaries.

## [9.12.3] - 2023-07-07

### Fixed
- Even faster structuring on projects with a large number of sub-files.
- (#3573) Cache.content can be dirty.
- (#3937) Support globs when updating bib paths.
- (#3943) Hover hint considers package and optional arguments.
- (#3946) Env pair should use dirty content AST.
- (#3947) Macros must have a mandatory argument in order to appear in outline.
- (#3948) Re-implement `mathtools` and `amsopn` new command support.
- (#3950) Child tex wrongly all registered to root.

## [9.12.2] - 2023-06-22

### Fixed
- Very fast cache element parsing.
- Input files do not nest in outline.

## [9.12.1] - 2023-06-21

### Changed
- Update grammar files to https://github.com/jlelong/vscode-latex-basics/releases/tag/v1.5.3

### Fixed
- None blocking cache parsing.
- (#3941) Wrong replace range of browser citation.

## [9.12.0] - 2023-06-19

### Added
- (#3934) Now the content parsing and caching system is based on `unified-latex`.
  - We expect to encounter many issues and bugs. Please feel free to create ones at https://github.com/James-Yu/LaTeX-Workshop/issues after searching.

## [9.11.5] - 2023-06-13

### Fixed
- (#3875,#3914) `onSave` triggers on included bibs and non-TeX children.
- (#3897) Outline and structure won't work if the first section is starred.
- (#3898) When the parameter "latex-workshop.latex.outDir" is defined, the feature from #3890 doesn't work.
- (#3899) When manually close the "View LaTex PDF file", the command "SyncTex from cursor" doesn't open the PDF anymore.
- (#3902) Trimming dropdown menu in PDF viewer sometime overflows.
- (#3905) The structure on the left does not jump on click.
- (#3907) Increase the concurrent LU parser number.
- (#3912) Wrong number of steps in the recipe steps counter.
- (#3922) Trouble with LaTeX parsing related to listings and math mode.

## [9.11.4] - 2023-05-27

### Fixed
- `DOCUMENT_CHANGED` internal event of the extension is not logged.
- (#3890) Open PDF viewer on forward SyncTeX if not already opened.

## [9.11.3] - 2023-05-26

### Added
- (#3895) Revival of #3879 in `v9.11.0`, use `unified-latex` to parse structure.

### Fixed
- Repeatedly refreshing structure view when the view is active.

## [9.11.2] - 2023-05-26

### Fixed
- Repackaged #3892 to make the fix effective.

## [9.11.1] - 2023-05-25

### Fixed
- (#3892) Reverted #3879
  - Unfortunately, vscode does not support ESM, which is how `unified` works.

## [9.11.0] - 2023-05-24

### Added
- (#3879) Use `unified-latex` to parse structure.
  - This is a start of the transition to `unified-latex`-based AST parsing.
- (#3883) Add a `singleton` mode to pdf tab viewing.

### Fixed
- (#3872) Fix `latexlog` parsing.

## [9.10.0] - 2023-05-03

### Added
- (#3838) Properly stringify BibTeX fields containing `#`.
- (#3856) Add a configuration item `latex.rootFile.indicator` to choose the root file indicator.

### Fixed
- (#3867) Use bracket stack to `getLongestBalancedString`.
  - This can help the extension to better parse LaTeX AST.

## [9.9.0] - 2023-04-29

### Added
- (#3855) `latex.clean.fileTypes` support placeholders.

### Fixed
- (#3811) `\include` suggestion does not have file extension.
- (#3812) Fix computation of the section above current position.
- (#3813) Lazy load `usepackage` regex.
- (#3815) Detect more warnings of LaTeX log.
- (#3817) Let `)` may also close `[` when stripping text.
- (#3820) Swap symbols of `epsilon` and `varepsilon`.
- (#3827) Consider `\markdownInput` as input.
- (#3832) Change caption in BTA to top, add a BTB snippet.
- (#3841) `code-server` not loading PDFs from built-in PDF viewer.
- (#3842) Fix environment navigation and content selection for `$...$` and `$$...$$`.
- (#3844) Add port conflict warning to `internal.port` config.

## [9.8.2] - 2023-03-29

### Fixed
- (#3790) Resolving `bib` files according to `rootDir`.
- (#3791) Do not consider `%` in url encoding as comment.
- (#3794) No need to call `findRoot` on did open text document.

## [9.8.1] - 2023-03-24

### Fixed
- (#3787) Root finding fails when optional arguments of `\documentclass` have new lines.

## [9.8.0] - 2023-03-24

### Added
- (#711) Outline for .dtx file.
  - Implements basic .dtx outline with macro and environment document parsing. Guards are not parsed yet.
- (#3722) All viewer configs are now responsive to changes without reloading.
- (#3728) Auto clean can be triggered on success.
- (#3741) Add a `!LW recipe` magic comment to set recipe.
- (#3767) Add a new config `intellisense.package.exclude` to exclude package intellisense.
- (#3786) Add a new config `latex-workshop.latex.jobname` to define jobname.

### Changed
- (#3731) Use backspace and shift+bk to navigate the viewer.
- (#3735) Current root is prioritized on root-finding if there are multiple candidates.
- (#3743) Use `\documentclass[]{}` to detect root.
- (#3770) Refactor EnvPair module and use the `latexParser` to build an AST `CommandPair` of all the pairs in the current file.

### Fixed
- (#3747) Strip `%` comments from bibtex for parsing.
- (#3749) Viewer pages do not overflow.
- (#3751) Fast parse don't include `\s*[{` as args
- (#3778) Associate log warnings with no line number to line 1.

## [9.7.0] - 2023-02-14

### Added
- Update grammar files.
- (#3699) Add a pair of new commands to change hostname of the PDF viewer.
  - `latex-workshop.changeHostName` and `latex-workshop.resetHostName`.

### Changed
- LaTeX Workshop now requires VSCode 1.74.0+.

### Fixed
- Properly provide pair commands from `tex.cwl` and `latex-document.cwl`.
- (#3715) latexindent can format `.cls` and `.sty` files.
- (#3716) Command surrounding may have one more brace if a text placeholder is present.
- (#3718) Remove redundant `left`/`right` commands.
- (#3719) Properly provide `expl3` suggestions.

## [9.6.2] - 2023-02-08

### Fixed
- (#3679) remove `detached: true` when spawning `clean` command.
- (#3694) Add file polling for binaries (e.g. PDF).
  - Resume the use of `latex-workshop.latex.watch.pdf.delay` config to control binary polling.
- (#3700) Support file path suggestion for `\subfileinclude`.
- (#3701) Partial support to `\DeclarePairedDelimiter` environments with `*` in math preview.
- (#3705) Support `multline` environment in math preview.

## [9.6.1] - 2023-02-03

### Fixed
- Remove unnecessary PDF viewer dropdown menu elements.
- Reenabled fast parse on document contents for intellisense and outline.
  - Now fast parse can properly handle `label={eq1}`-like syntax.
- (#3682) Visually activate hand tool in viewer.
- (#3683) Explain on the conflict with extension `vscode-pdf`.

### Internal
- Change to use `vscode.FileSystemWatcher` to watch project files intead of `chokidar`.
  - The current version of `chokidar` possibly fails to emit events on `git pull`.

## [9.6.0] - 2023-01-29

### Added
- Support PDF viewer in code server.

### Fixed
- (#3662) Use `path.resolve` to find pkg json file

### Internal
- Reduce complexity of command finder.
  - `whichPackageProvidesCommand` is simplified by using a universal cmd suggestion array.
  - `commandSignatureDuplicationDetector` check is advanced.
- Expand cacher to cache AST of files, notable reducing the parsing times.
- Update grammar files to `jlelong/vscode-latex-basics@16ac438`.

## [9.5.0] - 2023-01-23

### Added
- (#3641)Support cross-ref from `xr` package.
- (#3650) New config `intellisense.command.user` to add/change/delete default commands.
  - Rename `intellisense.atSuggestionJSON.replace` to `intellisense.atSuggestion.user`.
- (#3658) Add config `intellisense.label.command` to enable label definitions other than `\label{}`.

### Fixed
- No repeat find root calls on active editor change
- (#3654) Don't enforce `-cd` on `latexmk` and `subfiles`.
- (#3657) A condition bug on `newcommand` detection.

## [9.4.5] - 2023-01-13

### Fixed
- New command finder now honors argument and optional one list.
- Entries in `bibtex-entries.first` should also be sorted.
- (#3585) A better description to `latex.watch.files.ignore` config.
- (#3640) Resolve a package conflict with `isort` that may prevent command suggestion.

## [9.4.4] - 2023-01-10

### Fixed
- (#3633) Embedded PDF viewer can copy texts.
- (#3634) `latexindent` cannot be directly called in the first invoke.
- (#3638) Itemize and enumerate completion injects `\\n\\t`.

## [9.4.3] - 2023-01-08

### Fixed
- (#3631) Fix error in SyncTeX with only `.synctex.gz` file.

## [9.4.2] - 2023-01-08

### Fixed
- Environment optional argument intellisense works again.

## [9.4.2] - 2023-01-08

### Fixed
- Environment optional argument intellisense works again.

## [9.4.1] - 2023-01-08

### Fixed
- Allow for parentheses in pkg/doc options for intellisense.

## [9.4.0] - 2023-01-08

### Added
- Base `beamer` and `tikz` intellisense.
- (#3612) Intelli-package dependency obeys package options.
- (#3628) More concise log messages.

### Fixed
- Refresh pdf viewers of only changed pdfs.
- Embedded viewer follows vscode light/dark theme, browser viewer follows OS theme.
- (#3630) Reconnect multiple times to viewer after OS sleep and wake up.

## [9.3.0] - 2023-01-05

### Added
- Class/package options now provide snippet completion.
- (#3617) More structure/outline configurations.
  - Floats can now be nested
  - Add config `view.outline.floats.caption.enabled` to disable float caption.
  - Add `config view.outline.numbers.floats.enabled` to show float number.
- (#3618) Now all extension config items are free from vscode reload
  - Selected ones related to viewer display requires to reopen the pdf viewer.
- (#3619) Command and environment intellisense are now based on packages used and their options if `latex-workshop.intellisense.package.enabled` is `true`.

### Changed
- Deprecated config items are removed.
- Let's use fast parse for structure/outline by default.
- (#3603) Remove unicode chars in recipe names.

### Fixed
- (#3611) Filter package cmds/envs with %, remove arg % part.

## [9.2.2] - 2022-12-31

### Fixed
- (#3607) Try reconnect websocket multiple times after operating system sleep.
- (#3610) Catastrophic backtracking of argument regex that may cause unresponsiveness on intellisense from a long line.

## [9.2.1] - 2022-12-28

### Fixed
- Performance regression due to improper caching of package intellisense data.

## [9.2.0] - 2022-12-23

### Added
- (#3579) Intellisense for optional arguments.

### Changed
- `intellisense.useTabStops.enabled` does not prevents tabbing.
  - It is replace with a new `intellisense.argumentHint.enabled` config.
- (#3594) Hinting data for many packages are updated.

### Fixed
- (#3578) Force no indent after `\begin{document}`.

## [9.1.1] - 2022-12-08

### Fixed
- (#3566, #3569) Make sure command names start with a `\`.
- (#3568, #3570) Use delay to prevent simultaneous auto build by file save or change.
- (#3571) Handle rejected promise on bib parsing.

## [9.1.0] - 2022-12-02

### Added
- (#3539) Add completion for environment starting with a `+`.
- (#3546) Completion in comma separated lists.

### Changed
- (#3540) Use `ctrl+shift+m` instead of `cmd+m` for macos keybindings.
- (#3550) Open http(s) directly from viewer, prompt to open for others.

### Fixed
- Fix wrong count of tools in recipe.
- (#3502) `href` boxes in viewer misplaced on trim.
- (#3549) Use base file name for latexindent temp file.
- (#3556) `check` icon in status on failed builds.

## [9.0.1] - 2022-11-08

### Fixed
- (#3526) The total number of tools in a recipe displays timestamp if there are more than one tools.

## [9.0.0] - 2022-11-07 - Builder Update

### General
- LaTeX Workshop refactored the previous builder logic and adopt a new queue based implementation.
  - Details are recorded in (#3514).
  - If you experience anything unusual, please file an issue and rollback to previous versions temporarily.
- PDF.js is updated to version 3.

### Added
- (#3451) Clean arguments now accepts placeholders.
- (#3468) Parse page number in fullbox logs.
- (#3488) Add `pageBorderColor` config for pdf viewer.

### Changed
- Copy `href` to clipboard instead of directly opening when clicking on embedded internal PDF viewer.
- (#3444) `view.outline` configs are now responsive without vscode reload.

### Fixed
- Enable completion on the first line of a `.bib` file.
- (#3445) Use source file extension to create temp indent file for `latexindent`.
- (#3419) Math preview also shows `flalign`.
- (#3478) Typo in `hyphenrules` newenv.
- (#3520) Select current environment content/name not working.

## [8.29.0] - 2022-08-25

### Added
- (#3400) Add an experimental faster AST-based structure construction.
  - Disabled by default. Can be enabled from `view.outline.fastparse.enabled`.
- (#3421) Provide file completion for `includesvg`.
- (#3423) Support sticky scrolling.

### Fixed
- Fix wrong structure: first section is child of preamble labels.
- (#3404) Fix `\input` arg does not take filenames with underscores.
- (#3408) Ctrl+A (Select All) grays out PDF preview.
- (#3411) Fix linter logs won't clear after all warnings fixed.
- (#3412) Ignore `\newenvironment` content when scanning for duplicate labels.

## [8.28.0] - 2022-07-25

### Added
- (#3342) Add `%` comments to bibtex.
- (#3347) Add "go to definition" support for glossaries and acronyms.
- (#3353) Clean up demanded empty folders after removing auxiliary files.
- (#3355) Add deprecated config alert on activating extension.
- (#3359) Enhance glossary completion.
- (#3360) Add support to `LaCheck`.

### Fixed
- (#3330) Pdf Viewer (Browser) does not refresh on Safari.
- (#3340) Typo in `exam` class intellisense data.
- (#3341) Add intellisense for labels with one optional arg.
- (#3344) Default zoom level of PDF viewer not working on `v8.27.0+`.
- (#3349) Make sure to populate documentation before returning a citation entry.

## [8.27.2] - 2022-06-08

### Fixed
- This time should really fix the `view` button issue.

## [8.27.1] - 2022-06-08

### Fixed
- (#3324) Fix the `view` command.

## [8.27.0] - 2022-06-07

### Added
- (#3316) Support `pageColorsForeground` and `pageColorsBackground` for the internal PDF viewer.

### Changed
- Configurations `chktex.args.active` and `chktex.args.root` are deprecated in favour of `chktex.exec.args`.
- Configuration `chktex.args.path` is deprecated in favour of `chktex.exec.path`.
- Configuration `view.pdf.backgroundColor` is deprecated in favour of `view.pdf.color.light.backgroundColor` and `view.pdf.color.dark.backgroundColor`.

### Fixed
- (#2537) Reveal `.tex` tab if open when using internal `synctex`.
- (#3283) Refactor glossary intellisense data scanning.
  - Stop directly accessing `node.kind`. Instead use the `latexParser.isXXX` methods.
  - Use `stringify` to recompute labels and descriptions. Solves #3280.
- (#3289) Wrong indentation of new items in tabs indented `itemize` environment.
- (#3290) `/` is missing when using `%RELATIVE_DIR%` and `%RELATIVE_DOC%`.
- (#3296) Fix hover and provide definition for commands.
  - Refactor the `tokenizer` used to determine the command under cursor, if any. A LaTeX command name can only contain letters.
  - Fix `provideDefinition` for commands: tokenized commands start with `\`. Solves #3294.
  - Do not show link or `texdoc` command for 'user-defined' package: this is the package used for commands defined directly in the file.

## [8.26.0] - 2022-05-05

### Added
- (#3252) Refactor structure to add caching.
  - (#3260) Use eventbus to manage structure updates.
- (#3275) Add CTAN link to hover on package.
- (#3279) `onEnterKey` supports multi-cursors when all selected lines start with `\item`.

### Changed
- (#3263) Remove a configuration on `markdown.latex.codeblock`.

### Fixed
- (#3250) Add deprecation message to `intellisense.citation.maxfilesizeMB`.
- (#3253) When editing a `markdown_latex_combined` document, command `latex-workshop.onEnterKey` was not found.
- (#3256) Fix typo in `commands.json`.
- (#3258) `isTriggerSuggestNeeded` must match from the beginning of the command name.

## [8.25.0] - 2022-04-13

### Added
- (#3226) Support `\cite<text>{keylist}` commands from `apacite`.

### Fixed
- (#3221) Go to symbol leads to the wrong line.
- (#3227) `cleveref`'s commands loaded by `\usepackage` are not displayed in some cases.
- (#3231) The real time math preview does not work.
- (#3236) Can't display the outline of the paper in the `structure` column, but only the label.
- (#3239) `bibtex-format.sort.enabled` not effective in `settings.json` in multi-root workspace.


## [8.24.1] - 2022-04-01

### Changed

- The setting `latex-workshop.intellisense.citation.maxfilesizeMB` is deprecated in favour of `latex-workshop.bibtex.maxFileSize`.

### Fixed

- (#3219) Set `resource` scope to all `bibtex` settings.

## [8.24.0] - 2022-04-01

### Added

- (#1898) More precise error highlighting.
- (#3043) Handle multi-line `section` command in outline.
- (#3046) Add a configuration variable `texcount.autorun` to enable `texcount` to be automatically called.
- (#3055) Parse and show LaTeX3 warnings.
- (#3065) Add completion detail for snippets.
- (#3122) Use `resource`-scoped properties.
- (#3179) Support `editor.action.smartSelect.expand` and `editor.action.smartSelect.shrink`. The configuration is `latex-workshop.selection.smart.latex.enabled`.
- (#3207) Use `latex-workshop.intellisense.atSuggestionJSON.replace` to replace a default `@`-suggestion or define a new one. See https://github.com/James-Yu/LaTeX-Workshop/wiki/Intellisense#-suggestions
- (#3220) Add Structure view for `BibTeX`.

### Changed

- (#3207) The setting `latex-workshop.intellisense.snippets.trigger.latex` is deprecated in favour of `latex-workshop.intellisense.atSuggestion.trigger.latex`.

### Fixed

- (#2821) Properly remove temporary files from `latexindent`.
- (#3189) Ignore anything before `begin document` in structure.
- (#3192) Refactor completion to better handle duplicates.

## [8.23.0] - 2021-12-28

### Added
- (#3004) Add language configuration for BibTeX style.
- (#3022) Show commands in outline/structure views.
  - We introduce the new setting `latex-workshop.view.outline.commands` with default value ['label']. It replaces `latex-workshop.view.outline.labels.enabled`, which was specific for labels.

### Changed
- (#2963) Migrate to MathJax v3.2.
- (#3009) Drop support for LaTeX Utilities.
- (#3014) Remove `item` snippet.
- (#3027) Disable magic comments by default.

### Fixed
- (#2979) Incorrect structure when using `\verb|\section{...}|`.
- (#2985) Declare `[...)` and `(...]` as bracket pairs.
- (#2986) Disable commands and features on virtual workspaces.
- (#2996) Focus jump in viewer when using landscape pages.

## [8.22.0] - 2021-11-15

### Changed
- (#2881) Refactor `toggleSelectedKeyword`.
- (#2937) Drop the support for VS Code prior to v1.61.2.
- (#2951) Refactor the Input completer.
- (#2959) Remove Snippet Panel.

### Fixed
- (#2929) Highlight `(long|tall)tblr`.
- (#2935) `workspaceFolders` may have length 0.
- (#2950) Provide `@snippets` as completion items using a separate `CompletionItemProvider`.
- (#2952) Do not gobble trailing empty lines when folding.
- (#2967) Fix ranges for `(sub)*section` entries in the structure provider.

## [8.21.1] - 2021-10-22

### Fixed
- (#2917) Treat `latexmk --luatex` properly.
- (#2922,#2926,#2927) The previous package has some mysterious bugs preventing the extension from working properly.
- (#2923) Synctex in file with `\include`d files is not searching for the correct directory.

## [8.21.0] - 2021-10-19

### Added
- (#2841) Add `BibLaTeX` backend for intellisense.
- (#2852) Hightlight the content of the `markdown` environment as `md`.
- (#2870) Add a new configuration variable `latex-workshop.message.bibtexlog.exclude`.
- (#2900) Add three new placeholders.
  - `WORKSPACE_FOLDER`: current workspace path.
  - `RELATIVE_DIR`: file directory relative to the workspace folder.
  - `RELATIVE_DOC`: file path relative to the workspace folder.

### Fixed
- (#2838) Format multiline bibtex fields.
- (#2851) Highlight `tblr` envs as tabular.
- (#2855) Accept dash in cite keys.
- (#2897) Show `Open LaTeX Workshop log` button for some cases.
- (#2908) Highlight `alignedat`.
- (#2909) Replace `\texorpdfstring` by its second arg in outline.

## [8.20.2] - 2021-08-09

### Added
- (#2783) Add support for glossary external file.

### Changed
- (#2756) Use Custom Editor as a hook to start the internal PDF viewer.
- (#2759) Drop support for versions prior to VS Code `1.53.2`.

### Fixed
- A series of engineering improvements.
- (#2766) Declare `flalign` as a math environment.
- (#2770) intellisense for `\mathscr`.
- (#2777) Skip tikpicture content when scanning for labels.
- (#2782) Stop unescaping in surround function.
- (#2786) Skip labels in new command definitions.
- (#2787) Set a scope to `\text` in maths.
- (#2794) Highlights comments inside `\cite`.

### Others
 - 8.20.0 and 8.20.1 are skipped. [#2829](https://github.com/James-Yu/LaTeX-Workshop/issues/2829)

## [8.19.0] - 2021-06-11

### Added
- New log messages for recipes and undefined tools.
- (#2682) Adopt a more lazy approach to read tex content.
- (#2686) Added highlighting support for tabu package envs.

### Changed
- (#2579) Change the default value of `docker.image.latex` to an empty string.

### Fixed
- A series of engineering improvements.

### Fixed

## [8.18.0] - 2021-05-12

### Added
- (#2628) Support `<<child='...'>>=` for `.rnw` file inclusion.
- (#2636) Support SyncTeX buttons on PDF viewers.

### Removed
- (#2653) Remove `BuildInfo`.

### Fixed
- (#2627) Array syntax highlighting.
- (#2628) Refactor input path regexps.
- (#2639) Fix cached packages list update.
- (#2650) Highlight `\Verb` content as verbatim.
- (#2658) Improve find new command regex.
- (#2662) Fix auto build on save with subfiles.
- (#2666) Fix typo, highlight `\iftrue`, not `\ftrue`.
- (#2671) Make sure to remove any verbatim parts before scanning the .tex content.
  - For the moment, it breaks if there are nested verbatim environments.
- (#2671) Make the list of verbatim-like environments configurable by `latex-workshop.latex.verbatimEnvs`.

## [8.17.0] - 2021-04-21

### Added
- (#2566) Add IntelliSense for `\DeclareMathOperator` and any `\newcommand*` & co declarations.
- (#2584) Generate a `cpp` embedded language configuration.

### Fixed
- (#2542) Python code highlighting for all environments of the package `pythontex`.
- (#2561) Fix a regexp which might causes ReDoS.
- (#2562) Fix potential exponential backtracking when removing comments.
- (#2565) Use `spawn` instead of `exec` when looking for `latexindent`.
- (#2575) Make sure to wait for `findRoot` to return before proceeding.
- (#2600) Duplicate labels in the same file not spotted.
- (#2601) Do not filter files using `git`.
- (#2624) The outline view in the sidebar of the internal pdf viewer is too dark to see the content.
- (#2626) Set correct package field in cached element.command.

## [8.16.1] - 2021-03-03

### Fixed
- (#2536) Check for duplicate labels.
- (#2542) Highlight `pythontex` environments.
- (#2543) Make `import` accept a relative path starting from the `rootDir`.
- (#2547) Use `spawnSync` to prevent code injection.
- (#2549) `LintRoot` should lint the whole LaTeX project.
- (#2550) Raise a warning message when viewer cannot find PDF file.

## [8.16.0] - 2021-02-19

### Added
- (#2427) Add a config to show floats or not in outline `view.outline.floats.enabled`.
- (#2432) Make trigger characters for intellisense of LaTeX documents configurable.
- (#2461) Implement a `BibTeX` log parser.
- (#2471) Add a configurable clean command.
  - A fully configurable `clean` command and add three new configuration variables.
  - `latex.clean.method` can be `glob` (default) or `cleanCommand`.
- (#2476) Enable converting ChkTeX outputs' column numbers.
- (#2485) Configure align on equal signs for bibtex formatter `bibtex-format.align-equal.enabled`.
- (#2488) Accept any number of spaces for bibtex indentation given as a string in `bibtex-format.tab`.
- (#2508) Sorting fields can be enabled by `bibtex-fields.sort.enabled`.
- (#2512) Enable autofix on multiline maths.
- (#2529) Users can provide package intellisense data from `intellisense.package.dirs`. 

### Changed
- Use `.fls` file when finding the root file.
- (#2439) Use `vscode.env.asExternalUri` for the internal PDF viewer.

### Fixed
- (#2429) Fix quote escaping for `bst` language.
- (#2430) Stop opening scm view when focusing `tex` file in `diff` mode.
- (#2457) Check if git is available on OSX to prevent dev tools pop up.
- (#2458,#2503) Treat `\left.` `\right)]}` and `\left([{` `\right.` as bracket pairs.
- (#2484) Killing the build process makes vscode crash when `pkill` is provided by `proctools`.
- (#2504) Fix SyncTeX on horizonal scrolling.

## [8.15.0] - 2020-12-06

### Added
- Add Snippet View.
- Add `hover.preview.maxLines` to limit how much we go upward to find the beginning of the math environment.
- (#2380) Add toggle math preview.
- (#2384) Enable math preview on suggest detail widgets for references.
- (#2388) Add `bibtex` support for `markdown`.

### Changed
- Update syntax files for weave, dtx, LaTeX3.
- (#2392) Keep selected text in autocompletion/snippets.
- (#2408) Remove `subfileincludegraphics` in `data/commands.json`.

### Fixed
- Escape `}` properly in the snippet panel.
- (#2394) Refactor fix for double `}}` in completion.
- (#2395) Update `cpp` grammar with bailout.
- (#2397) Autocomplete big parenthesis commands: `left(` -> `\left( ... \right)`.
- (#2415) Add `triggerSuggest` to user-defined commands when needed.
- (#2421) Fix a focus issue when opening PDF files through the explorer.

## [8.14.0] - 2020-11-11

### Added
- (#516,#2298) Glossary completion.
- (#2276) Add tool and recipe definitions for `Tectonic`.
- (#2294) Support real-time math preview panel.
- (#2322) Add option to sort `bib` files by entry type.

### Changed
- (#2279) Update to `PDF.js 2.5.207`.
- (#2291) Tweak the transition of the toolbar of the PDF viewer.

### Fixed
- (#2277) Label completion broken when labels contain spaces.
- (#2290) Extra closing brace when inserting `split` environment.
- (#2292) Fix `\textins` command completion.
- (#2325) Keep trailing comma in last `bibtex` field.
- (#2327) Highlight `&` in `longtable`.
- (#2328) Invoke `toLocaleLowerCase` for the suffix of filenames.
- (#2344) Allow multiple `args` completion with `\cite`.
- (#2339,#2342) Parts of `Compiler Log` are not parsed.
- (#2347) Highlight `optidef` envs.
- (#2356) No leading space allowed before `#begin{document}` when using `subfiles`.
- (#1423,#1820,#2368) Deactivate auto-closing for snippet prefixes.


## [8.13.2] - 2020-09-12

### Fixed
- Extension within WSL uses the wrong un-polyfilled `pdf.js`.

## [8.13.1] - 2020-09-12

### Fixed
- (#2274) Fix spelling error `formater` -> `formatter`.

## [8.13.0] - 2020-09-11

### Added
- (#2261) Declare a formatter provider for `bibtex`.

### Fixed
- (#2270) Extension work again with Remote Development extension.

## [8.12.0] - 2020-09-11

### Added
- (#2198) Add a command to select the full content of the current environment.
- (#2225) Enable `latex-workshop.surround` on the Command Palette.
- (#2249) Improve support for LaTeX fenced code block in Markdown.

### Changed
- Update PDF.js to v2.4.456.
- Drop support for vscode < 1.42.
- (#2158) Add invert PDF in dark mode only.
  - Made invertMode configuration more intuitive.
  - Set default for invertMode.enabled.

### Fixed
- (#2117) Add a build icon.
- (#2126) Improve scope names.
- (#2169) Fix the trim mode of the PDF viewer.
- (#2189) Duplicate cite entries.
- (#2203) Refactor and add above/below to `view.pdf.tab.editorGroup`.
- (#2207) Ignore verbatim content when computing structure.
- (#2211) Add `onSave` option to `latex.autoBuild.run`
  - Reverts `4d3ea8b`
- (#2223) Remove `press a-z and space for greek letter`.
- (#2229) Add TBA snippet for table.
- (#2232) Fix XML & HTML scopes.
- (#2245) Should not treat blob URLs, `blob:...`, as external links.
- (#2265) Use `px` instead of `rem` for padding of SVG images on the snippet panel.

## [8.11.1] - 2020-07-01

### Fixed
- Restoring PDF viewers does not work well with VS Code 1.47.
- (#2172) `"latex.recipe.default": "lastUsed"` doesn't work.
- (#2176) No need to put the closing `}` on its own line in `.bib`.
- (#2177) Use `kpsewhich` to resolve bibliography files.
- (#2182) Also search for `.bib` files in `rootDir`.

## [8.11.0] - 2020-06-24

### Added
- (#2149) Add support for `weave.jl`.
- (#2154) Add section numbers in outline.
  - This feature can be deactivated by setting `view.outline.numbers.enabled: false`.

### Improved
- (#2109) Improve PDF viewer refresh speed.
- (#2157) Improve the invert mode of the PDF viewer with additional filters.

### Fixed
- Activate `onEnterKey` even when suggestion is visible.
  - Always activate `onEnterKey` when `acceptSuggestionOnEnter`.
  - (#2167) Do not activate `onEnterKey` when `suggestWidgetVisible`.
- (#2107) Use `fs.realpathSync` to compare file paths for SyncTeX.
- (#2146) Use `rootFile` to expand placeholders when formatting.

## [8.10.0] - 2020-06-06

### Added
- Enhance LaTeX3 support.
- Activate extension for `latex-expl3` language id.
- (#2018) Support restoring PDF viewers.
- (#2088) Add completion support for `includeonly`/`excludeonly`.
- (#2099) Set default recipe by name.
- (#2115) Add intellisense for optional `bibtex` fields.
- (#2118) Texcount comes back.
- (#2136) Filename completion with already typed path.

### Fixed
- Fix double `}}` in env completion.
- (#1523) Match `\autocite`s syntax highlight.
- (#2049) Add `luahbtex` rule for build info.
- (#2052) Add standard math envs to the default list.
- (#2052) Set `intellisense.package.enabled` to true to populate intellisense based on the used packages.
- (#2054) Declare more cite commands for syntax highlighting.
- (#2055) Stop rebroadcasting keyboard events on Linux.
- (#2056) Remove duplicate `\env` commands.
- (#2120) Show labels in structure/outline.
- (#2131) Fix spaces in suggestions.

## [8.9.0] - 2020-04-24

### Added
- Update `PDF.js` to `v2.3.200`.
- Enhanced `rnw `support.
- Turn `..` into tabstops in snippets.
- The new placeholders `%DOC_W32%`, `%DOC_EXT_W32%`, `%DIR_W32%`, `%OUTDIR_W32%` are normalized so that they use `\\` as the path separator on Windows.
  - Placeholders without the `_W32` suffix always use `/` as the path separator. On Unix platforms, placeholders with and without the `_W32` suffix have the same value.
- (#1534,#2020) Match `\left`...`\right` brackets.
- (#1951) Load `data/packages/class-*.json` files to provide completion items specific to `documentclass`es.
- (#1989) Add syntax highlighting for TypeScript in `minted`.
- (#2029) Refactor environments snippets.
- (#2033) Add a completion provider for `bibtex` files.
- (#2047) Add more default commands in intellisense.

### Changed
- In `%DOC%` and `%DOCFILE%`, we now remove any extension, not only `.tex`.
  - Two new placeholders `%DOC_EXT%` and `%DOCFILE_EXT%` are respectively the root file full path and the root file name with the extension kept.
- Use `cross-spawn` to build and view.

### Fixed
- Fix `updatePkg` when `latexParser` fails.
- (#2002) Make sure to kill all child processes.
- (#2003) Reveal a `WebviewPanel` when executing SyncTeX.
- (#2010) Force `/` in `%OUTDIR%` even on Windows.
- (#2011) Check the length of the args of `\label` command.
- (#2012) Remove `cleveref` intellisense entries.
- (#2016) Disable Ctrl+P Shortcut in `pdf.js` viewer.
- (#2017) Use a dedicated option for pdf watch delay.
- (#2025) Render citation completion and preview as markdown.
- (#2030) Order latexmk rules numerically in compilation live info.

## [8.8.0] - 2020-03-22

### Added
- (#1949) Make the PDF watcher delay configurable via `latex.watch.delay`.
- (#1950) Enable keyboard shortcuts of VS Code on the PDF viewer.
- (#1955) Add embedded language support for minted ruby.
- (#1963) Add `\addplot` grammar support.
- (#1985) Improved intellisense for reference via `intellisense.citation.format`.

### Removed
- (#1986) Remove `formatOnSave:false` in latex configuration.

### Fixed
- (#1947) Normalize `outdir` path.
- (#1953) Fix clean command with relative `outDir`.
- (#1962) Use page numbers to cache SVG files.
- (#1965) Ctrl click to open `documentclass` file.
- (#1972) Use `rootDir` as PWD when parsing `.fls` file.

## [8.7.2] - 2020-02-12

### Fixed
- Fix popup severity.
- (#1811) Wait for write to finish before firing a change event.
- (#1907) Scan `\DeclarePairedDelimiter` for preview.
- (#1925) Add setting for prompting user or not with subfile.
  - The new setting is `latex.rootFile.doNotPrompt`. When set to yes, the file used is decided according to `latex.rootFile.useSubFile`.
- (#1926) Fix `parseLatex`, which should return `undefined` when parsing fails.
- (#1927) Scan for already used environments for intellisense.
- (#1928) Watch external pdf for automatic reload.
- (#1932) Remove the `-cd` option of `latexmk`.
- (#1933) Add an option to disable the progress bar of the compilation of LaTeX `progress.enabled`.
- (#1943) Do not call `document.save()` in formatter.

## [8.7.1] - 2020-01-31

### Fixed
- (#1924) Try magic and active document before current root.

## [8.7.0] - 2020-01-30

### Added
- (#1913) Add recipe for rwn files.
- (#1914) Add option to highlight or comment out duplicate entries in BibTeX.
- (#1918) Declare `\Sexpr` syntax

### Fixed
- Fix scanning of \def for autocompletion.
- (#1876) First try current rootFile on editor change.
- (#1895) Fix subfiles building with `latexmk`.
- (#1895) Accept roofile without extension in subfiles.
- (#1902) Do not change the left panel on active editor change when `view.autoFocus.enabled` is set to `false`.
- (#1904) Always use '/' as path separator.
- (#1905) Fix keybinding regression for `ctrl+alt+[` and `+]`.
- (#1911) `vscode.DocumentSymbol` expects non-empty label.
- (#1915) Accept `@` in command names for intellisense.
- (#1921) Trim current token for hover.

## [8.6.0] - 2020-01-13

### Added
- (#1862) Syntax highlight for BibTeX style language (`.bst`).
- (#1878) Add config to scan `label={...}`.
- (#1891) Support asterisked sections in `shiftSectionLevel`.
- (#1894) Declare `\bibentry` as a citation command.

### Changed
- (#1872) Refactoring communications between the WebSocket server and PDF viewers.
- (#1874) Use typed proxies of workerpool.

### Fixed
- Fix double `/` in `latexindent -c` when using docker.
- (#1871) Override the spread mode specified in PDF documents with the current.
- (#1873) Do not use PWD entry as the cwd for fls files.
- (#1873) Use `cross-spawn` to run `latexindent`.
- (#1877) `\def` commands not passed to mathjax for preview.
- (#1886) Send `type: 'loaded'` to the extension host when PDF files loaded.
- (#1889) Fix outDir when containing `../`.
- (#1890) `latex.watch.files.ignore` not fully honored.
- (#1899) Activate all keybindings for `rsweave` id.

## [8.5.0] - 2019-12-17

### Added
- (#1826) Load (and cache) PDF preview directly from disk for `\includegraphics` completion.
- (#1843) Set the background color of the internal PDF viewer.
- (#1846) Add regex for `biber` to live compilation info.

### Changed
- (#1842) Rename `intellisense.preview.enabled` to `intellisense.includegraphics.preview.enabled`.
- (#1856) Add `*.syntex(busy)` and `*.synctex.gz(busy)` to files to clean.

### Fixed
- (#1841) Quotes break syntax highlighting in `.bib` files.
- (#1848) `close-env` fails at beginning of line.
- (#1851) Preview fails when anything starting with `\par` is inside a `\newcommand`.
- (#1853) Accept white space between dirs in `\graphicspath`.
- (#1860) Accept subdirectories when using subfiles.
- (#1863) Refactor `latexindent` detection.

## [8.4.2] - 2019-11-27

### Added
- (#1819) Add an open on the left mode for the viewer tab, controlled by `view.pdf.tab.editorGroup`.
- (#1817) Replace placeholders in external build arguments.
- (#1777) Declare a new language id for `.rnw` documents.
- (#1833) XeLateX live compilation progress.

### Changed
- (#1818) Do not clean `.ist` files.

### Fixed
- Fine tune some log messages.
- (#1793) Broken pdf viewer with inverted color.
- (#1822) Output window messes with LATEX Snippet Panel.
- (#1823) Drop the star when passing `newcommand`s to mathjax.
- (#1827) `subimport` `path.resolve` issue.

## [8.4.1] - 2019-11-16

### Fixed
- Version 8.4.0 did not show up in the marketplace.

## [8.4.0] - 2019-11-16

### Added
- (#1780) Add commands to sort and align bibtex files.
- (#1808) Add commands of `\bigl` and others.

### Changed
- (#1798) Tweaked promote/demote sectioning feature.
  - Please read the wiki [Sectioning](https://github.com/James-Yu/LaTeX-Workshop/wiki/Snippets#Sectioning) page for details. The actions of `ctrl+[` and `ctrl+]` are exchanged.

### Fixed
- (#1785) Do not reopen all documentations every time.
- (#1788) A lot of tweaks related to extension freezing issue.
- (#1804) Reconnect WebSocket after closed by sleep and wake.
- (#1805) Turn `\providecommand` into `\newcommand` for mathjax preview.

## [8.3.1] - 2019-11-04

### Changed
- (#1669) Activity icon. Sorry! @trevorgunn

## [8.3.0] - 2019-11-03

### Added
- (#1751) Add option to display progress as a notification.
- (#1765) Enable hover on `\includegraphics`.

### Fixed
- (#1589) Change symbol loading method.
- (#1600) Improve TikZ snippet panel.
- (#1676) Add Content Security Policy to WebViews.
- (#1680) Kill all child processes when killing their parents.
- (#1729) Scan for `newcommand`s in the whole project for preview.
- (#1734) Use Mutex for `latexindent`.
- (#1750) Chinese/Japanese characters in formula preview not rendered correctly.

## [8.2.0] - 2019-09-28

### Added
- (#1712) Texdoc completion.

### Fixed
- (#1644) Fix build brogress bar length.
- (#1655) Highlight `mpost` environments as plain tex.
- (#1679) Add `latexmk` recipe for `lualatex`.
- (#1689) Use local cpp grammar with bailout pattern.
- (#1711) Restrict some keybindings to latex files.
- (#1714) Declare `.ctx` files as a LaTeX filetype.
- (#1720) Fix parsing `\usepackage`.

## [8.1.2] - 2019-09-12

### Fixed
- Re-compile the project to include changed should be presented in `8.1.1`.

## [8.1.1] - 2019-09-12

### Changed
- (#1672) Revert #1639: "Check pdf writable status before building."
- Remove the snippet of `\setminus`.

### Fixed
- (#1653) Enables hover on refs with spaces in them.
- (#1661) Allow the same commands with different arguments.

## [8.1.0] - 2019-08-29

### Added
- Add a config `intellisense.update.aggressive.enabled` to disable parsing on text change.
- (#1504) Add a latexmk(rc) recipe.

### Changed
- (#1647) Syntax parsing is now done in a separate thread. Typing lag should be resolved.

### Fixed
- (#1555) Use caption of the main figure for outline.

## [8.0.7] - 2019-08-26

### Changed
- (#1635) Add `.nav` and `.snm` to `latex.clean.fileTypes`.

### Fixed
- (#1637) Find root only when active editor is tex-like.
- (#1639) Check pdf writable status before building.

## [8.0.6] - 2019-08-22

### Fixed
- (#1630) Synctex not working after refreshing pdf viewer.

## [8.0.5] - 2019-08-22

### Fixed
- Use the previous regex-based parsing if the extension cannot build AST properly.
- (#1612) Proper parsing of `tex` input tree.
- (#1621) Fix command completion from used packages.
- (#1621) Check argument list length of `renewcommand`.
- (#1623) Make reverse synctex keybinding configurable.
- (#1626) Refresh viewer after successful build with external command.

## [8.0.4] - 2019-08-20

### Fixed
- Latency before providing auto-completion items.
- (#1599) Fix handling of periods in multiline warnings.
- (#1612) Find root also search for `tex` parents.
- (#1614) Remove word count remnants.
- (#1615) Synctex stops working.
- (#1619) Regression: respect rootDir when dealing with \input

## [8.0.3] - 2019-08-19

### Fixed
- (#1607,#1608,#1609) Compilation cannot find root file within `\input` sub-files.

## [8.0.2] - 2019-08-19

### Fixed
- Extension hangs when `expl3-code.tex` is present in `.fls` file generated by compiler.
- Error debug messages complaining about undefined cached items.

## [8.0.1] - 2019-08-19

### Fixed
- Packaging issue in version 8.0.0 leads to unusable extension.

## [8.0.0] - 2019-08-19 - Engineering Update

### General
- LaTeX Workshop now use abstract syntax tree to analyze LaTeX projects and provide auto-completions.
- LaTeX Workshop now has a sibling extension, LaTeX Utilities, to hold features that are fancy yet not for everyone.

### Added
- Updated `pdfjs` for PDF viewer.
- (#1564) Make `toggleSelectedKeyword` work for multi-selections.

### Fixed
- (#1553) Allow double quotes to delimit values in bibtex.
- (#1581) PDF viewer not refreshing after build after a while.
- (#1585) Fix synctex after build with external viewer.
- (#1595) Mimic the way `\begin` is indented when closing an environment.
- (#1604) Prefer `source.cpp.embedded.latex` in `cpp`-minted env.

### Removed
- Formatted Paste, moved to LaTeX Utilities
- Word Count, moved to LaTeX Utilities
- Tikz Preview, moved to LaTeX Utilities

## [7.3.0] - 2019-07-31

### Added
- Add a config for always loading extra packages in auto-completion.
- (#1511) A snippet panel.

### Fixed
- (#1521) Fixed several bugs on `tikz` preview.
- (#1523) Syntax highlighting for `\autocites`.
- (#1524) Add beamer frames to the outline.
- (#1526) Add intellisense for code input `\lstinputlisting` and `\verbatiminput`.

## [7.2.0] - 2019-07-20

### Added
- (#1500,#1516) Add `tikzpicture` preview.
- (#1496) New `subfiles` package support.

### Changed
- (#1501) Use `base64url` to encode path.
- (#1509) Improve description of `formattedPaste` settings.

### Fixed
- (#1201) Catastrophic backtracking in `getGraphicsPath`.

## [7.1.0] - 2019-07-07

### Added
- (#1452) Paste formatted tables from csv.

### Changed
- (#1446,#1448) Build info panel tweaks.

### Fixed
- (#1415) Parse `label={...}` properly to get references.
- (#1428) Handle optional arguments in `newcommand` for `mathjax`.
- (#1430) Declare `\left`, `\right` as a pair.
- (#1433) Fix `.fls` and `.aux` file discovery with relative `outDir`.
- (#1433) Make structure and manger honor `texDirs`.
- (#1435) Remove a file from `texFileTree` when it is deleted.
- (#1440) Clear build progress on failure to build.
- (#1449) Add option to force recipe usage.
- (#1457) Honor `journaltitle` in citation browser.
- (#1458) Show `stderr` on recipe error.
- ($1463) Pass `DeclareMathOperator` to `mathjax`.

## [7.0.2] - 2019-06-07

### Changed
- (#1417) Change default math preview cursor symbol.

### Fixed
- (#1405) Add eol to `newcommand` file for mathjax.
- (#1412) Fix the width of textLayer on pdf viewer.
- (#1413) Fixed the menu of pdf viewer.

## [7.0.1] - 2019-05-24

### Fixed
- (#1389) Highlight `\verb` in math mode.
- (#1390) Update alternate keyboard selection.
- (#1397) Allow multi-line captions.
- (#1397) Allow one level of `{...}` inside caption.
- (#1399) Declare `displaymath` as a math environment.
- (#1395,#1402) Wait for Web Socket to open.

## [7.0.0] - 2019-05-17 - Work in the Cloud Update

### Added
- (#1326) Show label or given number to ref in hover on the ref.
- (#1345) Support single and double line font warnings.
- (#1357) Enable LaTeX Workshop to work with VSCode Remote Dev.

### Fixed
- (#1343) Make `buildOnFileChange` work regardless of the activeTextEditor.
- (#1354) Add new command defs from an input file to hover preview.
- (#1355) Add default trim mode setting.
- (#1363) Extend font warning second line to other warnings.
- (#1363) Locate matching pair for inline environments.

## [6.5.1] - 2019-04-28

### Fixed
- (#1298,#1333) Fix structure analyzer with inclusion cycle.
- (#1319) Use `PWD` to resolve paths in `.fls` files.
- (#1331) Keep cursor >= 0 when shifting section.
- (#1333) Auto build from imported files work again.
- (#1334) Don't throw error when `synctexjs` fails.
- (#1341) Handle cycle in `clearTeXFileTree`.

## [6.5.0] - 2019-04-25

### Added
- (#1307) Add some details into `commands.json`.
- (#1310) Provide details for `environments.json`.
- (#1321) Make go back and forward buttons on pdf viewer work with SyncTeX.

### Fixed
- (#710) Highlight fenced code block with extra `{ }` argument.
- (#1298) Prevent circular dependencies in manager.
- (#1302) Remove label from `equation` and `align`.
- (#1313) Load `latex-mathsymbols_cmd.json` by default.
- (#1322) Less escapes in wordpattern.

## [6.4.0] - 2019-04-11

### Added
- (#1263) Add accent commands.
- (#1265) Make port of viewer configurable.
- (#1267) Add label field to `AutocompleteEntry`.
- (#1273) Configure the editor group for the tab viewer with `view.pdf.tab.useNewGroup`.

### Changed
- Deprecate the old action dropdown, replace with side view.

### Fixed
- Improve regex for hovering on inline maths.
- Make auto build interval configurable, not 1000ms.
- Skip postprocessing (e.g., refresh viewer) if latexmk is skipped, i.e., no change.
- (#1272) Root file detection with auto build and `subfiles` package.
- (#1278) Support preview for `$$...$$`.
- (#1281) Allow using previous recipe by default, configurable at `latex.recipe.default`.
- (#1288) Use file pooling for `chokidar` watch.
- (#1290) Expand all placeholders.

## [6.3.0] - 2019-04-01

### Added
- Add intellisense for the figure environment.
- Support file completion for import package.
- (#1234) Add `Save without Building`.

### Fixed
- Fix external reverse synctex on Windows.
- (#922) Use scala syntax inside `scalacode` environment.
- (#1235) Declare `[a-zA-Z]*` matrix as array environments.
- (#1249) Intellisense for custom environments.
- (#1250) Support Ctrl+click to open an included file.
- (#1237) Support `graphicspath` for `includegraphics` completion.
- (#1252) Highlight `IEEEeqnarray`.
- (#1254) Look for output files in `outDir` instead of `rootDir`.
- (#1259) Highlight `begin`...`end` inside `macrocode` (doctex).

## [6.2.2] - 2019-03-15

### Fixed
- (#1231) Never watch `/dev/null`.

## [6.2.1] - 2019-03-13

### Fixed
- (#1228) Check if depending files exist before watching them.

## [6.2.0] - 2019-03-12

### Added
- (#1199) Use the last compilation to find and watch all the dependencies.
- (#1218) Syntax highlighting in `doctex`.

### Fixed
- (#1210) Respect output dir when refreshing viewer.
- (#1211) Accept utf8 chars in paths.
- (#1212) Try/catch the call to `pdflatex` at init.
- (#1216) Do not inject commented `def` in mathjax.
- (#1221) Do no parse the command paren inside `newcommand`.
- (#1222) Use `ctrl+l` `ctrl+l` for `expandLineSelection`.
- (#1222) Use `ctrl+l` `ctrl+m` for `editor.action.toggleTabFocusMode`.
- (#1224) Highlight more citation commands.

## [6.1.0] - 2019-03-05

### Added
- Support `\def` in addition to `\newcommand` in mathjax preview.
- (#731) Narrow search of root file with two new settings to include or exclude files from the root file search mechanism
  - `latex.search.rootFiles.include`
  - `latex.search.rootFiles.exclude`
- (#1188) Add support for sage environments.
- (#1191) QoL changes to make log messages better.
- (#1192) Literate haskell.

### Changed
- (#1180) A complete rework of killing LaTeX mechanism.
- (#1155) Use workspace directory as `cwd` in external build command.

### Fixed
- Fix list of suggestions for surrounding text.
- Capture footnote content as `entity.name.footnote.latex`.
- (#1185) Declare `\inlinecode` and code environment as `verbatim`.
- (#1206) Make the width of math preview on hover larger.

## [6.0.0] - 2019-02-19 - QoL Update

### Added
- (#484) Add support for [magic TEX or BIB options](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#magic-comments).
- (#1141) Add a `texdoc` interactive command.
- (#1157) LaTeX compilation progress monitor.
- (#1161) Word-based reverse synctex.
- (#1178) Add a new config `latex.texDirs` to search for input TeX in extra directories.

### Changed
- Remove deprecated configs.
- Rename `hoverPreview` configs to `hover.preview`.
- Rename `latex.clean.run` to `latex.autoClean.run`.
- Combine `latex.clean.enabled` and `latex.clean.onFailBuild.enabled`.
- Combine `latex.autoBuild.onSave.enabled` and `latex.autoBuild.onTexChange.enabled` as `latex.autoBuild.run`.
- Add `latex.clean.subfolder.enabled` to determine whether subfolders should be cleared.

### Fixed
- (#1135) Parse `biber` warning.
- (#1137) `%DIR%` in `outDir` works with docker.
- (#1155) Define an [external build command](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#external-build-command).
- (#1156) Follow cursor in TeX structure panel.
- (#1162) Include environment variables to building tools.

## [5.21.0] - 2019-01-24

### Added
- (#1131) A new config `chktex.run` to define upon which events `chktex` should execute.

### Changed
- Rename `latex.outputDir` to `latex.outDir` for consistency with LaTeX compiler arguments.
- (#1131) Rename `chktex.interval` to `chktex.delay` for a better summary.

### Fixed
- (#1127) Not throw when a parse error occurs in `synctexjs`.
- (#1132) Do not provide 'Definition' for graphics files.
- (#1134) Use `path.resolve` to replace `path.join` when applicable.
- (#1137) Use `%DIR%` as the default value for `latex.outDir`.

## [5.20.2] - 2019-01-20

### Fixed
- (#1114) No trailing slash in `outpurDir`.

## [5.20.1] - 2019-01-15

### Fixed
- Correctly parse `putbib` bib-files.

## [5.20.0] - 2019-01-15

### Added
- Parse bib files provided by `putbib`.
- (#1063) Allow multiple viewers for the same document.
- (#1079) Improve `outdir` handling. A new placeholder `%OUTDIR%` is included.
- (#1096) A new config to clear Compiler logs before each step of recipe.
- (#1102) A new config to specify additional directories to look for .bib files.

### Changed
- Enable synctexjs by default.
- Make command and reference completion local to the LaTeX project.
- (#1085) Make intellisense local to a root file.

### Fixed
- (#1070) Synctex to the already opened tex file when using symlinks.
- (#1071) New command definitions inserted at incorrect position.
- (#1077) Set the default external PDF viewer based on the OS.
- (#1082) Only latex id at the beginning of a fenced block.
- (#1084) Backward synctex when trim mode.
- (#1089) Improve the accuracy of synctex.
- (#1092) A command must start with `\`.
- (#1095) Remove unnecessary workspace root of file caching.
- (#1095) Call findRoot when active editor changes.
- (#1100) Raise an error when viewing a non existing PDF file.
- (#1109) Clear selection after inserting citation from browser.

## [5.19.0] - 2018-12-21

### Added
- Add arguments to command definition.
- Hover on a command to access the package documentation.
- (#625) Hover on a package name to access his documentation.
- (#1030) Support a builtin `synctex` functionality.
- (#1056) Support math preview on `\ref` with multiple input files.
- (#1058) Add commands of `intcalc` package.

### Fixed
- Avoid duplicates in command intellisense.
- (#609,#669,#801,#837,#857,#883,#1059) Define `wordPattern` of LaTeX.
- (#970,#1059) Tab out of snippets.
- (#1060) Hilghlight `xltabular` as `tabular`.
- (#1061) Scan `newcommand`s for intellisense.
- (#1074) Avoid viewer title duplication.

## [5.18.0] - 2018-12-10

### Added
- Comprehensive `cite` and `ref` intellisense improvements.
- (#1018) Add placeholder `%TMPDIR%` to `latex.outputDir`.
- (#1022) Add documentation for `pdf.js` shortcuts.
- (#1024) Add support for `pyglist` env (`verbments` package).
- (#1028) Add command `view in external viewer` to menu.
- (#1034) Add intellisense for wrapper packages.
- (#1036) Intellisense: Add one entry per command signature.
- (#1051) Add entries from thebibliography to citation intellisense.

### Fixed
- Fix missing argument in citation.browser.
- (#1015) Fix formatter not respecting tab and space settings due to wrong option.
- (#1025) Fold `\part`.
- (#1026) Collapse `\begingroup`...`\endgroup`.
- (#1027) Syntax for `lstinline`.
- (#1031) Fix sorting `completionItems` of commands in dropdown.
- (#1032) Fix citation completion for keys containing : - _ and .
- (#1041) Display current file hierarchy in vs code outline.
- (#1046) Do not capture strings ```...''`.
- (#1048) Fix reverse synctex for odd and even spread mode.
- (#1054) Fix trim mode with annotations.

## [5.17.3] - 2018-11-24

### Fixed
- Hide the sidebar notification green dot of pdf viewer.
- (#995) Add syntax support for `mintinline`.
- (#995) curly braces vs pair of same delimiters.
- (#1006) Focus on active editor after switching to latex view.
- (#1009) By default disable auto showing the side bar view.

## [5.17.2] - 2018-11-21

### Fixed
- Reverse synctex not working due to encoded file path.

## [5.17.1] - 2018-11-21

### Fixed
- A better view switching logic between tex files and git-diffs of them.

## [5.17.0] - 2018-11-21

### Added
- (#992) Provide command intellisense for selected packages.
  - Two new config items are included, namely `intellisense.unimathsymbols.enabled` and `intellisense.package.enabled`, defaulted `false`.
  - For command and environment intellisense of particular contents, enable the corresponding config.
  - Please report if you experienced significant delay when activating the extension.
- (#1002) Add a `view.autoActivateLatex.enabled` config to auto-show latex view when switching back from non-tex files.

### Fixed
- (#987) Fix error loading pdf paths with `#`.
- (#990) Add `documentclass` preamble folding
- (#994) Restore trimming option upon pdf refresh.
- (#997) Hover preview accepts `(re)newcommands*` with the star.

## [5.16.0] - 2018-11-15

### Added
- (#673) Customizable docker image.
- (#813) `message.latexlog.exclude` to exclude compiler messages.
- (#875) Hover preview includes all `(re)newcommands`.
- (#975) Provide `bind.altKeymap.enabled` config to use alternative `ctrl`+`l` `alt`+ keymap.
- (#982) Add `%TMPDIR%` placeholder to tools.

### Fixed
- Better section and LaTeX environment folding.
- Show status bar icon when switching back from non-tex files.
- Consistent viewer trimming selector.
- Wrong bib file definition location.
- (#765) `syncTeX` upon build finished, beside viewer loaded.
- (#976) Only insert `\item` when cursor is at the end of an line or followed by only spaces.

## [5.15.3] - 2018-11-12

### Fixed
- Retain TeX sidebar badge when focusing PDF viewer.

## [5.15.2] - 2018-11-12

### Fixed
- Unified PDF viewer dropdown menu style.
- (#957) Allow `latex.outputDir` to be an absolute path.
- (#972) Add space after `\item` in snippets.

## [5.15.1] - 2018-11-07

### Fixed
- Catch error when parsing theme files.
- (#956) Hang when magic comments form a loop.

## [5.15.0] - 2018-11-05

### Added
- (#944) Add content folding.

### Changed
- (#947) Change the displayed name of this extension to `LaTeX`.

### Fixed
- (#945) De-indent `\documentclass{}`.

## [5.14.2] - 2018-11-03

### Fixed
- (#941) PDFJS library not bundled correctly, again.

## [5.14.1] - 2018-11-03

### Fixed
- (#941) PDFJS library not bundled correctly.

## [5.14.0] - 2018-11-03

### Added
- (#909) Add [View on pdf] link in hover on \ref.
- (#922) Add highlighting support for `VerbatimOut`.
- (#935) Upgrade `pdfjs` to 2.0.943.

### Changed
- (#901) Hover preview not render cursor at the beginning and at the end.
- (#933) Clean output directory recursively.

### Fixed
- (#894) Use '/' as the path separator for file completion.
- (#905) Hover preview stop rendering cursor in label.

## [5.13.0] - 2018-10-18

### Added
- (#890) Offline math hover preview.

### Fixed
- Extension distribution size is reduced.
- (#885) No `--max-print-line` with `xelatex` and `lualatex`.
- (#886) Understand `\InputIfFileExists` as an `\input` command.
- (#889) Item-on-enter issue with Vim extension.

## [5.12.2] - 2018-10-14

### Fixed
- Bundle a minimal MathJax with the extension.
- (#873) Enable scaling of math preview in hover.

## [5.12.1] - 2018-10-14

### Fixed
- Not able to preview maths in LaTeX environments.

## [5.12.0] - 2018-10-14

### Added
- Insert `\item` on enter again.
- Auto-completion for file path.
- (#864) Use webpack for release bundling.
- (#867) Hover on LaTeX for math preview.

## [5.11.1] - 2018-10-05

### Fixed
- (#849) Use WebView API for PDF content persistency.

## [5.11.0] - 2018-10-05

### Added
- More keyboard shortcuts `@tecosaur`.
- (#809) Implement keybindings for snippets.

### Fixed
- More syntax highlight improvements.
- (#816) Ignore outputDir setting when directly viewing PDFs.

## [5.10.2] - 2018-09-25

### Added
- Add more text formatting commands to latex.json.
- Add more math symbols as snippets.
- (#789) Add shortcut ctrl/cmd+alt+x to activate latex badge.
- (#809) Use `@v` + letter for variants of greek letters.

### Fixed
- (#796) Add extra file stack handling for MikTeX.
- (#803) Use dedicated scopes for curly/round brackets.
- (#806) Make commands available for surrounding text.
- (#808) Chmod 755 instead of 777 for potential security flaw.
- (#819) Associate `.ltx` with TeX filetype.
- (#821) Make underscore excluded in `constant.character.math.tex`.

## [5.10.1] - 2018-09-18

### Fixed
- (#796) Prevent build commands from breaking lines in output.
- (#796) Fix wrong handle of non canonical `EOL` in log messages.
- (#797) Fix `undefined` depth error in LaTeX structure.
- (#798) Select line in `gotoSection`.
- (#802) Add contextual menu back, enabled by a new configuration item.

## [5.10.0] - 2018-09-14

### Added
- Add command view to sidebar.
- (#768) Meaningful symbol definitions.
- (#790) Added snippet for Greek letters to detail.
- (#792) Enable activity bar item only on LaTeX projects.
- (#794) Enable snippets usage on selected text.

### Fixed
- (#786) Correct file path parsing in LaTeX log.
- (#788) Make tooltips honor message line breaks.

## [5.9.0] - 2018-09-09

### Added
- Show LaTeX project structure in a new activity bar badge.
- Adapt to new vscode `1.27` platform-specific keybind.
- (#730) Log parsing improvements.
- (#733) Make `outputDir` understand placeholders.
- (#743) Allow any filetype extension to be declared as latex.
- (#744) Automatically trigger intellisense after inserting a snippet and selected commands.
- (#780) Add more `amsmath` environments to snippets.

### Changed
- Remove snippets placeholders default values.
- Show outline of the current file in built-in `outline` view.

### Fixed
- (#752) Fix outline when using \input with a full path.
- (#781) Handle multiline log messages.
- (#783) Re-open all opened PDF upon activation.

## [5.8.2] - 2018-08-16

### Fixed
- Temporarily remove `enter-to-insert-\item` feature.

## [5.8.1] - 2018-08-15

### Fixed
- (#739) Correctly insert linebreak with ENTER outside `itemize` environment.

## [5.8.0] - 2018-08-15

### Added
- Add config to enable file cleaning after a failed building process.
- (#705) Support `\import` as well as `\subimport` for outline and build.
- (#719) Supersed 'Enter' to automatically add `\item` while itemizing.
- (#720) Support nested `subimport`s `@Moberstein`.

### Fixed
- README contents.
- Make sure magic comments start at the beginning of the line.
- (#696) Make outline handle title with nested braces.
- (#723) Finding root file when using nested `subimport`.
- (#728) Do not autocomplete `\end`.
- (#736) Do not build upon file change if building, suppress next build within 1s.

## [5.7.0] - 2018-07-24

### Added
- (#701) Add config to disable badbox information.
- (#710) Add syntax support for latex fenced block in markdown.
- (#717) Auto show PDF on left click in file explorer.

### Fixed
- Make sure to ignore all comments in Outline.
- (#713) Make sure to ignore comments when finding dependencies.

## [5.6.1] - 2018-07-09

### Fixed
- (#693) Correct pdf tab focus logic.
- (#694) Adopt new grid layout.

## [5.6.0] - 2018-07-09

### Added
- Add a new config to ignore too large bib-files.
- (#499) Add chktex auto-fix for `$...$` and `$$...$$`.
- (#658) Add import package support to outline.
- (#666) Add a new pattern for badbox warning.
- (#668) Add `(){}[].,` to macro boundaries.
- (#684) Support multiple root file.
- (#686) Smart `.chktexrc` location detection.

### Fixed
- Fix a problem preventing `latexindent` working on directories with spaces.
- (#556) Do not start build for terminated process
- (#653) Honor insertSpaces in latexformatter.
- (#663) Fixed documentation for `bigvee` and `bigwedge`.
- (#667) Complete `\hyperref[]` with labels.
- (#668) Fix math keyword highlighting followed by `_`.
- (#682) Don't lose focus for pdf tab preview.

## [5.5.1] - 2018-06-06

### Fixed
- (#635) Outline update with `autoBuild.onSave` disabled.
- (#646) Reference completion with multiple files.
- (#648) Wrap `vscode.window.showErrorMessage` to respect the config.
- (#652) Nested maths environment highlighting.

## [5.5.0] - 2018-05-22

### Added
- (#600) Provide a command to view in vscode tab.
- (#613) Add auto synctex after build config.


### Fixed
- Bibtex incorrectly parse entries without delimitors.
- (#628, #629) More fixes on syntax highlighting.
- (#634) Ignore labels defined in comments.
- (#637) Use detached mode when opening external viewer.
- (#640) Prompt title and author in citation hover hint

## [5.4.0] - 2018-05-16

### Added
- (#618) Snippets with no leading `\`.

### Changed
- (#604) Ignore `"` in LaTeX syntax highlighting.

### Fixed
- (#595) Handle nested `{...}` in macro arguments.
- (#606) Declare cases as a math environment.
- (#609) For maths snippets, use `$0` as the placeholder for the body part.
- (#615) Make syntax aware of optional arguments.
- (#624) Syntax highlighting for `&` and `\\`.

## [5.3.3] - 2018-05-06

### Added
- (#565) Format bibtex with formatter.

### Changed
- (#597) Do not highlight strings in .bib files @jlelong.
- (#598) Autocomplete for `\left` command @jcmonteiro.
- (#603) Remove double `"` matching highlight.

### Fixed
- Fix `not using scheme` warning when activating extension.
- (#559) Double encode `&` in url to prevent browser auto-decode.
- (#566) Recognize indented section headers in outline.
- (#567) Remove `frame` in environment hint and add in commands.
- (#586) Ignore sections after `\end{document}` in outline.

## [5.3.2] - 2018-05-03

### Changed
- (#585) Merge latex-memoir into latex @jlelong.

### Fixed
- (#575) Fix unbalanced strings in syntax highlights @jlelong.
- (#576) Remove `set -euo` in linux docker executables.
- (#577) Disable latexindent check when docker enabled.
- (#579) Do not capture `{...}` groups @jlelong.
- (#581) Fix no completion for double backslash @jlelong.
- (#582,#583) Further LaTeX syntax re-organize @jlelong.

## [5.3.1] - 2018-04-25

### Added

- (#552) Add multicursor to current environment name @jlelong.
- (#573) Add environments and package completion @chantisnake.

### Fixed
- (#181) Correct in-tab view option.
- (#568) Prevent completion for `\\`.

## [5.3.0] - 2018-04-16

### Added

- Experimental docker support.

### Fixed
- (#546) More syntax highlighting adjustments @jlelong.

## [5.2.0] - 2018-04-14

### Added
- (#441) Add `%TEX%` placeholder for external synctex.
- (#511) Experimental texify log parsing.
- (#529) Turns the step name into the program name @acristoffers.
- (#532) Add Close / Navigate to environment actions @jlelong.
- (#534) Complete \sqrt as \sqrt{x} using snippets @jlelong.

### Fixed
- (#533) Set working directory when calling LaTeX binaries @Arxisos.
- (#539) Correct magic comment description.

## [5.1.0] - 2018-04-10

### Added
- (#441) Add syncTeX to external experimental support.
- (#512) Show recipe progress in statusbar @oerpli.
- (#513) Add kill process function.

### Fixed
- (#520) View correct PDF with `outputDir` set.
- (#521) No `bib` will be executed without a `%! BIB program` comment @acristoffers.
- (#522) Fix highlighting of {\\{...\\}} blocks @jlelong.
- (#523) Fix key/value highlighting in bib files @jlelong.
- (#526,#527) Dependency updates @thetric.

## [5.0.4] - 2018-04-04

### Added
- (#496) Add options to show/hide messages with different severities.
- (#500) Add open compiler log option to error message.

### Fixed
- (#504) Respect recipe when magic comment is given @acristoffers.
- (#507) Does not show warning after immigration to recipe system.

## [5.0.3] - 2018-03-26

### Fixed
- (#494) Pick viewer in default case where 'viewer' is 'none'.

## [5.0.2] - 2018-03-25

### Fixed
- (#489) Magic comment program with undefined arguments.

## [5.0.1] - 2018-03-25

### Added
- (#482) Show info on how to change default pdf viewer.
- (#483) Auto change toolchain to recipe.

### Changed
- Overhaul `All Actions` quickdrop menu.

### Fixed
- Correct building process fatal error status bar icon.
- (#485) Formatter works for paths with spaces.

## [5.0.0] - 2018-03-24 - Recipe Update

### Added
- (#426) `\usepackage` intellisense.
- (#441) Unofficial external PDF viewer support.
- (#441) Selectable view icon viewer target.
- (#447) Multiple embedded PDF viewer improvements @chatziko.
- (#459) Make arguments for latexindent configurable @project-pp.
- (#467) Intelligently add root magic comment @oerpli.

### Changed
- Use the new notification UI of vscode.
- (#457,#468,#471,#473,#481) Multiple LaTeX syntax highlighting improvements @jlelong.
- (#477) Change the original toolchain system to a new recipe system.
  - Please refer to the updated README on how to migrate.

### Fixed
- (#449) Fix a typo in snippet for 'cline' command @hy950831.

### P.S.
- Why skipping version 4? Four is sometimes considered an unlucky number in Chinese. XD

## [3.14.0] - 2018-02-22

### Added
- (#415) Support document range formatting @zoehneto.
- (#424) Support latex specific formatting settings @zoehneto.
- (#416) Clean auxillary files and retry once on build errors @schrej.

### Changed
- Disable surrounding command by default.

### Fixed
- (#401) Use `127.0.0.1` instead of `localhost`.
- (#417) Improved synctex accuracy @chatziko.
- (#418) Focus the iframe of the pdf viewer to enable keyboard navigation @chatziko.
- (#419) Handle external links in the embedded viewer @chatziko.


## [3.13.0] - 2018-01-30

### Added
- (#332) Ctrl click on file name to navigate.
- (#372) Show dropdown menu on which file to build.
- (#383) Make path for latexindent configurable.

### Fixed
- (#381) Fix current working directory issue when formatting on windows.

## [3.12.3] - 2018-01-10

### Fixed
- (#373) Toolchain does not append `-pdflatex=pdflatex` to `latexmk`.

## [3.12.2] - 2018-01-09

### Fixed
- Normalize path separator to *nix-style `/` on Windows.

## [3.12.1] - 2018-01-09

### Fixed
- (#368) Formatter now respect vscode indent settings @zoehneto.
- (#369) The color of PDF viewer can be controlled.
- (#371) `latexmk` uses magic command to select compiler.

## [3.12.0] - 2018-01-05

### Added
- (#363) Integrate nfode/latex-formatter with fix for indent.log @zoehneto.

### Fixed
- (#359) Fix PDF viewing with ipv6 address @caidao22.
- (#361) Comments may contain latex commands that should not be read @jsinglet.
- (#365) Remove `$` auto-pairing.

## [3.11.0] - 2018-01-02
### Added
- Add conflict extension check.
- (#240) View any PDF file from the context menu.
- (#249) Clean auxiliary file now respect globs.
- (#355) Add region markers support @Ash258.

### Changed
- (#286) Hide print buttons when PDF is viewed in vscode.

## [3.10.1] - 2017-12-26
### Fixed
- (#346) `\input{file.tex}` need not to be at the row start to be included in outline.
- (#353) `\begin{comment}` syntax highlight.

## [3.10.0] - 2017-12-19
### Added
- (#315) Highlight the location of SyncTeX in PDF viewer.

### Fixed
- Tweak SyncTeX accuracy.

## [3.9.1] - 2017-12-13
### Changed
- Tweak toolbar show/hide behavior and threshold.

## [3.9.0] - 2017-12-11
### Added
- (#335) add an option to specify the browser used to view PDF file @Lencerf.

### Changed
- (#343) Move mouse on viewer to show toolbar, revert viewer style.

### Fixed
- (#341) Clarify `latex.outputDir` usage.

## [3.8.0] - 2017-12-01
### Added
- (#321) LaTeX inline math completion @innerlee.
- A new config item to disable new version message.

### Fixed
- (#325) Parse paths with hashtag.
- (#333) PDF viewer with new theme has 2px border overflow.

## [3.7.0] - 2017-11-21
### Added
- (#308) Multi-root support @innerlee.
- (#313) `chkTeX` now supports `.chktexrc` config @innerlee.

### Changed
- (#314) Empty bibliography warning is now omitted @innerlee.
- (#320) All LaTeX Workshop commands also activate the extension despite document type.

### Fixed
- (#312) SyncTeX fails if the current position locates on last line which is empty @innerlee.
- (#323) Irregular LaTeX log lead to trailing whitespace in file stack.

## [3.6.2] - 2017-11-15
### Changed
- (#283, #302) Update README @lippertmarkus.
- (#305) Change PDF viewer theme to be brighter. This theme reduces eye strain when refreshing PDF @innerlee.

## [3.6.1] - 2017-11-06
### Fixed
- (#297) PDF path can contain `#` now.

## [3.6.0] - 2017-11-01
### Added
- (#288) New `intellisense.surroundCommand.enabled` config to control command surrounding feature.

## [3.5.5] - 2017-10-03
### Fixed
- (#284) Fix CMap URL to display CJK languages correctly @maruta.

## [3.5.4] - 2017-09-29
### Changed
- (#275) New icon @bartosz-antosik. Nice!

## [3.5.3] - 2017-09-19
### Changed
- (#272) Consider TeX files as proper project sources.

### Fixed
- (#268) Saving document actually changes outline.

## [3.5.2] - 2017-09-11
### Fixed
- Better expl3 syntax highlight not shipped in `3.5.1`.

## [3.5.1] - 2017-09-11
### Changed
- (#261) Use dedicated output panel to display LaTeX compiler logs.
- (#267) Better expl3 highlight with `@`.

## [3.5.0] - 2017-09-06
### Added
- (#256) `document`, `frame`, `columns` and `column` environments.
- (#259) Expl3 colorizer.

### Fixed
- (#257) Use "editorTextFocus" as key-bind condition.
- Wrong content surrounded by command on long lines.

## [3.4.2] - 2017-09-04
### Fixed
- (#244) `opn` won't open web browsers for PDF viewer. Prompt instead.

## [3.4.1] - 2017-08-31
### Fixed
- (#244) Dev console error when switching to non-editor panes.
- (#254) Use dirty logic to replace vscode-vim-specific command for LaTeX command surrounding.

## [3.4.0] - 2017-08-30
### Added
- (#246) Surround selection with latex command by pressing `\`.

### Fixed
- Intellisense citation browser overridden by word hint.

## [3.3.4] - 2017-08-28
### Fixed
- (#247) Fix pdf viewer default setting won't work issue.

## [3.3.3] - 2017-08-22
### Fixed
- (#235) Add surrounding pairs for opening ` and closing '.
- (#239) Support `label={some-label}` type reference.
- (#242) Correct bibtex parser position offset.
- (#245) Log parser file resolve from root instead of stack.

## [3.3.2] - 2017-08-15
### Fixed
- Reverse synctex opens `tex` file in the wrong view column when bottom panel is visible.

## [3.3.1] - 2017-08-14
### Fixed
- (#220) Continuous non-stop parsing `tex` file.

## [3.3.0] - 2017-08-08
### Changed
- Use `pdfjs-dist` to reduce codebase size.
- Refresh PDF with pdf.js viewer API to reduce flashing time.

### Fixed
- (#221) Open synctex document in non-pdf-viewer column.

## [3.2.2] - 2017-08-07
### Fixed
- (#229) Tab bar view-pdf icon is back.

## [3.2.1] - 2017-08-03
### Fixed
- (#223) Multi-file LaTeX log messages point to wrong file.

## [3.2.0] - 2017-08-02
### Added
- (#219) Show all symbol definitions within a document and the project.
- (#224) Count single file words and floats when not opening the root LaTeX file.

## [3.1.2] - 2017-07-31
### Fixed
- (#216) Wrong status bar display when killing child processes.
- (#217) PDF tab viewer over UNC cannot refresh.

## [3.1.1] - 2017-07-30
### Fixed
- (#214, #215) PDF viewer not properly registered in extension.

## [3.1.0] - 2017-07-29
### Added
- (#142) LaTeX project word counter by TeXCount.
  - Windows users are suggested to upgrade [TeXCount](http://app.uio.no/ifi/texcount/download.html) to version 3.0.1.
- (#212) Add `newcommand` etc definition support.

### Fixed
- (#211) Tab viewer support UNC address

## [3.0.1] - 2017-07-28
### Fixed
- (#208) Extension initialization failed when no root file is found.

## [3.0.0] - 2017-07-27 - Language Update
### Added
- (#184) Add LaTeX language hover and definition providers.
- (#202) Extra biblatex entry types.
- (#204) Basic auto-indent feature provided by VS Code.

### Changed
- (#205) Re-construct latex log parser. Credited to [`@Vogel612`](https://github.com/Vogel612).

### Fixed
- (#203) Multiple optional parameter support to `\cite`.

## [2.10.2] - 2017-07-15
### Fixed
- (#195) `lstlisting` messes up syntax highlight.
- (#196) Citation browser auto-complete replaces all characters in curly brackets.

## [2.10.1] - 2017-07-13
### Changed
- (#190) Now use a standalone file under extension folder to perform version check.

### Fixed
- (#193) Duplicated entries in quick menu if Action is invoked multiple times.
- Click `Close` on new version alert redirects to GitHub repo.

## [2.10.0] - 2017-07-06
### Added
- (#182) Use `|` as delimiters for outline section tags (`view.outline.sections`) in the same level.
- Supporting entries in the dropdown quick menu.
- Version update notice with small candies.

### Fixed
- (#183) Citation browser does not replace the character already input in `\cite{xxx`.

## [2.9.1] - 2017-07-04
### Fixed
- Extension unable to activate due to typo in retrieving outline configuration item.

## [2.9.0] - 2017-07-04
### Added
- (#177) Add a new configuration item to customize LaTeX outline structure.

### Changed
- (#178) LaTeX outline only show on LaTeX documents.
  - This requires an API from Insider channel. Public channel users need to wait for a while.
- Rename `latex-workshop.viewer` configs to `latex-workshop.view`, and move existing configs to `pdf` sub-domain.

## [2.8.1] - 2017-07-02
### Fixed
- (#132, #173) Citation browser won't search if any bibtex item does not have title attribute.
- Extension activate upon vscode start regardless of language setting.

## [2.8.0] - 2017-06-30
### Added
- (#175) Add LaTeX document outline. Credited to [`@jsinglet`](https://github.com/jsinglet).

## [2.7.1] - 2017-06-29
### Changed
- (#176) Use a new bibtex parser to better handle double quoted strings in bib files.

## [2.7.0] - 2017-06-26
### Added
- (#169) Add new configuration entry `latex.additionalBib` to auto-complete globally included `.bib` files.

### Fixed
- Chokidar watches the same file multiple times if multi-included.

## [2.6.0] - 2017-06-19
### Added
- (#168) Add new placeholder `%DIR%` in toolchain.

## [2.5.1] - 2017-06-16
### Fixed
- (#167) Linter shows no linting message if `chktex` returns warnings.

## [2.5.0] - 2017-06-13
### Added
- (#156) Two new config items to control the default parameters for PDF viewer.

## [2.4.1] - 2017-06-12
### Changed
- (#158) Use theme color to colorize status bar messages.

### Fixed
- (#161) Add auto pairing for `$` and `.
- (#155) Remove `lstlisting` specific highlight rules.

## [2.4.0] - 2017-05-30
### Added
- (#154) Support `# !TeX program` magic comment.

### Changed
- (#141) `itemize` and `enumerate` intellisense append an `\item`.

## [2.3.3] - 2017-05-25
### Fixed
- (#144) Typo on multline environment.

## [2.3.2] - 2017-05-17
### Changed
- More debug info when killing previous building process upon saving files.

## [2.3.1] - 2017-05-08
### Fixed
- VS Code 1.12 makes pdf-viewer iframe oversize horizontally.

## [2.3.0] - 2017-05-06
### Added
- (#127) Reference intellisense now provide context in completion item details.

## [2.2.1] - 2017-04-25
### Changed
- (#128) User configurable citation intellisense method (inline or browser).
- (#128) Citation browser search-able by authors and citation keys.

## [2.2.0] - 2017-04-25
### Added
- Default keyboard shortcuts for all LaTeX Workshop commands.

## [2.1.4] - 2017-04-17
### Fixed
- (#116) Fix mis-read outputDir config.

## [2.1.3] - 2017-04-17
### Fixed
- (#115) Fix reading wrong outputDir config when creating paths.

## [2.1.2] - 2017-04-17
### Fixed
- (#114) Clean project also clean files in outputDir.
- (#108) Correctly parse bib entries surrounded by quotes.

## [2.1.1] - 2017-04-13
### Fixed
- (#110) Temporarily solve MikTeX chktex return code 1 problem.
- (#104) Support non-pdflatex toolchain in latexmk.

## [2.1.0] - 2017-04-11
### Added
- (#103) Add an `outputDir` config to define the LaTeX output directory.

### Fixed
- (#105) Building multi-root project would always compile the same file.

## [2.0.0] - 2017-04-10 - Configuration Update
### Added
- (#90) Citation intellisense display item customizable in configurations.
- (#90) A citation browser accessible from Actions or Quick Menu.
- (#93) SyncTeX path now configurable in configurations.
- (#96) Alerts when obsolete configuration items are found.

### Changed
- (#92) Quick Menu items are prepended with `LaTeX Workshop` for easier access.
- (#96) All configuration items are renamed.
  - This is a backward incompatible change. Users are required to re-set their configurations.
- (#96) All commands use `spawn` instead of `exec` for more stable cross-platform experience.

## [1.4.2] - 2017-04-06
### Changed
- (#88) Raw LaTeX log now displays in a separate new tab.
  - Raw log content will refresh in real-time.

## [1.4.1] - 2017-04-05
### Fixed
- (#86) Forward SyncTeX from LaTeX to PDF now works properly.

## [1.4.0] - 2017-04-04
### Added
- (#79) Environments can be autocompleted with `\`.
  - For example, `\begin{align}\n\n\end{align}` will show after typing `\align` or shorter.
- (#81) A quick menu showing all LaTeX Workshop commands.
  - It can be invoked by clicking the status bar item, right click any `LaTeX` file, or using `latex-workshop.actions` command.
- (#84) Add many uni-math symbols to intellisense.

### Changed
- (#81) Clicking status bar item can show the previous status, as well as the quick menu.
- (#81) Some commands are removed in the right click context menu.

## [1.3.0] - 2017-04-03
### Changed
- (#71) Extension now uses `chokidar` to monitor file changes.
  - This change will significantly reduce disk IO when intellisense is frequently triggered.

### Fixed
- (#74) Fix `.tex` extension name not properly removed when replacing `%DOC%` in toolchains.

## [1.2.2] - 2017-03-31
### Added
- (#68) `ChkTeX` code action for `12: interword space`.

### Fixed
- (#67) `ChkTeX` ignores configuration and lints upon changing active editor.

## [1.2.1] - 2017-03-30
### Fixed
- (#65) Commands with arguments incorrected inserted with `\undefined{args}`.

## [1.2.0] - 2017-03-30
Let's welcome @jabooth who joins the development of LaTeX Workshop!

### Added
- Auto clean LaTeX project after building LaTeX project, or on demand.
- (#60) Many `ChkTeX` diagnostics have code actions. See readme for more.
- (#62) Add back the default LaTeX commands to intellisense.

### Changed
- (#57) Now `ChkTeX` reads from stdin instead of temp files.

## [1.1.2] - 2017-03-29
### Changed
- (#51) Now diagnostics show message sources.
- (#56) Real-time `ChkTeX` on active editor.

### Fixed
- (#54) Web page url different from the one with tab view.

## [1.1.1] - 2017-03-28
### Changed
- (#45) `ChkTeX` diagnostics separated from `LateX` ones.
- (#46) Now save all editors when building.
- A higher-resolution new icon.

### Fixed
- (#44) `.tex` files with dot in the file name cannot get recognized in `\input`.
- (#48) Use `.bib` entry whitelist to avoid issues by unformal entries.

## [1.1.0] - 2017-03-27
### Added
- (#39) LaTeX linting with `ChkTeX`.

### Changed
- Web page title will show `[disconnected]` when the websocket is closed.
  - Such web pages cannot communicate with the extension. Thus will not auto refresh or SyncTeX.
- Temp files created by log parser will be automatically deleted. In most cases.

## [1.0.2] - 2017-03-26
### Fixed
- (#38) Cope with typical language ids.

## [1.0.1] - 2017-03-26
### Fixed
- (#37) Extension failed to activate with language id `latex` (instead of `LaTeX`).

## [1.0.0] - 2017-03-26
- Completely re-write the extension with more extensibility.
  - Original features should be inherited. If not, please submit issues.

## [0.2.20] - 2017-03-19
### Changed
- (#29) Status bar item auto-fold after two seconds.
- (#29) Status bar item does not display on non-tex files.

## [0.2.19] - 2017-03-16
### Fixed
- (#30) Not able to parse multiple bib files in a same command.

### Changed
- (#28) Use icons provided by @bartosz-antosik. Many thanks!

## [0.2.18] - 2017-03-15
### Changed
- (#21) Use icon instead of text in editor title to save space.

## [0.2.17] - 2017-03-14
### Fixed
- (#25) Bibliography file in subfolders now supports autocompletion.

## [0.2.16] - 2017-02-28
### Added
- (#18) Compile from active editor command.

## [0.2.15] - 2017-02-19
### Changed
- (#14) Do not pop log panel with no log messages.

## [0.2.14] - 2017-02-16
### Changed
- (#13) Remove quote autocomplete.

## [0.2.13] - 2017-02-06
### Changed
- (#10) ENTER after backslash new creates a new line.

## [0.2.12] - 2017-02-04
### Changed
- (#9) Disable Mac OS binary check.

## [0.2.11] - 2017-01-29
### Added
- A lovely icon in status bar to toggle compile-on-save feature.
  - The configuration `latex-workshop.compile_on_save` is used to set the initial state.

### Changed
- The compilation logging pattern.

## [0.2.10] - 2017-01-27
### Fixed
- SyncTeX use full path with `\.\` in Windows.

## [0.2.9] - 2017-01-27
### Fixed
- (#8) SyncTeX use full path and the constructed uri is different. Credited to `jccha`.
- (#8) OSX CMD+Click not working for reverse SyncTeX. Credited to `jccha`.

## [0.2.8] - 2017-01-27
### Changed
- Now configurations will take effect without reload except `compiler`.

### Fixed
- (#7) SyncTeX fails when main document is not in root. Credited to `Andersw88`.
- Compile twice if unsaved and click compile from context menu.

## [0.2.7] - 2017-01-26
### Changed
- Way of presenting latex log results.

### Fixed
- Unable to parse `file.tex:123: latex error` type error.

## [0.2.6] - 2017-01-17
### Fixed
- Missing requirejs dependency leading to failed extension initialization.

## [0.2.5] - 2017-01-17
### Added
- LaTeX log parser. Output to LaTeX Workshop output channel.

### Fixed
- Ignoring double curly brackets in parsed bibtex items to avoid spamming.

## [0.2.4] - 2017-01-17
### Changed
- Better bibTeX autocompletion
  - Now provide title, publication, and authors in citation autocomplete.
  - If parser failed, fallback to original implementation.
- Add curly brackets after multiple commands.
  - User can go on typing for inner content autocompletion.

## [0.2.3] - 2017-01-15
### Changed
- Revert back to manual CompletionItem and SnippetString creation for auto-completion.
  - Users should experience a better auto-completion feature.

## [0.2.2] - 2017-01-13
### Fixed
- (#4) Compile throw error on sending websocket message with undefined client.

## [0.2.1] - 2017-01-12
### Changed
- In browser PDF preview URL.
  - User should not experience any feature changes

### Removed
- Several useless PDF viewer buttons: open, download, presentation mode.

## [0.2.0] - 2017-01-11
### Added
- In browser PDF preview.
  - Find it in right-click menu!

### Changed
- Server-client communication model.
- Refractor the context menu.

## [0.1.11] - 2017-01-09
### Fixed
- PDF viewer scroll to (0,0) after clicking compilation but before refreshing.

## [0.1.10] - 2017-01-09
### Changed
- (#2) Use HTML data to store PDF position before compilation.
  - The PDF position can be restored after compilation instead of previous SyncTeX method.

## [0.1.9] - 2017-01-05
### Added
- More colorization with textmate tex grammar.

## [0.1.8] - 2017-01-05
### Fixed
- Command autocomplete not working.

## [0.1.7] - 2017-01-05
### Added
- Colorization using textmate grammar file.

### Changed
- Wildcard reference autocomplete for any commands with `ref`.

## [0.1.6] - 2017-01-04
### Added
- `latex-workshop.main_document` config to explicitly define the main document.
  - If set with some value, the auto-detection is disabled.
  - If set `null`, auto-detection will use the old logic as in 0.1.5.

### Changed
- Snippet for \begin command. Now the \end command will also be appended.

## [0.1.5] - 2017-01-04
### Added
- Right click text editor for compile option.

### Changed
- (#1) Compile and preview will search for main tex document for processing.
  - Main document is determined by "\begin{document}" string.
  - If the current active file has this string, it is set to the main document.
  - Otherwise, all .tex files under the root of the opened folder is checked. The first one with this string is the main document.
  - Tests needed.

## [0.1.4] - 2017-01-04
### Changed
- Now PDF viewer will try to use synctex to scroll to tex editor cursor position upon refresh.

## [0.1.3] - 2017-01-03
### Changed
- Use code snippet for all latex backslash commands.
  - Now autocomplete will show when the first letter is input after the backslash.
  - Now backslash autocomplete can use tab to navigate to proper positions for contents.

### Fixed
- \ref won't develop autocomplete recommends when .aux file is not generated.

## [0.1.2] - 2017-01-03
### Changed
- Synchronously read related files when developing citation and reference autocompletes.
  - The original acynchronous pattern will miss the latest changes.
  - If the autocomplete reaction speed is greatly influenced in large files, this change may be reverted.

## [0.1.1] - 2017-01-01
### Added
- An extension icon.

### Fixed
- In some cases \cite and \ref won't develop autocomplete recommends.

## [0.1.0] - 2017-01-01
### Added
- Compile LaTeX to PDF
- Live Preview
- SyncTex
- Autocomplete on backslash, citation, and reference
- Configuration

## [0.0.1] - [0.0.12]
- Merged into version 0.1.0.


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing to LaTeX-Workshop

Please notice that we can reject any kinds of pull requests. Especially, we will reject any requests for changes on default values of settings.
We also reject requests adding additional recipes to default settings.

## Quickstart

```bash
git clone https://github.com/James-Yu/LaTeX-Workshop.git
cd ./LaTeX-Workshop
cp ./dev/githooks/pre-commit .git/hooks/
npm ci
code -n .
```

Press <kbd>F5</kbd> in vscode to start the development version in debug mode.

## Prerequisites for building the extension

Make sure you have installed:

- [`node.js`](https://nodejs.org/) v18
- `npm` v10
- the [`eslint`](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) extension for VS Code (recommended)

Then run

    npm ci

inside the extension workspace to download the node modules needed to build the extension.

## Development

To lint changes, run

    npm run lint

To compile, run

    npm run compile

To build a release image, run

    npm run release

To run tests, run

    npm run test

To run a specific test, run

    npm run test build/fixture001

## Testing and debugging the extension

In VS Code, run `Debug: Select and Start Debugging` from the Command Palette, and select `Run Extension`. A new window will pop up where you can test the extension.

## Documents

You can refer to:

- https://github.com/James-Yu/LaTeX-Workshop/wiki
- https://github.com/James-Yu/LaTeX-Workshop/blob/master/src/README.md
- https://github.com/James-Yu/LaTeX-Workshop/blob/master/viewer/README.md
- https://github.com/James-Yu/LaTeX-Workshop/blob/master/data/README.md
- https://github.com/James-Yu/LaTeX-Workshop/blob/master/resources/snippetview/README.md
- https://github.com/James-Yu/LaTeX-Workshop/blob/master/test/README.md
- https://github.com/James-Yu/LaTeX-Workshop/blob/master/.github/workflows/README.md


================================================
FILE: LICENSE.txt
================================================
The MIT License (MIT)

Copyright (c) 2016 James Yu

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: README.md
================================================
# Visual Studio Code LaTeX Workshop Extension

[![version](https://img.shields.io/visual-studio-marketplace/v/James-Yu.latex-workshop)](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop)
[![updated](https://img.shields.io/visual-studio-marketplace/last-updated/James-Yu.latex-workshop)](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop)
[![release](https://img.shields.io/visual-studio-marketplace/release-date/James-Yu.latex-workshop)](https://vsmarketplacebadge.apphb.com/downloads-short/James-Yu.latex-workshop.svg)

[![downloads](https://img.shields.io/visual-studio-marketplace/d/James-Yu.latex-workshop)](https://vsmarketplacebadge.apphb.com/downloads-short/James-Yu.latex-workshop.svg)
[![installs](https://img.shields.io/visual-studio-marketplace/i/James-Yu.latex-workshop)](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop)
[![rating](https://img.shields.io/visual-studio-marketplace/r/James-Yu.latex-workshop)](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop)
[![license](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://raw.githubusercontent.com/James-Yu/LaTeX-Workshop/master/LICENSE.txt)

[![TeX Live on Windows](https://github.com/James-Yu/LaTeX-Workshop/workflows/TeX%20Live%20on%20Windows/badge.svg)](https://github.com/James-Yu/LaTeX-Workshop/actions?query=workflow%3A%22TeX+Live+on+Windows%22)
[![TeX Live on macOS](https://github.com/James-Yu/LaTeX-Workshop/workflows/TeX%20Live%20on%20macOS/badge.svg)](https://github.com/James-Yu/LaTeX-Workshop/actions?query=workflow%3A%22TeX+Live+on+macOS%22)
[![TeX Live on Linux](https://github.com/James-Yu/LaTeX-Workshop/workflows/TeX%20Live%20on%20Linux/badge.svg)](https://github.com/James-Yu/LaTeX-Workshop/actions?query=workflow%3A%22TeX+Live+on+Linux%22)

LaTeX Workshop is an extension for [Visual Studio Code](https://code.visualstudio.com/), aiming to provide core features for LaTeX typesetting with Visual Studio Code.

This project won't be successful without contributions from the community, especially from the current and past key contributors:

- Jerome Lelong [`@jlelong`](https://github.com/jlelong)
- Takashi Tamura [`@tamuratak`](https://github.com/tamuratak)
- Tecosaur [`@tecosaur`](https://github.com/tecosaur)
- James Booth [`@jabooth`](https://github.com/jabooth)

Thank you so much!

**Note that the latest version of LaTeX-Workshop requires at least VSCode `1.96.0` (December 2024 or later).**

## Manual

The manual of the extension is maintained as a [wiki](https://github.com/James-Yu/LaTeX-Workshop/wiki)

### Table of Contents

- [Home](https://github.com/James-Yu/LaTeX-Workshop/wiki/Home)
- [Installation and basic settings](https://github.com/James-Yu/LaTeX-Workshop/wiki/Install)
  - [Requirements](https://github.com/James-Yu/LaTeX-Workshop/wiki/Install#requirements)
  - [Installation](https://github.com/James-Yu/LaTeX-Workshop/wiki/Install#installation)
  - [Setting PATH environment variable](https://github.com/James-Yu/LaTeX-Workshop/wiki/Install#setting-path-environment-variable)
  - [Settings](https://github.com/James-Yu/LaTeX-Workshop/wiki/Install#settings)
  - [Usage](https://github.com/James-Yu/LaTeX-Workshop/wiki/Install#usage)
    - [Supported languages](https://github.com/James-Yu/LaTeX-Workshop/wiki/Install#supported-languages)
  - [Using Docker](https://github.com/James-Yu/LaTeX-Workshop/wiki/Install#using-docker)
  - [Using WSL](https://github.com/James-Yu/LaTeX-Workshop/wiki/Install#using-wsl)
- [Compiling](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile)
  - [Building the document](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#building-the-document)
  - [Terminating the current compilation](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#terminating-the-current-compilation)
  - [Auto build LaTeX](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#auto-build-latex)
  - [LaTeX recipes](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#latex-recipes)
    - [LaTeX tools](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#latex-tools)
    - [Placeholders](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#placeholders)
  - [Multi file projects](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#multi-file-projects)
  - [Cleaning generated files](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#cleaning-generated-files)
  - [Catching errors and warnings](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#catching-errors-and-warnings)
  - [External build command](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#external-build-command)
  - [Magic comments](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#magic-comments)
  - [Building a `.jnw` file](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#building-a-jnw-file)
  - [Building a `.rnw` file](https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#building-a-rnw-file)
- [Linting](https://github.com/James-Yu/LaTeX-Workshop/wiki/Linters)
  - [Duplicate labels](https://github.com/James-Yu/LaTeX-Workshop/wiki/Linters#duplicate-labels)
  - [Chktex](https://github.com/James-Yu/LaTeX-Workshop/wiki/Linters#chktex)
- [Viewing & SyncTeX](https://github.com/James-Yu/LaTeX-Workshop/wiki/View)
  - [Internal PDF viewer](https://github.com/James-Yu/LaTeX-Workshop/wiki/View#internal-pdf-viewer)
    - [Color](https://github.com/James-Yu/LaTeX-Workshop/wiki/View#color)
    - [Invert mode](https://github.com/James-Yu/LaTeX-Workshop/wiki/View#invert-mode)
  - [SyncTeX](https://github.com/James-Yu/LaTeX-Workshop/wiki/View#synctex)
  - [External PDF viewer](https://github.com/James-Yu/LaTeX-Workshop/wiki/View#external-pdf-viewer)
    - [Using SyncTeX with an external viewer](https://github.com/James-Yu/LaTeX-Workshop/wiki/View#using-synctex-with-an-external-viewer)
- [Formatting](https://github.com/James-Yu/LaTeX-Workshop/wiki/Format)
  - [LaTeX files](https://github.com/James-Yu/LaTeX-Workshop/wiki/Format#LaTeX-files)
  - [Bibtex files](https://github.com/James-Yu/LaTeX-Workshop/wiki/Format#Bibtex-files)
- [Intellisense](https://github.com/James-Yu/LaTeX-Workshop/wiki/Intellisense)
  - [Citations](https://github.com/James-Yu/LaTeX-Workshop/wiki/Intellisense#Citations)
  - [References](https://github.com/James-Yu/LaTeX-Workshop/wiki/Intellisense#References)
  - [Commands](https://github.com/James-Yu/LaTeX-Workshop/wiki/Intellisense#Commands)
  - [Environments](https://github.com/James-Yu/LaTeX-Workshop/wiki/Intellisense#Environments)
  - [Files](https://github.com/James-Yu/LaTeX-Workshop/wiki/Intellisense#files)
  - [Bibtex Files](https://github.com/James-Yu/LaTeX-Workshop/wiki/Intellisense#bibtex-files)
  - [`@` suggestions](https://github.com/James-Yu/LaTeX-Workshop/wiki/Intellisense#-suggestions)
    - [Inserting Greek letters](https://github.com/James-Yu/LaTeX-Workshop/wiki/Intellisense#inserting-greek-letters)
    - [Handy mathematical helpers](https://github.com/James-Yu/LaTeX-Workshop/wiki/Intellisense#Handy-mathematical-helpers)
- [Snippets and shortcuts](https://github.com/James-Yu/LaTeX-Workshop/wiki/Snippets)
  - [Environments](https://github.com/James-Yu/LaTeX-Workshop/wiki/Snippets#Environments)
  - [Sectioning](https://github.com/James-Yu/LaTeX-Workshop/wiki/Snippets#Sectioning)
  - [Font commands](https://github.com/James-Yu/LaTeX-Workshop/wiki/Snippets#font-commands-and-snippets)
  - [Mathematical font commands](https://github.com/James-Yu/LaTeX-Workshop/wiki/Snippets#Mathematical-font-commands)
  - [Surrounding text](https://github.com/James-Yu/LaTeX-Workshop/wiki/Snippets#surrounding-text)
  - [Miscellaneous actions](https://github.com/James-Yu/LaTeX-Workshop/wiki/Snippets#Miscellaneous-Actions)
- [Hovering and previewing features](https://github.com/James-Yu/LaTeX-Workshop/wiki/Hover)
  - [Documentation of a package](https://github.com/James-Yu/LaTeX-Workshop/wiki/Hover#documentation-of-a-package)
  - [Previewing equations](https://github.com/James-Yu/LaTeX-Workshop/wiki/Hover#previewing-equations)
  - [Previewing graphics](https://github.com/James-Yu/LaTeX-Workshop/wiki/Hover#previewing-graphics)
  - [Previewing citation details](https://github.com/James-Yu/LaTeX-Workshop/wiki/Hover#previewing-citation-details)
  - [Previewing references](https://github.com/James-Yu/LaTeX-Workshop/wiki/Hover#previewing-references)
  - [Documentation of a command](https://github.com/James-Yu/LaTeX-Workshop/wiki/Hover#documentation-of-a-command)
- [Playing with environments](https://github.com/James-Yu/LaTeX-Workshop/wiki/Environments)
  - [Inserting an environment](https://github.com/James-Yu/LaTeX-Workshop/wiki/Environments#inserting-an-environment)
  - [Itemize like environments](https://github.com/James-Yu/LaTeX-Workshop/wiki/Environments#Itemize-like-environments)
  - [Navigating and selecting](https://github.com/James-Yu/LaTeX-Workshop/wiki/Environments#Navigating-and-selecting)
  - [Changing between `\[...\]` and `\begin{}...\end{}`](https://github.com/James-Yu/LaTeX-Workshop/wiki/Environments#changing-between--and-beginend)
  - [Closing the current environment](https://github.com/James-Yu/LaTeX-Workshop/wiki/Environments#Closing-the-current-environment)
  - [Surrounding selection with an environment](https://github.com/James-Yu/LaTeX-Workshop/wiki/Environments#Surrounding-selection-with-an-environment)
- [Extra features](https://github.com/James-Yu/LaTeX-Workshop/wiki/ExtraFeatures)
  - [Structure of the document](https://github.com/James-Yu/LaTeX-Workshop/wiki/ExtraFeatures#structure-of-the-document)
  - [Code folding](https://github.com/James-Yu/LaTeX-Workshop/wiki/ExtraFeatures#code-folding)
  - [Counting words](https://github.com/James-Yu/LaTeX-Workshop/wiki/ExtraFeatures#counting-words)
  - [Literate programming support using LaTeX](https://github.com/James-Yu/LaTeX-Workshop/wiki/ExtraFeatures#Literate-programming-support-using-LaTeX)
- [VS Code Remote Development](https://github.com/James-Yu/LaTeX-Workshop/wiki/Remote)
- [FAQ and common issues](https://github.com/James-Yu/LaTeX-Workshop/wiki/FAQ)

## Features (Taster)

This is not a complete list but rather a preview of some of the coolest features.

- Build LaTeX (including BibTeX) to PDF automatically on save.

  <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/build.gif" alt="build process gif" height="20px">

- View PDF on-the-fly (in VS Code or browser).

  <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/preview.gif" alt="demo of preview feature" height="220px">

- Direct and reverse [SyncTeX](https://github.com/James-Yu/LaTeX-Workshop/wiki/View#synctex). Click to jump between location in `.tex` source and PDF and vice versa.

  <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/synctex.gif" alt="demo of SyncTeX" height="220px">

- Intellisense, including completions for bibliography keys (`\cite{}`) and labels (`\ref{}`).

  <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/ref.gif" alt="intellisense demo" height="80px">

- LaTeX log parser, with errors and warnings in LaTeX build automatically reported in VS Code.

  <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/errors.png" alt="error reporting demo" height="125px">

  - Linting

  <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/chktex.gif" alt="auto \item demo" height="90px">

- [Snippets](https://github.com/James-Yu/LaTeX-Workshop/wiki/Snippets)
  - A lot of LaTeX commands can be typed using snippets starting in `\`, then type part of the command to narrow the search.

    <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/subparagraph.gif" alt="auto \item demo" height="80px">

  - Surround some selected text with a LaTeX command using <kbd>ctrl</kbd>+<kbd>l</kbd>, <kbd>ctrl</kbd>+<kbd>w</kbd> (<kbd>⌘</kbd>+<kbd>l</kbd>, <kbd>⌘</kbd>+<kbd>w</kbd> on Mac). A new menu pops up to select the command. This works with multi selections. The former approach using `\` has been deprecated.

    <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/wrap.gif" alt="wrap demo" height="140px">

  - We also provide a few other suggestion mechanisms
    - Greek letters are obtained as `@` + `letter`. Some letters have variants, which are available as `@v` + `letter`. See [here](https://github.com/James-Yu/LaTeX-Workshop/wiki/Intellisense#inserting-greek-letters).

        <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/greek letter.gif" alt="greek letters demo" height="20px">

    - Common environments can be obtained by `BXY` where `XY` are the first two letters of the environment name, eg. `BEQ` gives the `equation` environment. If you want the star version of the environment, use `BSXX`, eg. `BSEQ` gives the `equation*` environment. See [here](https://github.com/James-Yu/LaTeX-Workshop/wiki/Intellisense#Handy-mathematical-helpers).

        <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/BSAL snippet.gif" alt="BSAL demo" height="55px">
    - Common font commands can be obtained by `FXY` where `XY` are the last two letters of the font command name, eg. `FIT` gives `\textit{}`. See [here](https://github.com/James-Yu/LaTeX-Workshop/wiki/Snippets#font-commands-and-snippets).

        <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/FBF snippet.gif" alt="FBF demo" height="20px">
    - Many other maths symbols can be obtained with the `@` prefix. See [here](https://github.com/James-Yu/LaTeX-Workshop/wiki/Snippets#Handy-mathematical-helpers).

      <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/frac.gif" alt="\frac shortcut demo" height="20px">
      <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/int.gif" alt="\int shortcut demo" height="20px">
- [Shortcuts](https://github.com/James-Yu/LaTeX-Workshop/wiki/Snippets#font-commands-and-snippets)
  - In addition to snippets, there are shortcuts provided by the extension that allow you to easily format text (and one or two other things).

    <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/emph.gif" alt="\emph{} demo" height="20px">
- When the current line starts with `\item` or `\item[]`, hitting `Enter` automatically adds a newline starting in the same way. For a better handling of the last item, hitting `Enter` on a line only containing `\item` or `\item[]` actually deletes the content of the line. The `alt+Enter` is bind to the standard newline command. This automatic insertion of `\item` can be deactivated by setting `latex-workshop.bind.enter.key` to `false`.

    <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/auto item.gif" alt="auto \item demo" height="80px">

- [Preview on hover](https://github.com/James-Yu/LaTeX-Workshop/wiki/Hover#previewing-equations). Hovering over the start tag of a math environment causes a mathjax preview to pop up.

    <img src="https://github.com/James-Yu/LaTeX-Workshop/raw/master/demo_media/hover.gif" alt="equation hover demo" height="120px">

## GitHub

The code for this extension is available on github at: https://github.com/James-Yu/LaTeX-Workshop

## Like this work?

- :smile: Star this project on GitHub and Visual Studio Marketplace
- :blush: Leave a comment
- :relaxed: Thank the develops and community for their effort.

## License

[MIT](https://opensource.org/licenses/MIT)


================================================
FILE: data/README.md
================================================
# Data files for intellisense

We describe how the data files used for intellisense are generated.

## Unicode mathematical symbols

The file `unimathsymbols.json` is generated from the [`unimathsymbols.txt`](http://milde.users.sourceforge.net/LUCR/Math/data/unimathsymbols.txt) by Günter Milde using the [`unimathsymbols.py`](../dev/unimathsymbols.py) script.

## Default commands and environments

Default lists of commands and environments are defined in

- [`commands.json`](commands.json)
- [`environments.json`](environments.json)

## Bibtex

The file [`bibtex-entries.json`](]bibtex-entries.json) lists for every bibtex entry type the mandatory fields. The file [`bibtex-optional-entries.json`](]bibtex-optional-entries.json) lists for every bibtex entry type the optional fields.

## Files inside `packages/`

JSON files in this directory and in the subdirectories are generated from the [cwl files by the TeXStudio project](https://github.com/texstudio-org/texstudio/tree/master/completion) by the [`getcwl.sh`](../dev/getcwl.sh) and [`pkgcommand.py`](../dev/pkgcommand.py) scripts.

Completion files for classes are all prefixed by `class-`.

See [dev/README.md](../dev/README.md#pkgcommand.py) for the description of the file formats.

## Class names

Class names are stored in [`classnames.json`](classnames.json)

This file is generated by the [`ctanpkglist.py`](../dev/ctanpkglist.py) script.

**Note that this file depends on the local LaTeX installation.**

## Class and package names

Package names are stored in [`packagenames.json`](packagenames.json)

This file is based on the list provided by [CTAN](https://ctan.org/json/2.0/packages) and on the [`ctanpkglist.py`](../dev/ctanpkglist.py) script.

See [dev/README.md](../dev/README.md#ctanpkglist.py) for the description of how this file is computed.

## Misc

We have to use four backslashes `\\\\` in some snippet definitions. See  the [official document](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_grammar), [microsoft/vscode/issues/32020](https://github.com/microsoft/vscode/issues/32020), and [microsoft/vscode/issues/33933](https://github.com/microsoft/vscode/issues/33933) for the details.

## Third-Party License Notices

### unimathsymbols.txt

- http://milde.users.sourceforge.net/LUCR/Math/
- http://milde.users.sourceforge.net/LUCR/Math/data/unimathsymbols.txt

Unicode symbols and corresponding LaTeX math mode commands

```
Date
    Last revised 2011-04-04
Copyright
    © 2011 Günter Milde <milde@users.sf.net>
Licence

    This work may be distributed and/or modified under the conditions of
    the LaTeX Project Public License, either version 1.3 of this license
    or (at your option) any later version.

    The latest version of this license is in
    http://www.latex-project.org/lppl.txt
```


================================================
FILE: data/at-suggestions.json
================================================
{
	"cdot": {
		"prefix": "@.",
		"body": "\\cdot",
		"description": "\\cdot"
	},
	"infinity": {
		"prefix": "@8",
		"body": "\\infty",
		"description": "infinity symbol"
	},
	"partial": {
		"prefix": "@6",
		"body": "\\partial",
		"description": "partial derivative symbol"
	},
	"fraction": {
		"prefix": "@/",
		"body": "\\frac{$1}{$2}$0",
		"description": "fraction"
	},
	"fraction2": {
		"prefix": "@%",
		"body": "\\frac{$1}{$2}$0",
		"description": "fraction"
	},
	"hat": {
		"prefix": "@^",
		"body": "\\hat{${1:${TM_SELECTED_TEXT}}}$0",
		"description": "hat"
	},
	"bar": {
		"prefix": "@_",
		"body": "\\bar{${1:${TM_SELECTED_TEXT}}}$0",
		"description": "bar"
	},
	"circ": {
		"prefix": "@@",
		"body": "\\circ",
		"description": "circ"
	},
	"supcirc": {
		"prefix": "@0",
		"body": "^\\circ",
		"description": "superscript circ"
	},
	"dot": {
		"prefix": "@;",
		"body": "\\dot{${1:${TM_SELECTED_TEXT}}}$0",
		"description": "dot"
	},
	"ddot": {
		"prefix": "@:",
		"body": "\\ddot{${1:${TM_SELECTED_TEXT}}}$0",
		"description": "ddot"
	},

	"equiv": {
		"prefix": "@=",
		"body": "\\equiv",
		"description": "equiv symbol"
	},
	"times": {
		"prefix": "@*",
		"body": "\\times",
		"description": "times symbol"
	},
	"leq": {
		"prefix": "@<",
		"body": "\\leq",
		"description": "leq symbol"
	},
	"geq": {
		"prefix": "@>",
		"body": "\\geq",
		"description": "geq symbol"
	},
	"sqrt": {
		"prefix": "@2",
		"body": "\\sqrt{${1:${TM_SELECTED_TEXT}}}$0",
		"description": "sqrt command"
	},
	"int": {
		"prefix": "@I",
		"body": "\\int_{$1}^{$2}$0",
		"description": "integral"
	},
	"Big|": {
		"prefix": "@|",
		"body": "\\Big|",
		"description": "Big |"
	},
	"bigcup": {
		"prefix": "@+",
		"body": "\\bigcup",
		"description": "bigcup"
	},
	"bigcap": {
		"prefix": "@-",
		"body": "\\bigcap",
		"description": "bigcap"
	},
	"nonumber": {
		"prefix": "@,",
		"body": "\\nonumber",
		"description": "nonumber"
	},
	"alpha": {
		"prefix": "@a",
		"body": "\\alpha",
		"description": "alpha"
	},
	"beta": {
		"prefix": "@b",
		"body": "\\beta",
		"description": "beta"
	},
	"chi": {
		"prefix": "@c",
		"body": "\\chi",
		"description": "chi"
	},
	"delta": {
		"prefix": "@d",
		"body": "\\delta",
		"description": "delta"
	},
	"epsilon": {
		"prefix": "@e",
		"body": "\\epsilon",
		"description": "epsilon"
	},
	"varepsilon": {
		"prefix": "@ve",
		"body": "\\varepsilon",
		"description": "varepsilon"
	},
	"phi": {
		"prefix": "@f",
		"body": "\\phi",
		"description": "phi"
	},
	"varphi": {
		"prefix": "@vf",
		"body": "\\varphi",
		"description": "varphi"
	},
	"gamma": {
		"prefix": "@g",
		"body": "\\gamma",
		"description": "gamma"
	},
	"eta": {
		"prefix": "@h",
		"body": "\\eta",
		"description": "eta"
	},
	"iota": {
		"prefix": "@i",
		"body": "\\iota",
		"description": "iota"
	},
	"kappa": {
		"prefix": "@k",
		"body": "\\kappa",
		"description": "kappa"
	},
	"lambda": {
		"prefix": "@l",
		"body": "\\lambda",
		"description": "lambda"
	},
	"mu": {
		"prefix": "@m",
		"body": "\\mu",
		"description": "mu"
	},
	"nu": {
		"prefix": "@n",
		"body": "\\nu",
		"description": "nu"
	},
	"pi": {
		"prefix": "@p",
		"body": "\\pi",
		"description": "pi"
	},
	"varpi": {
		"prefix": "@vp",
		"body": "\\varpi",
		"description": "varpi"
	},
	"theta": {
		"prefix": "@q",
		"body": "\\theta",
		"description": "theta"
	},
	"vartheta": {
		"prefix": "@vq",
		"body": "\\vartheta",
		"description": "vartheta"
	},
	"rho": {
		"prefix": "@r",
		"body": "\\rho",
		"description": "rho"
	},
	"varrho": {
		"prefix": "@vr",
		"body": "\\varrho",
		"description": "varrho"
	},
	"sigma": {
		"prefix": "@s",
		"body": "\\sigma",
		"description": "sigma"
	},
	"varsigma": {
		"prefix": "@vs",
		"body": "\\varsigma",
		"description": "varsigma"
	},
	"tau": {
		"prefix": "@t",
		"body": "\\tau",
		"description": "tau"
	},
	"upsilon": {
		"prefix": "@u",
		"body": "\\upsilon",
		"description": "upsilon"
	},
	"omega": {
		"prefix": "@o",
		"body": "\\omega",
		"description": "omega"
	},
	"wedge": {
		"prefix": "@&",
		"body": "\\wedge",
		"description": "wedge"
	},
	"xi": {
		"prefix": "@x",
		"body": "\\xi",
		"description": "xi"
	},
	"psi": {
		"prefix": "@y",
		"body": "\\psi",
		"description": "psi"
	},
	"zeta": {
		"prefix": "@z",
		"body": "\\zeta",
		"description": "zeta"
	},
	"Delta": {
		"prefix": "@D",
		"body": "\\Delta",
		"description": "Delta"
	},
	"Phi": {
		"prefix": "@F",
		"body": "\\Phi",
		"description": "Phi"
	},
	"Gamma": {
		"prefix": "@G",
		"body": "\\Gamma",
		"description": "Gamma"
	},
	"Theta": {
		"prefix": "@Q",
		"body": "\\Theta",
		"description": "Theta"
	},
	"Lambda": {
		"prefix": "@L",
		"body": "\\Lambda",
		"description": "Lambda"
	},
	"Pi": {
		"prefix": "@P",
		"body": "\\Pi",
		"description": "Pi"
	},
	"Xi": {
		"prefix": "@X",
		"body": "\\Xi",
		"description": "Xi"
	},
	"Psi": {
		"prefix": "@Y",
		"body": "\\Psi",
		"description": "Psi"
	},
	"Sigma": {
		"prefix": "@S",
		"body": "\\Sigma",
		"description": "Sigma"
	},
	"Upsilon": {
		"prefix": "@U",
		"body": "\\Upsilon",
		"description": "Upsilon"
	},
	"Omega": {
		"prefix": "@W",
		"body": "\\Omega",
		"description": "Omega"
	},
	"(": {
		"prefix": "@(",
		"body": "\\left( ${1:${TM_SELECTED_TEXT}} \\right)",
		"description": "left( ... right)"
	},
	"{": {
		"prefix": "@{",
		"body": "\\left\\{ ${1:${TM_SELECTED_TEXT}} \\right\\\\}",
		"description": "left{ ... right}"
	},
	"[": {
		"prefix": "@[",
		"body": "\\left[ ${1:${TM_SELECTED_TEXT}} \\right]",
		"description": "left[ ... right]"
	},
	"|": {
		"prefix": "@|",
		"body": "\\left| ${1:${TM_SELECTED_TEXT}} \\right|",
		"description": "left| ... right|"
	}
}


================================================
FILE: data/biblatex-entries.json
================================================
{
    "article": [
        "author",
        "date",
        "journaltitle",
        "title",
        "year"
    ],
    "book": [
        "author",
        "date",
        "title",
        "year"
    ],
    "mvbook": [
        "author",
        "date",
        "title",
        "year"
    ],
    "inbook": [
        "author",
        "booktitle",
        "date",
        "title",
        "year"
    ],
    "bookinbook": [
        "author",
        "booktitle",
        "date",
        "title",
        "year"
    ],
    "suppbook": [
        "author",
        "booktitle",
        "date",
        "title",
        "year"
    ],
    "booklet": [
        "author",
        "date",
        "editor",
        "title",
        "year"
    ],
    "collection": [
        "date",
        "editor",
        "title",
        "year"
    ],
    "mvcollection": [
        "date",
        "editor",
        "title",
        "year"
    ],
    "incollection": [
        "author",
        "booktitle",
        "date",
        "title",
        "year"
    ],
    "suppcollection": [
        "author",
        "booktitle",
        "date",
        "title",
        "year"
    ],
    "dataset": [
        "author",
        "date",
        "editor",
        "title",
        "year"
    ],
    "manual": [
        "author",
        "date",
        "editor",
        "title",
        "year"
    ],
    "misc": [
        "author",
        "date",
        "editor",
        "title",
        "year"
    ],
    "online": [
        "author",
        "date",
        "doi",
        "editor",
        "eprint",
        "title",
        "url",
        "year"
    ],
    "patent": [
        "author",
        "date",
        "number",
        "title",
        "year"
    ],
    "periodical": [
        "date",
        "editor",
        "title",
        "year"
    ],
    "suppperiodical": [
        "author",
        "date",
        "journaltitle",
        "title",
        "year"
    ],
    "proceedings": [
        "date",
        "title",
        "year"
    ],
    "mvproceedings": [
        "date",
        "title",
        "year"
    ],
    "inproceedings": [
        "author",
        "booktitle",
        "date",
        "title",
        "year"
    ],
    "reference": [
        "date",
        "editor",
        "title",
        "year"
    ],
    "mvreference": [
        "date",
        "editor",
        "title",
        "year"
    ],
    "inreference": [
        "author",
        "booktitle",
        "date",
        "title",
        "year"
    ],
    "report": [
        "author",
        "date",
        "institution",
        "title",
        "type",
        "year"
    ],
    "software": [
        "author",
        "date",
        "editor",
        "title",
        "year"
    ],
    "thesis": [
        "author",
        "date",
        "institution",
        "title",
        "type",
        "year"
    ],
    "unpublished": [
        "author",
        "date",
        "title",
        "year"
    ]
}

================================================
FILE: data/biblatex-optional-entries.json
================================================
{
    "article": [
        "addendum",
        "annotator",
        "commentator",
        "doi",
        "editor",
        "editora",
        "editorb",
        "editorc",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "issn",
        "issue",
        "issuesubtitle",
        "issuetitle",
        "issuetitleaddon",
        "journalsubtitle",
        "journaltitleaddon",
        "language",
        "month",
        "note",
        "number",
        "origlanguage",
        "pages",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "version",
        "volume"
    ],
    "book": [
        "addendum",
        "afterword",
        "annotator",
        "chapter",
        "commentator",
        "doi",
        "edition",
        "editor",
        "editora",
        "editorb",
        "editorc",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "foreword",
        "introduction",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "note",
        "number",
        "origlanguage",
        "pages",
        "pagetotal",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "volume",
        "volumes"
    ],
    "mvbook": [
        "addendum",
        "afterword",
        "annotator",
        "booksubtitle",
        "booktitleaddon",
        "chapter",
        "commentator",
        "doi",
        "edition",
        "editor",
        "editora",
        "editorb",
        "editorc",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "foreword",
        "introduction",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "note",
        "number",
        "origlanguage",
        "pages",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "volume",
        "volumes"
    ],
    "inbook": [
        "addendum",
        "afterword",
        "annotator",
        "bookauthor",
        "booksubtitle",
        "booktitleaddon",
        "chapter",
        "commentator",
        "doi",
        "edition",
        "editor",
        "editora",
        "editorb",
        "editorc",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "foreword",
        "introduction",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "note",
        "number",
        "origlanguage",
        "pages",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "volume",
        "volumes"
    ],
    "bookinbook": [
        "addendum",
        "afterword",
        "annotator",
        "bookauthor",
        "booksubtitle",
        "booktitleaddon",
        "chapter",
        "commentator",
        "doi",
        "edition",
        "editor",
        "editora",
        "editorb",
        "editorc",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "foreword",
        "introduction",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "note",
        "number",
        "origlanguage",
        "pages",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "volume",
        "volumes"
    ],
    "suppbook": [
        "addendum",
        "afterword",
        "annotator",
        "bookauthor",
        "booksubtitle",
        "booktitleaddon",
        "chapter",
        "commentator",
        "doi",
        "edition",
        "editor",
        "editora",
        "editorb",
        "editorc",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "foreword",
        "introduction",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "note",
        "number",
        "origlanguage",
        "pages",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "volume",
        "volumes"
    ],
    "booklet": [
        "addendum",
        "chapter",
        "doi",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "howpublished",
        "language",
        "location",
        "note",
        "pages",
        "pagetotal",
        "pubstate",
        "subtitle",
        "titleaddon",
        "type",
        "url",
        "urldate"
    ],
    "collection": [
        "addendum",
        "afterword",
        "annotator",
        "chapter",
        "commentator",
        "doi",
        "edition",
        "editora",
        "editorb",
        "editorc",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "foreword",
        "introduction",
        "isbn",
        "language",
        "location",
        "maintitle",
        "maintitleaddon",
        "note",
        "number",
        "origlanguage",
        "pages",
        "pagetotal",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "volume",
        "volumes"
    ],
    "mvcollection": [
        "addendum",
        "afterword",
        "annotator",
        "commentator",
        "doi",
        "edition",
        "editora",
        "editorb",
        "editorc",
        "eprint",
        "eprintclass",
        "eprinttype",
        "foreword",
        "introduction",
        "isbn",
        "language",
        "location",
        "note",
        "number",
        "origlanguage",
        "pagetotal",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "volumes"
    ],
    "incollection": [
        "addendum",
        "afterword",
        "annotator",
        "booksubtitle",
        "booktitleaddon",
        "chapter",
        "commentator",
        "doi",
        "edition",
        "editor",
        "editora",
        "editorb",
        "editorc",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "foreword",
        "introduction",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "note",
        "number",
        "origlanguage",
        "pages",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "volume",
        "volumes"
    ],
    "suppcollection": [
        "addendum",
        "afterword",
        "annotator",
        "booksubtitle",
        "booktitleaddon",
        "chapter",
        "commentator",
        "doi",
        "edition",
        "editor",
        "editora",
        "editorb",
        "editorc",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "foreword",
        "introduction",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "note",
        "number",
        "origlanguage",
        "pages",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "volume",
        "volumes"
    ],
    "dataset": [
        "addendum",
        "doi",
        "edition",
        "eprint",
        "eprintclass",
        "eprinttype",
        "language",
        "location",
        "note",
        "number",
        "organization",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "type",
        "url",
        "urldate",
        "version"
    ],
    "manual": [
        "addendum",
        "chapter",
        "doi",
        "edition",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "isbn",
        "language",
        "location",
        "note",
        "number",
        "organization",
        "pages",
        "pagetotal",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "type",
        "url",
        "urldate",
        "version"
    ],
    "misc": [
        "addendum",
        "doi",
        "eprint",
        "eprintclass",
        "eprinttype",
        "howpublished",
        "language",
        "location",
        "month",
        "note",
        "organization",
        "pubstate",
        "subtitle",
        "titleaddon",
        "type",
        "url",
        "urldate",
        "version"
    ],
    "online": [
        "addendum",
        "eprintclass",
        "eprinttype",
        "language",
        "month",
        "note",
        "organization",
        "pubstate",
        "subtitle",
        "titleaddon",
        "urldate",
        "version"
    ],
    "patent": [
        "addendum",
        "doi",
        "eprint",
        "eprintclass",
        "eprinttype",
        "holder",
        "location",
        "month",
        "note",
        "pubstate",
        "subtitle",
        "titleaddon",
        "type",
        "url",
        "urldate",
        "version"
    ],
    "periodical": [
        "addendum",
        "doi",
        "editora",
        "editorb",
        "editorc",
        "eprint",
        "eprintclass",
        "eprinttype",
        "issn",
        "issue",
        "issuesubtitle",
        "issuetitle",
        "issuetitleaddon",
        "language",
        "month",
        "note",
        "number",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "url",
        "urldate",
        "volume"
    ],
    "suppperiodical": [
        "addendum",
        "annotator",
        "commentator",
        "doi",
        "editor",
        "editora",
        "editorb",
        "editorc",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "issn",
        "issue",
        "issuesubtitle",
        "issuetitle",
        "issuetitleaddon",
        "journalsubtitle",
        "journaltitleaddon",
        "language",
        "month",
        "note",
        "number",
        "origlanguage",
        "pages",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "version",
        "volume"
    ],
    "proceedings": [
        "addendum",
        "chapter",
        "doi",
        "editor",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "eventdate",
        "eventtitle",
        "eventtitleaddon",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "month",
        "note",
        "number",
        "organization",
        "pages",
        "pagetotal",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "url",
        "urldate",
        "venue",
        "volume",
        "volumes"
    ],
    "mvproceedings": [
        "addendum",
        "doi",
        "editor",
        "eprint",
        "eprintclass",
        "eprinttype",
        "eventdate",
        "eventtitle",
        "eventtitleaddon",
        "isbn",
        "language",
        "location",
        "month",
        "note",
        "number",
        "organization",
        "pagetotal",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "url",
        "urldate",
        "venue",
        "volumes"
    ],
    "inproceedings": [
        "addendum",
        "booksubtitle",
        "booktitleaddon",
        "chapter",
        "doi",
        "editor",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "eventdate",
        "eventtitle",
        "eventtitleaddon",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "month",
        "note",
        "number",
        "organization",
        "pages",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "url",
        "urldate",
        "venue",
        "volume",
        "volumes"
    ],
    "reference": [
        "addendum",
        "afterword",
        "annotator",
        "chapter",
        "commentator",
        "doi",
        "edition",
        "editora",
        "editorb",
        "editorc",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "foreword",
        "introduction",
        "isbn",
        "language",
        "location",
        "maintitle",
        "maintitleaddon",
        "note",
        "number",
        "origlanguage",
        "pages",
        "pagetotal",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "volume",
        "volumes"
    ],
    "mvreference": [
        "addendum",
        "afterword",
        "annotator",
        "commentator",
        "doi",
        "edition",
        "editora",
        "editorb",
        "editorc",
        "eprint",
        "eprintclass",
        "eprinttype",
        "foreword",
        "introduction",
        "isbn",
        "language",
        "location",
        "note",
        "number",
        "origlanguage",
        "pagetotal",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "volumes"
    ],
    "inreference": [
        "addendum",
        "afterword",
        "annotator",
        "booksubtitle",
        "booktitleaddon",
        "chapter",
        "commentator",
        "doi",
        "edition",
        "editor",
        "editora",
        "editorb",
        "editorc",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "foreword",
        "introduction",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "note",
        "number",
        "origlanguage",
        "pages",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "volume",
        "volumes"
    ],
    "report": [
        "addendum",
        "chapter",
        "doi",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "isrn",
        "language",
        "location",
        "month",
        "note",
        "number",
        "pages",
        "pagetotal",
        "pubstate",
        "subtitle",
        "titleaddon",
        "url",
        "urldate",
        "version"
    ],
    "software": [
        "addendum",
        "doi",
        "eprint",
        "eprintclass",
        "eprinttype",
        "howpublished",
        "language",
        "location",
        "month",
        "note",
        "organization",
        "pubstate",
        "subtitle",
        "titleaddon",
        "type",
        "url",
        "urldate",
        "version"
    ],
    "thesis": [
        "addendum",
        "chapter",
        "doi",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "isbn",
        "language",
        "location",
        "month",
        "note",
        "pages",
        "pagetotal",
        "pubstate",
        "subtitle",
        "titleaddon",
        "url",
        "urldate"
    ],
    "unpublished": [
        "addendum",
        "doi",
        "eprint",
        "eprintclass",
        "eprinttype",
        "eventdate",
        "eventtitle",
        "eventtitleaddon",
        "howpublished",
        "isbn",
        "language",
        "location",
        "month",
        "note",
        "pubstate",
        "subtitle",
        "titleaddon",
        "type",
        "url",
        "urldate",
        "venue"
    ]
}

================================================
FILE: data/bibtex-entries.json
================================================
{
    "article": [
        "author",
        "journal",
        "number",
        "title",
        "volume",
        "year"
    ],
    "book": [
        "author",
        "editor",
        "publisher",
        "title",
        "year"
    ],
    "booklet": [
        "author",
        "title"
    ],
    "conference": [
        "author",
        "booktitle",
        "editor",
        "title",
        "year"
    ],
    "inbook": [
        "author",
        "chapter",
        "editor",
        "pages",
        "publisher",
        "title",
        "year"
    ],
    "incollection": [
        "author",
        "booktitle",
        "publisher",
        "title",
        "year"
    ],
    "inproceedings": [
        "author",
        "booktitle",
        "editor",
        "title",
        "year"
    ],
    "manual": [
        "author",
        "title"
    ],
    "mastersthesis": [
        "author",
        "school",
        "title",
        "year"
    ],
    "misc": [
        "author",
        "howpublished",
        "title",
        "year"
    ],
    "phdthesis": [
        "author",
        "school",
        "title",
        "year"
    ],
    "proceedings": [
        "editor",
        "published",
        "series",
        "title",
        "volume",
        "year"
    ],
    "techreport": [
        "author",
        "institution",
        "title",
        "year"
    ],
    "unpublished": [
        "author",
        "note",
        "title",
        "year"
    ]
}

================================================
FILE: data/bibtex-optional-entries.json
================================================
{
    "article": [
        "addendum",
        "annotator",
        "commentator",
        "doi",
        "editor",
        "eid",
        "eprint",
        "eprintclass",
        "eprinttype",
        "issn",
        "issue",
        "issuesubtitle",
        "issuetitle",
        "journalsubtitle",
        "language",
        "month",
        "note",
        "number",
        "origlanguage",
        "pages",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "version",
        "volume"
    ],
    "book": [
        "addendum",
        "afterword",
        "annotator",
        "chapter",
        "commentator",
        "doi",
        "edition",
        "editor",
        "eprint",
        "eprintclass",
        "eprinttype",
        "foreword",
        "introduction",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "month",
        "note",
        "number",
        "origlanguage",
        "pages",
        "pagetotal",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "url",
        "urldate",
        "volume",
        "volumes"
    ],
    "booklet": [
        "addendum",
        "adress",
        "chapter",
        "doi",
        "eprint",
        "eprintclass",
        "eprinttype",
        "howpublished",
        "language",
        "location",
        "month",
        "note",
        "pages",
        "pagetotal",
        "pubstate",
        "subtitle",
        "titleaddon",
        "type",
        "url",
        "urldate"
    ],
    "conference": [
        "addendum",
        "address",
        "booksubtitle",
        "booktitleaddon",
        "chapter",
        "doi",
        "editor",
        "eprint",
        "eprintclass",
        "eprinttype",
        "eventdate",
        "eventtitle",
        "eventtitleaddon",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "month",
        "note",
        "note.",
        "number",
        "organization",
        "pages",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "url",
        "urldate",
        "venue",
        "volume",
        "volumes"
    ],
    "inbook": [
        "addendum",
        "afterword",
        "annotator",
        "bookauthor",
        "booksubtitle",
        "booktitleaddon",
        "chapter",
        "commentator",
        "doi",
        "edition",
        "editor",
        "eprint",
        "eprintclass",
        "eprinttype",
        "foreword",
        "introduction",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "month",
        "note",
        "number",
        "origlanguage",
        "pages",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "type",
        "url",
        "urldate",
        "volume",
        "volumes"
    ],
    "incollection": [
        "addendum",
        "address",
        "afterword",
        "annotator",
        "booksubtitle",
        "booktitleaddon",
        "chapter",
        "commentator",
        "doi",
        "edition",
        "editor",
        "eprint",
        "eprintclass",
        "eprinttype",
        "foreword",
        "introduction",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "month",
        "note",
        "number",
        "origlanguage",
        "pages",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "translator",
        "type",
        "url",
        "urldate",
        "volume",
        "volumes"
    ],
    "inproceedings": [
        "addendum",
        "address",
        "booksubtitle",
        "booktitleaddon",
        "chapter",
        "doi",
        "editor",
        "eprint",
        "eprintclass",
        "eprinttype",
        "eventdate",
        "eventtitle",
        "eventtitleaddon",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "month",
        "note",
        "number",
        "organization",
        "pages",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "url",
        "urldate",
        "venue",
        "volume",
        "volumes"
    ],
    "manual": [
        "addendum",
        "address",
        "chapter",
        "doi",
        "edition",
        "eprint",
        "eprintclass",
        "eprinttype",
        "isbn",
        "language",
        "location",
        "month",
        "note",
        "number",
        "organization",
        "pages",
        "pagetotal",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "type",
        "url",
        "urldate",
        "version",
        "year"
    ],
    "mastersthesis": [
        "address",
        "month",
        "note",
        "type"
    ],
    "misc": [
        "addendum",
        "doi",
        "eprint",
        "eprintclass",
        "eprinttype",
        "howpublished",
        "language",
        "location",
        "month",
        "note",
        "organization",
        "pubstate",
        "subtitle",
        "titleaddon",
        "type",
        "url",
        "urldate",
        "version",
        "year"
    ],
    "phdthesis": [
        "addendum",
        "address",
        "chapter",
        "doi",
        "eprint",
        "eprintclass",
        "eprinttype",
        "isbn",
        "language",
        "location",
        "month",
        "note",
        "pages",
        "pagetotal",
        "pubstate",
        "subtitle",
        "titleaddon",
        "type",
        "url",
        "urldate"
    ],
    "proceedings": [
        "addendum",
        "address",
        "chapter",
        "doi",
        "editor",
        "eprint",
        "eprintclass",
        "eprinttype",
        "eventdate",
        "eventtitle",
        "eventtitleaddon",
        "isbn",
        "language",
        "location",
        "mainsubtitle",
        "maintitle",
        "maintitleaddon",
        "month",
        "note",
        "number",
        "organization",
        "pages",
        "pagetotal",
        "part",
        "publisher",
        "pubstate",
        "series",
        "subtitle",
        "titleaddon",
        "url",
        "urldate",
        "venue",
        "volume",
        "volumes"
    ],
    "techreport": [
        "addendum",
        "address",
        "chapter",
        "doi",
        "eprint",
        "eprintclass",
        "eprinttype",
        "isrn",
        "language",
        "location",
        "month",
        "note",
        "number",
        "pages",
        "pagetotal",
        "pubstate",
        "subtitle",
        "titleaddon",
        "type",
        "url",
        "urldate",
        "version"
    ],
    "unpublished": [
        "month",
        "year"
    ]
}

================================================
FILE: data/classnames.json
================================================
{
  "BHCexam": {
    "command": "BHCexam",
    "detail": "",
    "documentation": ""
  },
  "BMSTU-IU8": {
    "command": "BMSTU-IU8",
    "detail": "",
    "documentation": ""
  },
  "ConcProg": {
    "command": "ConcProg",
    "detail": "",
    "documentation": ""
  },
  "FUpowerdot": {
    "command": "FUpowerdot",
    "detail": "",
    "documentation": ""
  },
  "IEEEconf": {
    "command": "IEEEconf",
    "detail": "",
    "documentation": ""
  },
  "IEEEtran": {
    "command": "IEEEtran",
    "detail": "",
    "documentation": ""
  },
  "IMTEKda": {
    "command": "IMTEKda",
    "detail": "",
    "documentation": ""
  },
  "ReadableCV": {
    "command": "ReadableCV",
    "detail": "",
    "documentation": ""
  },
  "RecipeBook": {
    "command": "RecipeBook",
    "detail": "",
    "documentation": ""
  },
  "SPhdThesis": {
    "command": "SPhdThesis",
    "detail": "",
    "documentation": ""
  },
  "TOPletter": {
    "command": "TOPletter",
    "detail": "",
    "documentation": ""
  },
  "URbeamer": {
    "command": "URbeamer",
    "detail": "",
    "documentation": ""
  },
  "URletter": {
    "command": "URletter",
    "detail": "",
    "documentation": ""
  },
  "UoWthesis": {
    "command": "UoWthesis",
    "detail": "",
    "documentation": ""
  },
  "a0poster": {
    "command": "a0poster",
    "detail": "Support for designing posters on large paper",
    "documentation": "https://ctan.org/pkg/a0poster"
  },
  "aalok": {
    "command": "aalok",
    "detail": "LaTeX class file for the Marathi journal ‘Aalok’",
    "documentation": "https://ctan.org/pkg/aalok"
  },
  "aastex631": {
    "command": "aastex631",
    "detail": "",
    "documentation": ""
  },
  "abntex2": {
    "command": "abntex2",
    "detail": "Typeset technical and scientific Brazilian documents based on ABNT rules",
    "documentation": "https://ctan.org/pkg/abntex2"
  },
  "abstbook": {
    "command": "abstbook",
    "detail": "Books of abstracts",
    "documentation": "https://ctan.org/pkg/abstbook"
  },
  "achemso": {
    "command": "achemso",
    "detail": "Support for American Chemical Society journal submissions",
    "documentation": "https://ctan.org/pkg/achemso"
  },
  "acmart": {
    "command": "acmart",
    "detail": "Class for typesetting publications of ACM",
    "documentation": "https://ctan.org/pkg/acmart"
  },
  "acmconf": {
    "command": "acmconf",
    "detail": "Class for ACM conference proceedings",
    "documentation": "https://ctan.org/pkg/acmconf"
  },
  "active-conf": {
    "command": "active-conf",
    "detail": "Class for typesetting ACTIVE conference papers",
    "documentation": "https://ctan.org/pkg/active-conf"
  },
  "adfathesis": {
    "command": "adfathesis",
    "detail": "Australian Defence Force Academy thesis format",
    "documentation": "https://ctan.org/pkg/adfathesis"
  },
  "afparticle": {
    "command": "afparticle",
    "detail": "Typesetting articles for Archives of Forensic Psychology",
    "documentation": "https://ctan.org/pkg/afparticle"
  },
  "afthesis": {
    "command": "afthesis",
    "detail": "Air Force Institute of Technology thesis class",
    "documentation": "https://ctan.org/pkg/afthesis"
  },
  "agecon": {
    "command": "agecon",
    "detail": "",
    "documentation": ""
  },
  "aguplus": {
    "command": "aguplus",
    "detail": "Styles for American Geophysical Union",
    "documentation": "https://ctan.org/pkg/aguplus"
  },
  "aiaa-tc": {
    "command": "aiaa-tc",
    "detail": "",
    "documentation": ""
  },
  "ajae": {
    "command": "ajae",
    "detail": "",
    "documentation": ""
  },
  "akklecture": {
    "command": "akklecture",
    "detail": "",
    "documentation": ""
  },
  "akkscript": {
    "command": "akkscript",
    "detail": "",
    "documentation": ""
  },
  "akktecdoc": {
    "command": "akktecdoc",
    "detail": "",
    "documentation": ""
  },
  "akletter": {
    "command": "akletter",
    "detail": "Comprehensive letter support",
    "documentation": "https://ctan.org/pkg/akletter"
  },
  "ametsoc": {
    "command": "ametsoc",
    "detail": "Official American Meteorological Society LaTeX Template",
    "documentation": "https://ctan.org/pkg/ametsoc"
  },
  "amsart": {
    "command": "amsart",
    "detail": "LaTeX document class for AMS math journal articles",
    "documentation": "https://ctan.org/pkg/amsart"
  },
  "amsbook": {
    "command": "amsbook",
    "detail": "LaTeX document class for AMS books",
    "documentation": "https://ctan.org/pkg/amsbook"
  },
  "amsdtx": {
    "command": "amsdtx",
    "detail": "",
    "documentation": ""
  },
  "amsldoc": {
    "command": "amsldoc",
    "detail": "",
    "documentation": ""
  },
  "amsproc": {
    "command": "amsproc",
    "detail": "LaTeX document class for AMS conference proceedings",
    "documentation": "https://ctan.org/pkg/amsproc"
  },
  "aomart": {
    "command": "aomart",
    "detail": "Typeset articles for the Annals of Mathematics",
    "documentation": "https://ctan.org/pkg/aomart"
  },
  "apa": {
    "command": "apa",
    "detail": "American Psychological Association format",
    "documentation": "https://ctan.org/pkg/apa"
  },
  "apa6": {
    "command": "apa6",
    "de
Download .txt
gitextract_ciql6n51/

├── .devcontainer/
│   ├── README.md
│   ├── devcontainer.json
│   ├── sid/
│   │   └── Dockerfile
│   ├── stable/
│   │   └── Dockerfile
│   └── texlive/
│       └── Dockerfile
├── .gitattributes
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug-report.md
│   │   └── feature-request.md
│   ├── dependabot.yml
│   ├── disabled/
│   │   └── docker_on_linux.yml
│   └── workflows/
│       ├── README.md
│       ├── codeql-analysis.yml
│       ├── lock.yml
│       ├── package.yml
│       ├── texlive_on_linux.yml
│       ├── texlive_on_mac.yml
│       └── texlive_on_win.yml
├── .gitignore
├── .vscode/
│   ├── extensions.json
│   ├── launch.json
│   ├── settings.json
│   └── tasks.json
├── .vscodeignore
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE.txt
├── README.md
├── data/
│   ├── README.md
│   ├── at-suggestions.json
│   ├── biblatex-entries.json
│   ├── biblatex-optional-entries.json
│   ├── bibtex-entries.json
│   ├── bibtex-optional-entries.json
│   ├── classnames.json
│   ├── commands.json
│   ├── environments.json
│   ├── latex-snippet.json
│   ├── macros.json
│   ├── packagenames.json
│   ├── packages/
│   │   ├── abntcite.json
│   │   ├── acro.json
│   │   ├── acronym.json
│   │   ├── afterpage.json
│   │   ├── algorithm2e.json
│   │   ├── allrunes.json
│   │   ├── amsbsy.json
│   │   ├── amsfonts.json
│   │   ├── amsmath.json
│   │   ├── amsopn.json
│   │   ├── amssymb.json
│   │   ├── amsthm.json
│   │   ├── apacite.json
│   │   ├── appendix.json
│   │   ├── array.json
│   │   ├── attachfile.json
│   │   ├── babel.json
│   │   ├── beamerbaseauxtemplates.json
│   │   ├── beamerbaseboxes.json
│   │   ├── beamerbasecolor.json
│   │   ├── beamerbasecompatibility.json
│   │   ├── beamerbasefont.json
│   │   ├── beamerbaseframe.json
│   │   ├── beamerbaseframecomponents.json
│   │   ├── beamerbaseframesize.json
│   │   ├── beamerbaselocalstructure.json
│   │   ├── beamerbasemisc.json
│   │   ├── beamerbasemodes.json
│   │   ├── beamerbasenavigation.json
│   │   ├── beamerbasenotes.json
│   │   ├── beamerbaseoptions.json
│   │   ├── beamerbaseoverlay.json
│   │   ├── beamerbaserequires.json
│   │   ├── beamerbasesection.json
│   │   ├── beamerbasetemplates.json
│   │   ├── beamerbasethemes.json
│   │   ├── beamerbasetheorems.json
│   │   ├── beamerbasetitle.json
│   │   ├── beamerbasetoc.json
│   │   ├── beamerbasetranslator.json
│   │   ├── beamerbasetwoscreens.json
│   │   ├── beamerbaseverbatim.json
│   │   ├── biblatex.json
│   │   ├── bidi.json
│   │   ├── blindtext.json
│   │   ├── bm.json
│   │   ├── booktabs.json
│   │   ├── braket.json
│   │   ├── calc.json
│   │   ├── cancel.json
│   │   ├── caption.json
│   │   ├── cases.json
│   │   ├── chemformula.json
│   │   ├── chemstyle.json
│   │   ├── circuitikz.json
│   │   ├── class-altacv.json
│   │   ├── class-beamer.json
│   │   ├── class-book.json
│   │   ├── class-ctexart.json
│   │   ├── class-ctexbeamer.json
│   │   ├── class-ctexbook.json
│   │   ├── class-ctexrep.json
│   │   ├── class-exam.json
│   │   ├── class-letter.json
│   │   ├── class-memoir.json
│   │   ├── class-moderncv.json
│   │   ├── class-scrartcl.json
│   │   ├── class-scrbook.json
│   │   ├── class-scrlttr2.json
│   │   ├── class-scrreprt.json
│   │   ├── class-yathesis.json
│   │   ├── cleveref.json
│   │   ├── color.json
│   │   ├── colortbl.json
│   │   ├── commath.json
│   │   ├── comment.json
│   │   ├── coordsys.json
│   │   ├── cquthesis.json
│   │   ├── csquotes.json
│   │   ├── ctex.json
│   │   ├── currfile.json
│   │   ├── currvita.json
│   │   ├── cyrillic.json
│   │   ├── datatool-base.json
│   │   ├── datatool.json
│   │   ├── doi.json
│   │   ├── easy-todo.json
│   │   ├── empheq.json
│   │   ├── endnotes.json
│   │   ├── enumerate.json
│   │   ├── epigraph.json
│   │   ├── epstopdf.json
│   │   ├── esint.json
│   │   ├── etoolbox.json
│   │   ├── eurosym.json
│   │   ├── expl3.json
│   │   ├── fancybox.json
│   │   ├── fancyhdr.json
│   │   ├── fancyref.json
│   │   ├── fancyunits-base.json
│   │   ├── fancyunits-np.json
│   │   ├── fancyunits-per.json
│   │   ├── fancyunits_big-fractions.json
│   │   ├── fancyunits_medium-fractions.json
│   │   ├── fancyunits_small-fractions.json
│   │   ├── fancyvrb.json
│   │   ├── fhgtechdoku_additional.json
│   │   ├── fixme.json
│   │   ├── float.json
│   │   ├── fontspec.json
│   │   ├── geometry.json
│   │   ├── german.json
│   │   ├── glossaries.json
│   │   ├── glosstex.json
│   │   ├── graphicx.json
│   │   ├── harvard.json
│   │   ├── hyperref.json
│   │   ├── ifluatex.json
│   │   ├── ifpdf.json
│   │   ├── ifplatform.json
│   │   ├── iftex.json
│   │   ├── ifthen.json
│   │   ├── ifvtex.json
│   │   ├── ifxetex.json
│   │   ├── import.json
│   │   ├── inputenc.json
│   │   ├── jurabib.json
│   │   ├── kantlipsum.json
│   │   ├── latex-209.json
│   │   ├── latex-dev.json
│   │   ├── latex-document.json
│   │   ├── latex-l2tabu.json
│   │   ├── layout.json
│   │   ├── letltxmacro.json
│   │   ├── libertine.json
│   │   ├── lipsum.json
│   │   ├── listings.json
│   │   ├── logsys.json
│   │   ├── longtable.json
│   │   ├── lscape.json
│   │   ├── ltxtable.json
│   │   ├── luatex.json
│   │   ├── luatodonotes.json
│   │   ├── manyfoot.json
│   │   ├── marvosym.json
│   │   ├── mathtools.json
│   │   ├── mdframed.json
│   │   ├── mdwlist.json
│   │   ├── memhfixc.json
│   │   ├── menukeys.json
│   │   ├── metrix.json
│   │   ├── mhchem.json
│   │   ├── microtype.json
│   │   ├── minted.json
│   │   ├── multicol.json
│   │   ├── multido.json
│   │   ├── multimedia.json
│   │   ├── multirow.json
│   │   ├── nameref.json
│   │   ├── natbib.json
│   │   ├── needspace.json
│   │   ├── newclude.json
│   │   ├── ngerman.json
│   │   ├── nicefrac.json
│   │   ├── nomencl.json
│   │   ├── nth.json
│   │   ├── paracol.json
│   │   ├── parskip.json
│   │   ├── pdfpages.json
│   │   ├── pgf.json
│   │   ├── pgfcore.json
│   │   ├── pgfplots.json
│   │   ├── physics.json
│   │   ├── physics2.json
│   │   ├── pifont.json
│   │   ├── placeins.json
│   │   ├── psfrag.json
│   │   ├── pst-3d.json
│   │   ├── pst-blur.json
│   │   ├── pst-char.json
│   │   ├── pst-coil.json
│   │   ├── pst-eps.json
│   │   ├── pst-fill.json
│   │   ├── pst-node.json
│   │   ├── pst-plot.json
│   │   ├── pst-text.json
│   │   ├── pst-tree.json
│   │   ├── pstricks.json
│   │   ├── rotating.json
│   │   ├── scraddr.json
│   │   ├── scrdate.json
│   │   ├── scrlfile.json
│   │   ├── scrpage2.json
│   │   ├── scrtime.json
│   │   ├── secsty.json
│   │   ├── sectsty.json
│   │   ├── setspace.json
│   │   ├── siunitx-special.json
│   │   ├── siunitx.json
│   │   ├── soul.json
│   │   ├── subcaption.json
│   │   ├── subfig.json
│   │   ├── subfigure.json
│   │   ├── subfiles.json
│   │   ├── supertabular.json
│   │   ├── svn-multi.json
│   │   ├── svninfo.json
│   │   ├── tabu.json
│   │   ├── tabularray.json
│   │   ├── tabularx.json
│   │   ├── tabulary.json
│   │   ├── tcolorbox.json
│   │   ├── tensor.json
│   │   ├── tex.json
│   │   ├── textcomp.json
│   │   ├── theorem.json
│   │   ├── tikz-cd.json
│   │   ├── tikz-timing.json
│   │   ├── tikz.json
│   │   ├── titlesec.json
│   │   ├── tkz-euclide.json
│   │   ├── tocbibind.json
│   │   ├── tocloft.json
│   │   ├── todonotes.json
│   │   ├── ulem.json
│   │   ├── units.json
│   │   ├── upgreek.json
│   │   ├── url.json
│   │   ├── varioref.json
│   │   ├── verse.json
│   │   ├── virginialake.json
│   │   ├── wasysym.json
│   │   ├── watermark.json
│   │   ├── xcolor.json
│   │   ├── xeCJK.json
│   │   ├── xeCJKfntef.json
│   │   ├── xepersian.json
│   │   ├── xetex.json
│   │   ├── xifthen.json
│   │   ├── xltxtra.json
│   │   ├── xparse.json
│   │   ├── xspace.json
│   │   ├── xtab.json
│   │   ├── xy.json
│   │   ├── yathesis.json
│   │   ├── yfonts.json
│   │   └── zhnumber.json
│   └── unimathsymbols.json
├── dev/
│   ├── README.md
│   ├── createSymbolSvgs.ts
│   ├── ctanpkglist.py
│   ├── cwl.list
│   ├── editviewer.py
│   ├── extra-packagenames.json
│   ├── getcwl.sh
│   ├── githooks/
│   │   └── pre-commit
│   ├── latex3command.py
│   ├── packages/
│   │   ├── 12many.json
│   │   ├── 2up.json
│   │   ├── Acorn.json
│   │   ├── Alegreya.json
│   │   ├── AlegreyaSans.json
│   │   ├── AnnSton.json
│   │   ├── AnonymousPro.json
│   │   ├── Archivo.json
│   │   ├── ArtNouv.json
│   │   ├── ArtNouvc.json
│   │   ├── Arvo.json
│   │   ├── BOONDOX-cal.json
│   │   ├── BOONDOX-calo.json
│   │   ├── BOONDOX-ds.json
│   │   ├── BOONDOX-frak.json
│   │   ├── BOONDOX-uprscr.json
│   │   ├── Baskervaldx.json
│   │   ├── CJK.json
│   │   ├── CJKfntef.json
│   │   ├── CJKnumb.json
│   │   ├── CJKpunct.json
│   │   ├── CJKutf8.json
│   │   ├── CJKvert.json
│   │   ├── Carrickc.json
│   │   ├── CascadiaCodePL.json
│   │   ├── CascadiaMono.json
│   │   ├── CascadiaMonoPL.json
│   │   ├── CharisSIL.json
│   │   ├── Chivo.json
│   │   ├── ClearSans.json
│   │   ├── CooperHewitt.json
│   │   ├── CormorantGaramond.json
│   │   ├── CoverPage.json
│   │   ├── CreationBoites.json
│   │   ├── CrimsonPro.json
│   │   ├── CronosPro-FontDef.json
│   │   ├── CronosPro.json
│   │   ├── DPcircling.json
│   │   ├── DejaVuSans.json
│   │   ├── DejaVuSansCondensed.json
│   │   ├── DejaVuSansMono.json
│   │   ├── DejaVuSerif.json
│   │   ├── DejaVuSerifCondensed.json
│   │   ├── ETbb.json
│   │   ├── Eichenla.json
│   │   ├── Eileen.json
│   │   ├── EileenBl.json
│   │   ├── Elzevier.json
│   │   ├── FenetreCas.json
│   │   ├── FiraMono.json
│   │   ├── FiraSans.json
│   │   ├── GS1.json
│   │   ├── GoMono.json
│   │   ├── GoSans.json
│   │   ├── GotIn.json
│   │   ├── GoudyIn.json
│   │   ├── Gudea.json
│   │   ├── HindMadurai.json
│   │   ├── IEEEtrantools.json
│   │   ├── InriaSans.json
│   │   ├── InriaSerif.json
│   │   ├── JeuxCartes.json
│   │   ├── Kinigcap.json
│   │   ├── Konanur.json
│   │   ├── Kramer.json
│   │   ├── LibreBodoni.json
│   │   ├── LibreBskvl.json
│   │   ├── LobsterTwo.json
│   │   ├── MULEenc.json
│   │   ├── Magra.json
│   │   ├── MinionPro.json
│   │   ├── MnSymbol.json
│   │   ├── MorrisIn.json
│   │   ├── MyriadPro-FontDef.json
│   │   ├── MyriadPro.json
│   │   ├── Nouveaud.json
│   │   ├── NumericPlots.json
│   │   ├── OldStandard.json
│   │   ├── Oswald.json
│   │   ├── OutilsGeomTikz.json
│   │   ├── PTMono.json
│   │   ├── PTSans.json
│   │   ├── PTSansCaption.json
│   │   ├── PTSansNarrow.json
│   │   ├── PTSerif.json
│   │   ├── PTSerifCaption.json
│   │   ├── PanneauxRoute.json
│   │   ├── PapierGurvan.json
│   │   ├── PixelArtTikz.json
│   │   ├── Play.json
│   │   ├── PlayfairDisplay.json
│   │   ├── PoiretOne.json
│   │   ├── ProfCollege.json
│   │   ├── ProfLabo.json
│   │   ├── ProfLycee.json
│   │   ├── ProfMaquette.json
│   │   ├── ProfSio.json
│   │   ├── ProjLib.json
│   │   ├── ResolSysteme.json
│   │   ├── Romantik.json
│   │   ├── Rothdn.json
│   │   ├── RoueQuestions.json
│   │   ├── Royal.json
│   │   ├── SASnRdisplay.json
│   │   ├── Sanremo.json
│   │   ├── Scrabble.json
│   │   ├── Starburst.json
│   │   ├── SympyCalc.json
│   │   ├── Tabbing.json
│   │   ├── TangramTikz.json
│   │   ├── TheanoDidot.json
│   │   ├── TheanoModern.json
│   │   ├── TheanoOldStyle.json
│   │   ├── Typocaps.json
│   │   ├── UniversalisADFStd.json
│   │   ├── WriteOnGrid.json
│   │   ├── XCharter.json
│   │   ├── Zallman.json
│   │   ├── a4.json
│   │   ├── a4wide.json
│   │   ├── abbrevs.json
│   │   ├── abc.json
│   │   ├── abntcite.json
│   │   ├── abntex2abrev.json
│   │   ├── abntex2cite.json
│   │   ├── aboensis.json
│   │   ├── abraces.json
│   │   ├── abspos.json
│   │   ├── abstract.json
│   │   ├── academicons.json
│   │   ├── accanthis.json
│   │   ├── accents.json
│   │   ├── accsupp.json
│   │   ├── achemso.json
│   │   ├── acro.json
│   │   ├── acromemory.json
│   │   ├── acronym.json
│   │   ├── acrosort.json
│   │   ├── actcodes.json
│   │   ├── actuarialangle.json
│   │   ├── actuarialsymbol.json
│   │   ├── add2.json
│   │   ├── addfont.json
│   │   ├── addlines.json
│   │   ├── addrset.json
│   │   ├── addtoluatexpath.json
│   │   ├── adfarrows.json
│   │   ├── adfbullets.json
│   │   ├── adforn.json
│   │   ├── adigraph.json
│   │   ├── adjcalc.json
│   │   ├── adjmulticol.json
│   │   ├── adjustbox.json
│   │   ├── adobecaslon.json
│   │   ├── adobeornaments.json
│   │   ├── adrlist.json
│   │   ├── adtrees.json
│   │   ├── advdate.json
│   │   ├── advice.json
│   │   ├── ae.json
│   │   ├── aeb-comment.json
│   │   ├── aeb-minitoc.json
│   │   ├── aeb_dad.json
│   │   ├── aeb_envelope.json
│   │   ├── aeb_mlink.json
│   │   ├── aeb_mobile.json
│   │   ├── aeb_pro.json
│   │   ├── aeb_tilebg.json
│   │   ├── aebxmp.json
│   │   ├── aecompl.json
│   │   ├── aeguill.json
│   │   ├── aesupp.json
│   │   ├── affilauthor.json
│   │   ├── afterpackage.json
│   │   ├── afterpage.json
│   │   ├── ajmacros.json
│   │   ├── akshar.json
│   │   ├── alchemist.json
│   │   ├── alertmessage.json
│   │   ├── alfaslabone.json
│   │   ├── algc.json
│   │   ├── algcompatible.json
│   │   ├── algmatlab.json
│   │   ├── algobox.json
│   │   ├── algolrevived.json
│   │   ├── algorithm.json
│   │   ├── algorithm2e.json
│   │   ├── algorithmic.json
│   │   ├── algorithmicx.json
│   │   ├── algpascal.json
│   │   ├── algpseudocode.json
│   │   ├── algpseudocodex.json
│   │   ├── algxpar.json
│   │   ├── aliascnt.json
│   │   ├── aliphat.json
│   │   ├── allauncl.json
│   │   ├── allcmin.json
│   │   ├── allegoth.json
│   │   ├── allhmin.json
│   │   ├── allhuncl.json
│   │   ├── allimaj.json
│   │   ├── allimin.json
│   │   ├── allpgoth.json
│   │   ├── allrtnd.json
│   │   ├── allrunes.json
│   │   ├── allrust.json
│   │   ├── allsqrc.json
│   │   ├── alltgoth.json
│   │   ├── alltt.json
│   │   ├── almendra.json
│   │   ├── alnumsec.json
│   │   ├── alphabeta.json
│   │   ├── alphalph.json
│   │   ├── alterqcm.json
│   │   ├── altfont.json
│   │   ├── altsubsup.json
│   │   ├── altverse.json
│   │   ├── ams-mdbch.json
│   │   ├── amsaddr.json
│   │   ├── amsbib.json
│   │   ├── amsbooka.json
│   │   ├── amsbsy.json
│   │   ├── amscd.json
│   │   ├── amscdx.json
│   │   ├── amsfonts.json
│   │   ├── amsmath.json
│   │   ├── amsmidx.json
│   │   ├── amsopn.json
│   │   ├── amsrefs.json
│   │   ├── amssymb.json
│   │   ├── amstext.json
│   │   ├── amsthm.json
│   │   ├── amsxtra.json
│   │   ├── analogclock.json
│   │   ├── andika.json
│   │   ├── animate.json
│   │   ├── annee-scolaire.json
│   │   ├── annot_pro.json
│   │   ├── annotate-equations.json
│   │   ├── anonchap.json
│   │   ├── anonymous-acm.json
│   │   ├── answers.json
│   │   ├── antanilipsum.json
│   │   ├── antpolt.json
│   │   ├── anttor.json
│   │   ├── aobs-tikz.json
│   │   ├── apacite.json
│   │   ├── appendix.json
│   │   ├── appendixnumberbeamer.json
│   │   ├── apptools.json
│   │   ├── apxproof.json
│   │   ├── ar.json
│   │   ├── arabluatex.json
│   │   ├── arabxetex.json
│   │   ├── aramaic.json
│   │   ├── arev.json
│   │   ├── arevmath.json
│   │   ├── arevtext.json
│   │   ├── argumentation.json
│   │   ├── arimo.json
│   │   ├── armtex.json
│   │   ├── array.json
│   │   ├── arraycols.json
│   │   ├── arrayjobx.json
│   │   ├── arraysort.json
│   │   ├── arsclassica.json
│   │   ├── arsenal.json
│   │   ├── artthreads.json
│   │   ├── arydshln.json
│   │   ├── asapsym.json
│   │   ├── ascii.json
│   │   ├── asciilist.json
│   │   ├── ascmac.json
│   │   ├── askinclude.json
│   │   ├── askincv1.json
│   │   ├── askmaps.json
│   │   ├── asmewide.json
│   │   ├── assoccnt.json
│   │   ├── association-matrix.json
│   │   ├── assurelatexmode.json
│   │   ├── asternote.json
│   │   ├── asyalign.json
│   │   ├── asycolors.json
│   │   ├── asyfig.json
│   │   ├── asymptote.json
│   │   ├── asypictureB.json
│   │   ├── asyprocess.json
│   │   ├── at.json
│   │   ├── atbegshi.json
│   │   ├── atendofenv.json
│   │   ├── athnum.json
│   │   ├── atkinson.json
│   │   ├── attachfile.json
│   │   ├── attachfile2.json
│   │   ├── attrib.json
│   │   ├── atveryend.json
│   │   ├── auncial.json
│   │   ├── aurical.json
│   │   ├── aurl.json
│   │   ├── authblk.json
│   │   ├── authoraftertitle.json
│   │   ├── authorarchive.json
│   │   ├── authorindex.json
│   │   ├── auto-pst-pdf-lua.json
│   │   ├── auto-pst-pdf.json
│   │   ├── autoaligne.json
│   │   ├── autobreak.json
│   │   ├── autofancyhdr.json
│   │   ├── autolist.json
│   │   ├── automultiplechoice.json
│   │   ├── autonum.json
│   │   ├── autopdf.json
│   │   ├── autopuncitems.json
│   │   ├── autotype.json
│   │   ├── auxhook.json
│   │   ├── avremu.json
│   │   ├── awesomebox.json
│   │   ├── axessibility.json
│   │   ├── axodraw2.json
│   │   ├── babel.json
│   │   ├── babelbib.json
│   │   ├── babyloniannum.json
│   │   ├── background.json
│   │   ├── backnaur.json
│   │   ├── backref.json
│   │   ├── balance.json
│   │   ├── bangla.json
│   │   ├── bargraph-js.json
│   │   ├── barracuda.json
│   │   ├── bashful.json
│   │   ├── basicarith.json
│   │   ├── baskervald.json
│   │   ├── baskervillef.json
│   │   ├── basque-date.json
│   │   ├── bbding.json
│   │   ├── bbm.json
│   │   ├── bbold.json
│   │   ├── bboldx.json
│   │   ├── bchart.json
│   │   ├── bclogo.json
│   │   ├── beamerappendixnote.json
│   │   ├── beamerarticle.json
│   │   ├── beameraudience.json
│   │   ├── beamerbasearticle.json
│   │   ├── beamerbaseauxtemplates.json
│   │   ├── beamerbaseboxes.json
│   │   ├── beamerbasecolor.json
│   │   ├── beamerbasecompatibility.json
│   │   ├── beamerbasefont.json
│   │   ├── beamerbaseframe.json
│   │   ├── beamerbaseframecomponents.json
│   │   ├── beamerbaseframesize.json
│   │   ├── beamerbaselocalstructure.json
│   │   ├── beamerbasemisc.json
│   │   ├── beamerbasemodes.json
│   │   ├── beamerbasenavigation.json
│   │   ├── beamerbasenotes.json
│   │   ├── beamerbaseoptions.json
│   │   ├── beamerbaseoverlay.json
│   │   ├── beamerbaserequires.json
│   │   ├── beamerbasesection.json
│   │   ├── beamerbasetemplates.json
│   │   ├── beamerbasethemes.json
│   │   ├── beamerbasetheorems.json
│   │   ├── beamerbasetitle.json
│   │   ├── beamerbasetoc.json
│   │   ├── beamerbasetranslator.json
│   │   ├── beamerbasetwoscreens.json
│   │   ├── beamerbaseverbatim.json
│   │   ├── beamerfoils.json
│   │   ├── beamerposter.json
│   │   ├── beamerprosper.json
│   │   ├── beamerseminar.json
│   │   ├── beamersubframe.json
│   │   ├── beamertexpower.json
│   │   ├── beamertheme-light.json
│   │   ├── beamerthemeAmurmaple.json
│   │   ├── beamerthemeArguelles.json
│   │   ├── beamerthemeBFH.json
│   │   ├── beamerthemeBergen.json
│   │   ├── beamerthemeBerkeley.json
│   │   ├── beamerthemeBerlin.json
│   │   ├── beamerthemeBerlinFU.json
│   │   ├── beamerthemeBoadilla.json
│   │   ├── beamerthemeCambridgeUS.json
│   │   ├── beamerthemeCuerna.json
│   │   ├── beamerthemeDetlevCM.json
│   │   ├── beamerthemeDresden.json
│   │   ├── beamerthemeEastLansing.json
│   │   ├── beamerthemeFhG.json
│   │   ├── beamerthemeGoettingen.json
│   │   ├── beamerthemeHannover.json
│   │   ├── beamerthemeHeavenlyClouds.json
│   │   ├── beamerthemeIlmenau.json
│   │   ├── beamerthemeMadrid.json
│   │   ├── beamerthemeMarburg.json
│   │   ├── beamerthemeNord.json
│   │   ├── beamerthemePaloAlto.json
│   │   ├── beamerthemeRochester.json
│   │   ├── beamerthemeSaintPetersburg.json
│   │   ├── beamerthemeSimpleDarkBlue.json
│   │   ├── beamerthemeSimplePlus.json
│   │   ├── beamerthemeSingapore.json
│   │   ├── beamerthemeSzeged.json
│   │   ├── beamerthemeTUDa.json
│   │   ├── beamerthemeTianQing.json
│   │   ├── beamerthemeTorinoTh.json
│   │   ├── beamerthemeVerona.json
│   │   ├── beamerthemeXiaoshan.json
│   │   ├── beamerthemeboxes.json
│   │   ├── beamerthemeepyt.json
│   │   ├── beamerthemefocus.json
│   │   ├── beamerthemehitszbeamer.json
│   │   ├── beamerthemehohenheim.json
│   │   ├── beamerthemelalic.json
│   │   ├── beamerthememetropolis.json
│   │   ├── beamerthememoloch.json
│   │   ├── beamerthemepureminimalistic.json
│   │   ├── beamerthemesidebar.json
│   │   ├── beamerthemetamu.json
│   │   ├── beamerthemethubeamer.json
│   │   ├── beamerthemetree.json
│   │   ├── beamerthemetrigon.json
│   │   ├── bearwear.json
│   │   ├── begingreek.json
│   │   ├── begriff.json
│   │   ├── bera.json
│   │   ├── beramono.json
│   │   ├── berasans.json
│   │   ├── beraserif.json
│   │   ├── berenis.json
│   │   ├── betababel.json
│   │   ├── beton.json
│   │   ├── beuron.json
│   │   ├── bewerbung-cv.json
│   │   ├── bewerbung.json
│   │   ├── bez123.json
│   │   ├── bezierplot.json
│   │   ├── bfhcolors.json
│   │   ├── bfhfonts.json
│   │   ├── bfhlayout.json
│   │   ├── bfhletter.json
│   │   ├── bfhmodule.json
│   │   ├── bguq.json
│   │   ├── bib2qr.json
│   │   ├── bibcop.json
│   │   ├── bibentry.json
│   │   ├── biblatex-archaeology.json
│   │   ├── biblatex-chicago.json
│   │   ├── biblatex-cv.json
│   │   ├── biblatex-ext-oa-doapi.json
│   │   ├── biblatex-ext-oa.json
│   │   ├── biblatex-ext-oasymb-l3draw.json
│   │   ├── biblatex-ext-oasymb-pict2e.json
│   │   ├── biblatex-ext-oasymb-tikz.json
│   │   ├── biblatex-ext-tabular.json
│   │   ├── biblatex-license.json
│   │   ├── biblatex-ms.json
│   │   ├── biblatex-multiple-dm.json
│   │   ├── biblatex-readbbl.json
│   │   ├── biblatex-shortfields.json
│   │   ├── biblatex-source-division.json
│   │   ├── biblatex.json
│   │   ├── biblatex2bibitem.json
│   │   ├── bibleref-french.json
│   │   ├── bibleref-german.json
│   │   ├── bibleref-lds.json
│   │   ├── bibleref-mouth.json
│   │   ├── bibleref-parse.json
│   │   ├── bibleref-xidx.json
│   │   ├── bibleref.json
│   │   ├── bibletext.json
│   │   ├── bibnames.json
│   │   ├── bibpes.json
│   │   ├── bibtopic.json
│   │   ├── bibtopicprefix.json
│   │   ├── bibunits.json
│   │   ├── bicaption.json
│   │   ├── bickham.json
│   │   ├── bidi-atbegshi.json
│   │   ├── bidi-perpage.json
│   │   ├── bidi.json
│   │   ├── bidicode.json
│   │   ├── bidicontour.json
│   │   ├── bidihl.json
│   │   ├── bidipagegrid.json
│   │   ├── bidipoem.json
│   │   ├── bidishadowtext.json
│   │   ├── biditools.json
│   │   ├── bidituftefloat.json
│   │   ├── bidituftegeneralstructure.json
│   │   ├── bidituftehyperref.json
│   │   ├── bidituftesidenote.json
│   │   ├── bidituftetitle.json
│   │   ├── bidituftetoc.json
│   │   ├── bigdelim.json
│   │   ├── bigfoot.json
│   │   ├── bigintcalc.json
│   │   ├── bigints.json
│   │   ├── bigstrut.json
│   │   ├── bilingualpages.json
│   │   ├── binarytree.json
│   │   ├── biochemistry-colors.json
│   │   ├── biocon.json
│   │   ├── biokey.json
│   │   ├── biolinum.json
│   │   ├── biolist.json
│   │   ├── biotex.json
│   │   ├── bitelist.json
│   │   ├── bitpattern.json
│   │   ├── bitset.json
│   │   ├── bitter.json
│   │   ├── bizcard.json
│   │   ├── bkltprnt.json
│   │   ├── blindtext.json
│   │   ├── blkarray.json
│   │   ├── blkcntrl.json
│   │   ├── blochsphere.json
│   │   ├── bloques.json
│   │   ├── blowup.json
│   │   ├── blox.json
│   │   ├── bm.json
│   │   ├── bmpsize-base.json
│   │   ├── bmpsize.json
│   │   ├── bnumexpr.json
│   │   ├── bodegraph.json
│   │   ├── bodeplot.json
│   │   ├── bohr.json
│   │   ├── boisik.json
│   │   ├── boites.json
│   │   ├── boites_exemples.json
│   │   ├── bold-extra.json
│   │   ├── boldline.json
│   │   ├── boldtensors.json
│   │   ├── bondcolor.json
│   │   ├── bondgraph.json
│   │   ├── bondgraphs.json
│   │   ├── bonum-otf.json
│   │   ├── book-of-common-prayer.json
│   │   ├── booklet.json
│   │   ├── bookmark.json
│   │   ├── booktabs.json
│   │   ├── boolexpr.json
│   │   ├── bophook.json
│   │   ├── boustr.json
│   │   ├── boxdims.json
│   │   ├── boxedminipage.json
│   │   ├── boxhandler.json
│   │   ├── boxit.json
│   │   ├── bpchem.json
│   │   ├── bracketkey.json
│   │   ├── braille.json
│   │   ├── braket.json
│   │   ├── breakurl.json
│   │   ├── bredzenie.json
│   │   ├── breqn.json
│   │   ├── bropd.json
│   │   ├── btxdockit.json
│   │   ├── bubblesort.json
│   │   ├── bullcntr.json
│   │   ├── bullenum.json
│   │   ├── bussproofs-extra.json
│   │   ├── bussproofs.json
│   │   ├── bxbase.json
│   │   ├── bxcalc.json
│   │   ├── bxcalcux.json
│   │   ├── bxcjkjatype.json
│   │   ├── bxcjkvert.json
│   │   ├── bxdvidriver.json
│   │   ├── bxeepic.json
│   │   ├── bxenclose.json
│   │   ├── bxghost-lib.json
│   │   ├── bxghost.json
│   │   ├── bxjaholiday.json
│   │   ├── bxjalipsum.json
│   │   ├── bxjaprnind.json
│   │   ├── bxjatoucs.json
│   │   ├── bxnewfont.json
│   │   ├── bxorigcapt.json
│   │   ├── bxpapersize.json
│   │   ├── bxpdfver.json
│   │   ├── bxtexlogo.json
│   │   ├── bxtoolbox.json
│   │   ├── bxwareki.json
│   │   ├── byo-twemojis.json
│   │   ├── byrne.json
│   │   ├── bytefield.json
│   │   ├── byzantinemusic.json
│   │   ├── cabin.json
│   │   ├── cahierprof.json
│   │   ├── caladea.json
│   │   ├── calc.json
│   │   ├── calcage.json
│   │   ├── calcfrac.json
│   │   ├── calctab.json
│   │   ├── calculation.json
│   │   ├── calculator.json
│   │   ├── calculus.json
│   │   ├── calligra.json
│   │   ├── callouts.json
│   │   ├── cals.json
│   │   ├── cancel.json
│   │   ├── canoniclayout.json
│   │   ├── cantarell.json
│   │   ├── capt-of.json
│   │   ├── captcont.json
│   │   ├── captdef.json
│   │   ├── caption-light.json
│   │   ├── caption.json
│   │   ├── caption3.json
│   │   ├── carbohydrates.json
│   │   ├── carlito.json
│   │   ├── carolmin.json
│   │   ├── carom.json
│   │   ├── cartonaugh.json
│   │   ├── cas-common.json
│   │   ├── cascade.json
│   │   ├── cascadia-code.json
│   │   ├── cases.json
│   │   ├── casiofont.json
│   │   ├── catchdq.json
│   │   ├── catchfile.json
│   │   ├── catchfilebetweentags.json
│   │   ├── catechis.json
│   │   ├── catppuccinpalette.json
│   │   ├── causets.json
│   │   ├── ccaption.json
│   │   ├── ccfonts.json
│   │   ├── ccicons.json
│   │   ├── cclicenses.json
│   │   ├── ccycle.json
│   │   ├── cdcmd.json
│   │   ├── cellprops.json
│   │   ├── cellspace.json
│   │   ├── censor.json
│   │   ├── centeredline.json
│   │   ├── centerlastline.json
│   │   ├── centernot.json
│   │   ├── cesenaexam.json
│   │   ├── cfr-lm.json
│   │   ├── cgloss4e.json
│   │   ├── changebar.json
│   │   ├── changelog.json
│   │   ├── changepage.json
│   │   ├── changes.json
│   │   ├── chappg.json
│   │   ├── chapterbib.json
│   │   ├── chapterfolder.json
│   │   ├── chbibref.json
│   │   ├── checklistings.json
│   │   ├── chemarr.json
│   │   ├── chemarrow.json
│   │   ├── chemcompounds.json
│   │   ├── chemfig.json
│   │   ├── chemformula-ru.json
│   │   ├── chemformula.json
│   │   ├── chemgreek.json
│   │   ├── chemist.json
│   │   ├── chemmacros.json
│   │   ├── chemnum.json
│   │   ├── chemobabel.json
│   │   ├── chemplants.json
│   │   ├── chemscheme.json
│   │   ├── chemschemex.json
│   │   ├── chemsec.json
│   │   ├── chemstr.json
│   │   ├── chemstyle.json
│   │   ├── cherokee.json
│   │   ├── chessboard.json
│   │   ├── chessfss.json
│   │   ├── chet.json
│   │   ├── chextras.json
│   │   ├── chhaya.json
│   │   ├── chickenize.json
│   │   ├── china2e.json
│   │   ├── chinesechess.json
│   │   ├── chkfloat.json
│   │   ├── chmst-pdf.json
│   │   ├── chngcntr.json
│   │   ├── chordbars.json
│   │   ├── chordbox.json
│   │   ├── chronology.json
│   │   ├── chronosys.json
│   │   ├── churchslavonic.json
│   │   ├── cinzel.json
│   │   ├── circle.json
│   │   ├── circledsteps.json
│   │   ├── circledtext.json
│   │   ├── circuitikz.json
│   │   ├── circularglyphs.json
│   │   ├── citation-style-language.json
│   │   ├── cite.json
│   │   ├── citeall.json
│   │   ├── cjhebrew.json
│   │   ├── cjkutf8-josa.json
│   │   ├── cjkutf8-ko.json
│   │   ├── clara.json
│   │   ├── class-BHCexam.json
│   │   ├── class-FUbeamer.json
│   │   ├── class-FUpowerdot.json
│   │   ├── class-IEEEconf.json
│   │   ├── class-IEEEtran.json
│   │   ├── class-ReadableCV.json
│   │   ├── class-a0poster.json
│   │   ├── class-aalok.json
│   │   ├── class-abntex2.json
│   │   ├── class-abntexto.json
│   │   ├── class-achemso.json
│   │   ├── class-acm-book.json
│   │   ├── class-acmart.json
│   │   ├── class-altacv.json
│   │   ├── class-amnestyreport.json
│   │   ├── class-amsart.json
│   │   ├── class-amsbkrev.json
│   │   ├── class-amsbook.json
│   │   ├── class-amsldoc.json
│   │   ├── class-amsproc.json
│   │   ├── class-amstext-l.json
│   │   ├── class-aomart.json
│   │   ├── class-apa6.json
│   │   ├── class-apa7.json
│   │   ├── class-arabic-book.json
│   │   ├── class-argetabelle.json
│   │   ├── class-artikel1.json
│   │   ├── class-artikel2.json
│   │   ├── class-artikel3.json
│   │   ├── class-asmeconf.json
│   │   ├── class-asmejour.json
│   │   ├── class-aucklandthesis.json
│   │   ├── class-bangorcsthesis.json
│   │   ├── class-bankstatement.json
│   │   ├── class-basque-book.json
│   │   ├── class-beamer-rl.json
│   │   ├── class-beamer.json
│   │   ├── class-beamerswitch.json
│   │   ├── class-beaulivre.json
│   │   ├── class-beilstein.json
│   │   ├── class-bewerbung.json
│   │   ├── class-bfhbeamer.json
│   │   ├── class-bfhpub.json
│   │   ├── class-bfhsciposter.json
│   │   ├── class-bfhthesis.json
│   │   ├── class-biditufte-book.json
│   │   ├── class-biditufte-handout.json
│   │   ├── class-bitart.json
│   │   ├── class-bitbeamer.json
│   │   ├── class-bitbook.json
│   │   ├── class-bithesis.json
│   │   ├── class-bitreport.json
│   │   ├── class-bjfuthesis.json
│   │   ├── class-boek.json
│   │   ├── class-boek3.json
│   │   ├── class-book.json
│   │   ├── class-bookcover.json
│   │   ├── class-bookshelf.json
│   │   ├── class-br-lex.json
│   │   ├── class-brandeis-dissertation.json
│   │   ├── class-brandeis-thesis.json
│   │   ├── class-brief.json
│   │   ├── class-buctcover.json
│   │   ├── class-buctthesis.json
│   │   ├── class-bull-l.json
│   │   ├── class-businesscard-qrcode.json
│   │   ├── class-caesar_book.json
│   │   ├── class-cas-dc.json
│   │   ├── class-cas-sc.json
│   │   ├── class-cesenaexam.json
│   │   ├── class-cheatsheet.json
│   │   ├── class-chletter.json
│   │   ├── class-cnltx-doc.json
│   │   ├── class-codedoc.json
│   │   ├── class-colorart.json
│   │   ├── class-colorbook.json
│   │   ├── class-combine.json
│   │   ├── class-contracard.json
│   │   ├── class-cours.json
│   │   ├── class-cquthesis.json
│   │   ├── class-csassignments.json
│   │   ├── class-ctexart.json
│   │   ├── class-ctexbeamer.json
│   │   ├── class-ctexbook.json
│   │   ├── class-ctexrep.json
│   │   ├── class-ctxdoc.json
│   │   ├── class-curve.json
│   │   ├── class-droit-fr.json
│   │   ├── class-dtk.json
│   │   ├── class-easybook.json
│   │   ├── class-ecgd-l.json
│   │   ├── class-einfart.json
│   │   ├── class-ejpecp.json
│   │   ├── class-elegantbook.json
│   │   ├── class-elegantnote.json
│   │   ├── class-elegantpaper.json
│   │   ├── class-elpres.json
│   │   ├── class-elsarticle.json
│   │   ├── class-elteikthesis.json
│   │   ├── class-emisa.json
│   │   ├── class-ert-l.json
│   │   ├── class-europasscv.json
│   │   ├── class-europecv.json
│   │   ├── class-exam-n.json
│   │   ├── class-exam-zh.json
│   │   ├── class-exam.json
│   │   ├── class-examz.json
│   │   ├── class-exesheet.json
│   │   ├── class-extarticle.json
│   │   ├── class-extbook.json
│   │   ├── class-extletter.json
│   │   ├── class-extproc.json
│   │   ├── class-extreport.json
│   │   ├── class-factura.json
│   │   ├── class-facture.json
│   │   ├── class-fancyhandout.json
│   │   ├── class-fancyslides.json
│   │   ├── class-fduthesis-en.json
│   │   ├── class-fduthesis.json
│   │   ├── class-fei.json
│   │   ├── class-fiche.json
│   │   ├── class-fithesis4.json
│   │   ├── class-flashcards.json
│   │   ├── class-g-brief.json
│   │   ├── class-g-brief2.json
│   │   ├── class-gammas.json
│   │   ├── class-geradwp.json
│   │   ├── class-grant-afosr.json
│   │   ├── class-grant-aro.json
│   │   ├── class-grant-darpa.json
│   │   ├── class-grant-doe.json
│   │   ├── class-grant-nih.json
│   │   ├── class-grant-nrl.json
│   │   ├── class-grant-nsf.json
│   │   ├── class-grant-onr.json
│   │   ├── class-grant.json
│   │   ├── class-graphpaper.json
│   │   ├── class-gridslides.json
│   │   ├── class-gtpart.json
│   │   ├── class-guitartabs.json
│   │   ├── class-guitbeamer.json
│   │   ├── class-gztarticle.json
│   │   ├── class-harnon-cv.json
│   │   ├── class-hausarbeit-jura.json
│   │   ├── class-hecthese.json
│   │   ├── class-hepthesis.json
│   │   ├── class-hfutthesis.json
│   │   ├── class-hgbarticle.json
│   │   ├── class-hgbreport.json
│   │   ├── class-hgbthesis.json
│   │   ├── class-hitec.json
│   │   ├── class-hletter.json
│   │   ├── class-homework.json
│   │   ├── class-hu-berlin-letter.json
│   │   ├── class-idcc.json
│   │   ├── class-ijdc-v14.json
│   │   ├── class-ijdc-v9.json
│   │   ├── class-image-gallery.json
│   │   ├── class-imsart.json
│   │   ├── class-invoice-class.json
│   │   ├── class-iodhbwm.json
│   │   ├── class-iopart.json
│   │   ├── class-iscram.json
│   │   ├── class-isodoc.json
│   │   ├── class-isov2.json
│   │   ├── class-jacow.json
│   │   ├── class-jag-l.json
│   │   ├── class-jams-l.json
│   │   ├── class-jarticle.json
│   │   ├── class-jbook.json
│   │   ├── class-jj_game.json
│   │   ├── class-jlreq.json
│   │   ├── class-jltxdoc.json
│   │   ├── class-jmlr.json
│   │   ├── class-jourcl.json
│   │   ├── class-jreport.json
│   │   ├── class-jsarticle.json
│   │   ├── class-jsbook.json
│   │   ├── class-jspf.json
│   │   ├── class-jsreport.json
│   │   ├── class-jurabook.json
│   │   ├── class-juraovw.json
│   │   ├── class-juraurtl.json
│   │   ├── class-jwjournal.json
│   │   ├── class-kaobook.json
│   │   ├── class-kaohandt.json
│   │   ├── class-kdpcover.json
│   │   ├── class-kerntest.json
│   │   ├── class-kiyou.json
│   │   ├── class-komacv.json
│   │   ├── class-l3doc.json
│   │   ├── class-labbook.json
│   │   ├── class-langscibook.json
│   │   ├── class-leadsheet.json
│   │   ├── class-leaflet.json
│   │   ├── class-lebhart.json
│   │   ├── class-letgut.json
│   │   ├── class-letter.json
│   │   ├── class-lettre.json
│   │   ├── class-limap.json
│   │   ├── class-limecv.json
│   │   ├── class-llncs.json
│   │   ├── class-lni.json
│   │   ├── class-ltjarticle.json
│   │   ├── class-ltjbook.json
│   │   ├── class-ltjltxdoc.json
│   │   ├── class-ltjreport.json
│   │   ├── class-ltjsarticle.json
│   │   ├── class-ltjsbook.json
│   │   ├── class-ltjskiyou.json
│   │   ├── class-ltjspf.json
│   │   ├── class-ltjsreport.json
│   │   ├── class-ltjtarticle.json
│   │   ├── class-ltjtbook.json
│   │   ├── class-ltjtreport.json
│   │   ├── class-ltnews.json
│   │   ├── class-ltugboat.json
│   │   ├── class-ltxdoc.json
│   │   ├── class-ltxdockit.json
│   │   ├── class-ltxguide.json
│   │   ├── class-ltxguidex.json
│   │   ├── class-maabook.json
│   │   ├── class-matapli.json
│   │   ├── class-mcmthesis.json
│   │   ├── class-mcom-l.json
│   │   ├── class-meetingmins.json
│   │   ├── class-memo-l.json
│   │   ├── class-memoir.json
│   │   ├── class-mensa-tex.json
│   │   ├── class-metanorma.json
│   │   ├── class-milog.json
│   │   ├── class-minimart.json
│   │   ├── class-minimbook.json
│   │   ├── class-mitthesis.json
│   │   ├── class-mla.json
│   │   ├── class-mnras.json
│   │   ├── class-moderncv.json
│   │   ├── class-modernposter.json
│   │   ├── class-mosc-l.json
│   │   ├── class-msu-thesis.json
│   │   ├── class-mucproc.json
│   │   ├── class-mugsthesis.json
│   │   ├── class-mwart.json
│   │   ├── class-mwbk.json
│   │   ├── class-mwrep.json
│   │   ├── class-mynsfc.json
│   │   ├── class-nanicolle.json
│   │   ├── class-ncc.json
│   │   ├── class-nddiss2e.json
│   │   ├── class-newlfm.json
│   │   ├── class-njustthesis.json
│   │   ├── class-njuthesis.json
│   │   ├── class-nlctdoc.json
│   │   ├── class-nostarch.json
│   │   ├── class-novel.json
│   │   ├── class-nwafuthesis.json
│   │   ├── class-nwejmart.json
│   │   ├── class-oblivoir.json
│   │   ├── class-octavo.json
│   │   ├── class-oup-authoring-template.json
│   │   ├── class-pagelayout.json
│   │   ├── class-papertex.json
│   │   ├── class-pdfArticle.json
│   │   ├── class-petiteannonce.json
│   │   ├── class-phfextendedabstract.json
│   │   ├── class-philosophersimprint.json
│   │   ├── class-photobook.json
│   │   ├── class-pkuthss.json
│   │   ├── class-powerdot.json
│   │   ├── class-pressrelease.json
│   │   ├── class-proc-l.json
│   │   ├── class-proc.json
│   │   ├── class-protocol.json
│   │   ├── class-prtec.json
│   │   ├── class-pylatex.json
│   │   ├── class-qam-l.json
│   │   ├── class-qcm.json
│   │   ├── class-quantumarticle.json
│   │   ├── class-quantumview.json
│   │   ├── class-randexam.json
│   │   ├── class-rapport1.json
│   │   ├── class-rapport3.json
│   │   ├── class-report.json
│   │   ├── class-resphilosophica.json
│   │   ├── class-resumecls.json
│   │   ├── class-revtex4-2.json
│   │   ├── class-ryersonSGSThesis.json
│   │   ├── class-sagej.json
│   │   ├── class-sapthesis.json
│   │   ├── class-schulma-ab.json
│   │   ├── class-schulma-gutachten.json
│   │   ├── class-schulma-klausur.json
│   │   ├── class-schulma-komp.json
│   │   ├── class-schulma-mdlprf.json
│   │   ├── class-schulma-praes.json
│   │   ├── class-schwalbe.json
│   │   ├── class-sciposter.json
│   │   ├── class-scrartcl,scrreprt,scrbook.json
│   │   ├── class-scrartcl.json
│   │   ├── class-scrbook.json
│   │   ├── class-scrdoc.json
│   │   ├── class-screenplay.json
│   │   ├── class-scrlttr2.json
│   │   ├── class-scrreprt.json
│   │   ├── class-sdapsclassic.json
│   │   ├── class-se2thesis.json
│   │   ├── class-shtthesis.json
│   │   ├── class-simplethesisdissertation.json
│   │   ├── class-simplivre.json
│   │   ├── class-skdoc.json
│   │   ├── class-skrapport.json
│   │   ├── class-slides.json
│   │   ├── class-smfart.json
│   │   ├── class-smfbook.json
│   │   ├── class-sn-jnl.json
│   │   ├── class-spmj-l.json
│   │   ├── class-sr-vorl.json
│   │   ├── class-sslides.json
│   │   ├── class-stage.json
│   │   ├── class-standalone.json
│   │   ├── class-stex.json
│   │   ├── class-suftesi.json
│   │   ├── class-surv-l.json
│   │   ├── class-svmono.json
│   │   ├── class-svmult.json
│   │   ├── class-talk.json
│   │   ├── class-tarticle.json
│   │   ├── class-tbook.json
│   │   ├── class-thesis-ekf.json
│   │   ├── class-thuthesis.json
│   │   ├── class-tikz-kalender.json
│   │   ├── class-tikzposter.json
│   │   ├── class-tkz-doc.json
│   │   ├── class-tlc-article.json
│   │   ├── class-toptesi.json
│   │   ├── class-tpms-l.json
│   │   ├── class-tran-l.json
│   │   ├── class-trans2-l.json
│   │   ├── class-treport.json
│   │   ├── class-tudabeamer.json
│   │   ├── class-tudaexercise.json
│   │   ├── class-tudaleaflet.json
│   │   ├── class-tudaletter.json
│   │   ├── class-tudaposter.json
│   │   ├── class-tudapub.json
│   │   ├── class-tudasciposter.json
│   │   ├── class-tudscrartcl.json
│   │   ├── class-tudscrbook.json
│   │   ├── class-tudscrposter.json
│   │   ├── class-tudscrreprt.json
│   │   ├── class-tufte-book.json
│   │   ├── class-tufte-handout.json
│   │   ├── class-turabian-researchpaper.json
│   │   ├── class-turabian-thesis.json
│   │   ├── class-ucalgmthesis.json
│   │   ├── class-ucbthesis.json
│   │   ├── class-ucdavisthesis.json
│   │   ├── class-udes-genie-these.json
│   │   ├── class-udiss.json
│   │   ├── class-ujarticle.json
│   │   ├── class-ujbook.json
│   │   ├── class-ujreport.json
│   │   ├── class-ukbill.json
│   │   ├── class-ulect-l.json
│   │   ├── class-ulthese.json
│   │   ├── class-unbtex.json
│   │   ├── class-unifith.json
│   │   ├── class-unigrazpub.json
│   │   ├── class-univie-ling-expose.json
│   │   ├── class-univie-ling-handout.json
│   │   ├── class-univie-ling-paper.json
│   │   ├── class-univie-ling-poster.json
│   │   ├── class-univie-ling-thesis.json
│   │   ├── class-univie-ling-wlg.json
│   │   ├── class-upmethodology-document.json
│   │   ├── class-ut-thesis.json
│   │   ├── class-utarticle.json
│   │   ├── class-utbook.json
│   │   ├── class-utexasthesis.json
│   │   ├── class-utreport.json
│   │   ├── class-uuthesis2e.json
│   │   ├── class-verifica.json
│   │   ├── class-webquiz.json
│   │   ├── class-wgexport.json
│   │   ├── class-willowtreebook.json
│   │   ├── class-xdupgthesis.json
│   │   ├── class-xduugthesis.json
│   │   ├── class-xduugtp.json
│   │   ├── class-xebaposter.json
│   │   ├── class-xepersian-magazine.json
│   │   ├── class-ximera.json
│   │   ├── class-xourse.json
│   │   ├── class-yaletter.json
│   │   ├── class-yathesis.json
│   │   ├── class-ycbook.json
│   │   ├── class-ydoc.json
│   │   ├── class-zbMATH.json
│   │   ├── classico.json
│   │   ├── classics.json
│   │   ├── classicthesis-arsclassica.json
│   │   ├── classicthesis.json
│   │   ├── classif2.json
│   │   ├── classlist.json
│   │   ├── cleanthesis.json
│   │   ├── clefval.json
│   │   ├── cleveref-forward.json
│   │   ├── cleveref-usedon.json
│   │   ├── cleveref.json
│   │   ├── clicks.json
│   │   ├── clipboard.json
│   │   ├── clock.json
│   │   ├── clojure-pamphlet.json
│   │   ├── cloze.json
│   │   ├── clrdblpg.json
│   │   ├── clrscode3e.json
│   │   ├── clrstrip.json
│   │   ├── cmathbb.json
│   │   ├── cmbright.json
│   │   ├── cmdstring.json
│   │   ├── cmdtrack.json
│   │   ├── cmll.json
│   │   ├── cmsendnotes.json
│   │   ├── cmsrb.json
│   │   ├── cmtt.json
│   │   ├── cmupint.json
│   │   ├── cncolours.json
│   │   ├── cnlogo.json
│   │   ├── cnltx-base.json
│   │   ├── cnltx-example.json
│   │   ├── cnltx-listings.json
│   │   ├── cnltx-names.json
│   │   ├── cnltx-tools.json
│   │   ├── cnltx-translations.json
│   │   ├── cnltx.json
│   │   ├── cntdwn.json
│   │   ├── cntformats.json
│   │   ├── cochineal.json
│   │   ├── codeanatomy.json
│   │   ├── codebox.json
│   │   ├── codedescribe.json
│   │   ├── codehigh.json
│   │   ├── codelisting.json
│   │   ├── codesection.json
│   │   ├── coelacanth.json
│   │   ├── coffeestains.json
│   │   ├── collargs.json
│   │   ├── collcell.json
│   │   ├── collect.json
│   │   ├── collectbox.json
│   │   ├── college-math-j.json
│   │   ├── collref.json
│   │   ├── colonequals.json
│   │   ├── colophon.json
│   │   ├── color-edits.json
│   │   ├── color.json
│   │   ├── colorblind.json
│   │   ├── colordoc.json
│   │   ├── colordvi.json
│   │   ├── colorframed.json
│   │   ├── colorinfo.json
│   │   ├── colorist-fancy.json
│   │   ├── colorist.json
│   │   ├── colorjamo.json
│   │   ├── colorpalette.json
│   │   ├── colorspace.json
│   │   ├── colortbl.json
│   │   ├── colorwav.json
│   │   ├── colorweb.json
│   │   ├── colourchange.json
│   │   ├── combelow.json
│   │   ├── combinedgraphics.json
│   │   ├── combofont.json
│   │   ├── comfortaa.json
│   │   ├── comicneue.json
│   │   ├── comicsans.json
│   │   ├── comma.json
│   │   ├── commado.json
│   │   ├── commath.json
│   │   ├── commedit.json
│   │   ├── comment.json
│   │   ├── commonunicode.json
│   │   ├── commutative-diagrams.json
│   │   ├── competences.json
│   │   ├── complexity.json
│   │   ├── compsci.json
│   │   ├── concepts.json
│   │   ├── concmath-otf.json
│   │   ├── concmath.json
│   │   ├── conditext.json
│   │   ├── conditionals.json
│   │   ├── constants.json
│   │   ├── conteq.json
│   │   ├── continue.json
│   │   ├── contour.json
│   │   ├── contracard.json
│   │   ├── contract.json
│   │   ├── conv-xkv.json
│   │   ├── cooking-units.json
│   │   ├── cooking.json
│   │   ├── cookingsymbols.json
│   │   ├── coolfn.json
│   │   ├── coollist.json
│   │   ├── coolstr.json
│   │   ├── coolthms.json
│   │   ├── cooltooltips.json
│   │   ├── coop-writing.json
│   │   ├── coordsys.json
│   │   ├── coptic.json
│   │   ├── copyrightbox.json
│   │   ├── correctmathalign.json
│   │   ├── corridx.json
│   │   ├── coseoul.json
│   │   ├── couleurs-fr.json
│   │   ├── counterz.json
│   │   ├── countriesofeurope.json
│   │   ├── counttexruns.json
│   │   ├── couriers.json
│   │   ├── courierten.json
│   │   ├── covington.json
│   │   ├── cprotect.json
│   │   ├── cprotectinside.json
│   │   ├── cpssp.json
│   │   ├── cquthesis.json
│   │   ├── crbox.json
│   │   ├── create-theorem.json
│   │   ├── createsudoku.json
│   │   ├── crefthe.json
│   │   ├── crimson.json
│   │   ├── crop.json
│   │   ├── cropmark.json
│   │   ├── crossrefenum.json
│   │   ├── crossreference.json
│   │   ├── crossreftools.json
│   │   ├── crumbs.json
│   │   ├── cryptocode.json
│   │   ├── csquotes.json
│   │   ├── css-colors.json
│   │   ├── cstypo.json
│   │   ├── csvmerge.json
│   │   ├── csvsimple-l3.json
│   │   ├── csvsimple-legacy.json
│   │   ├── csvsimple.json
│   │   ├── ctable.json
│   │   ├── ctablestack.json
│   │   ├── ctex.json
│   │   ├── cu-calendar.json
│   │   ├── cu-kinovar.json
│   │   ├── cu-kruk.json
│   │   ├── cu-num.json
│   │   ├── currency.json
│   │   ├── currfile-abspath.json
│   │   ├── currfile.json
│   │   ├── currvita.json
│   │   ├── cursor.json
│   │   ├── curve2e.json
│   │   ├── curves.json
│   │   ├── customdice.json
│   │   ├── cuted.json
│   │   ├── cutwin.json
│   │   ├── cvss.json
│   │   ├── cwpuzzle.json
│   │   ├── cyber.json
│   │   ├── cypriot.json
│   │   ├── cyrillic.json
│   │   ├── dad.json
│   │   ├── dantelogo.json
│   │   ├── darkmode.json
│   │   ├── dashbox.json
│   │   ├── dashrule.json
│   │   ├── dashrulex.json
│   │   ├── dashundergaps.json
│   │   ├── databar.json
│   │   ├── databib.json
│   │   ├── datagidx.json
│   │   ├── datapie.json
│   │   ├── dataplot.json
│   │   ├── dataref.json
│   │   ├── datatool-base.json
│   │   ├── datatool-fp.json
│   │   ├── datatool-pgfmath.json
│   │   ├── datatool.json
│   │   ├── datax.json
│   │   ├── dateiliste.json
│   │   ├── datenumber.json
│   │   ├── datestamp.json
│   │   ├── datetime2-calc.json
│   │   ├── datetime2-en-fulltext.json
│   │   ├── datetime2.json
│   │   ├── daytime.json
│   │   ├── dblfnote.json
│   │   ├── dbshow.json
│   │   ├── dccpaper-base.json
│   │   ├── dcounter.json
│   │   ├── ddphonism.json
│   │   ├── debate.json
│   │   ├── decimalcomma.json
│   │   ├── decision-table.json
│   │   ├── decorule.json
│   │   ├── dejavu-otf.json
│   │   ├── delim.json
│   │   ├── delimseasy.json
│   │   ├── delimset.json
│   │   ├── democodelisting.json
│   │   ├── democodetools.json
│   │   ├── derivative.json
│   │   ├── desclist.json
│   │   ├── dgruyter.json
│   │   ├── dhua.json
│   │   ├── dhucs-gremph.json
│   │   ├── dhucs-interword.json
│   │   ├── dhucs-setspace.json
│   │   ├── dhucs-trivcj.json
│   │   ├── dhucs-ucshyper.json
│   │   ├── dhucsfn.json
│   │   ├── diadia.json
│   │   ├── diagbox.json
│   │   ├── diagram.json
│   │   ├── diagxy.json
│   │   ├── dialogue.json
│   │   ├── dichokey.json
│   │   ├── dictsym.json
│   │   ├── didec.json
│   │   ├── diffcoeff.json
│   │   ├── digicap-pro.json
│   │   ├── digiconfigs.json
│   │   ├── digsig.json
│   │   ├── dijkstra.json
│   │   ├── dimnum.json
│   │   ├── dingbat.json
│   │   ├── dirtree.json
│   │   ├── dirtytalk.json
│   │   ├── ditaa.json
│   │   ├── dlfltxbcodetips.json
│   │   ├── dlfltxbmarkup.json
│   │   ├── dlfltxbmarkupbookkeys.json
│   │   ├── dlfltxbmisc.json
│   │   ├── dline.json
│   │   ├── dljslib.json
│   │   ├── dmlb.json
│   │   ├── dnaseq.json
│   │   ├── doafter.json
│   │   ├── doc.json
│   │   ├── docassembly.json
│   │   ├── doclicense.json
│   │   ├── docmfp.json
│   │   ├── docmute.json
│   │   ├── docshots.json
│   │   ├── doctools.json
│   │   ├── dogma.json
│   │   ├── doi.json
│   │   ├── doibanner.json
│   │   ├── doipubmed.json
│   │   ├── domaincoloring.json
│   │   ├── domitian.json
│   │   ├── domore.json
│   │   ├── dot2texi.json
│   │   ├── dotlessi.json
│   │   ├── dotseqn.json
│   │   ├── dowith.json
│   │   ├── download.json
│   │   ├── dox.json
│   │   ├── dozenal.json
│   │   ├── dpfloat.json
│   │   ├── dps.json
│   │   ├── drac.json
│   │   ├── draftcopy.json
│   │   ├── draftfigure.json
│   │   ├── draftmark.json
│   │   ├── draftwatermark.json
│   │   ├── dramatist.json
│   │   ├── drawmatrix.json
│   │   ├── drawstack.json
│   │   ├── drcaps.json
│   │   ├── drm.json
│   │   ├── droid.json
│   │   ├── droidsans.json
│   │   ├── droidsansmono.json
│   │   ├── droidserif.json
│   │   ├── drs.json
│   │   ├── dsfont.json
│   │   ├── dspblocks.json
│   │   ├── dspfunctions.json
│   │   ├── dsptricks.json
│   │   ├── dsserif.json
│   │   ├── dtk-extern.json
│   │   ├── dtk-logos.json
│   │   ├── dtk-url.json
│   │   ├── dtxdescribe.json
│   │   ├── ducksay.json
│   │   ├── duckuments.json
│   │   ├── duerer.json
│   │   ├── dutchcal.json
│   │   ├── dvgloss.json
│   │   ├── dvipscol.json
│   │   ├── dvisirule.json
│   │   ├── dynamicnumber.json
│   │   ├── dynblocks.json
│   │   ├── dynbrackets.json
│   │   ├── dynkin-diagrams.json
│   │   ├── dyntree.json
│   │   ├── ean13isbn.json
│   │   ├── easy-todo.json
│   │   ├── easyReview.json
│   │   ├── easybase.json
│   │   ├── easyfig.json
│   │   ├── easyfloats.json
│   │   ├── easyformat.json
│   │   ├── easylist.json
│   │   ├── easyvector.json
│   │   ├── ebgaramond.json
│   │   ├── ebook.json
│   │   ├── ebproof.json
│   │   ├── eco.json
│   │   ├── econlipsum.json
│   │   ├── econometrics.json
│   │   ├── ecrc.json
│   │   ├── ed.json
│   │   ├── edcntwd0.json
│   │   ├── edichokey.json
│   │   ├── ednmath0.json
│   │   ├── ednotes.json
│   │   ├── edtable.json
│   │   ├── eemeir.json
│   │   ├── eepic.json
│   │   ├── efbox.json
│   │   ├── eforms.json
│   │   ├── egothic.json
│   │   ├── egpeirce.json
│   │   ├── egplot.json
│   │   ├── egypto.json
│   │   ├── ekdosis.json
│   │   ├── electrum.json
│   │   ├── elements.json
│   │   ├── ellipsis.json
│   │   ├── elocalloc.json
│   │   ├── elpresbluelightgrayscheme.json
│   │   ├── elpresgrayscheme.json
│   │   ├── elpreswhitebluescheme.json
│   │   ├── elpreswhiteredscheme.json
│   │   ├── elpreswhitetealscheme.json
│   │   ├── elzcards.json
│   │   ├── emarks.json
│   │   ├── embedall.json
│   │   ├── embedfile.json
│   │   ├── embrac.json
│   │   ├── emf.json
│   │   ├── emo.json
│   │   ├── emoji.json
│   │   ├── emojicite.json
│   │   ├── emotion.json
│   │   ├── emp.json
│   │   ├── empheq.json
│   │   ├── emptypage.json
│   │   ├── endfloat.json
│   │   ├── endheads.json
│   │   ├── endiagram.json
│   │   ├── endnotes-hy.json
│   │   ├── endnotes.json
│   │   ├── endnotesj.json
│   │   ├── endofproofwd.json
│   │   ├── engord.json
│   │   ├── engpron.json
│   │   ├── engrec.json
│   │   ├── enigma.json
│   │   ├── enotez.json
│   │   ├── enparen.json
│   │   ├── enumerate.json
│   │   ├── enumitem.json
│   │   ├── enverb.json
│   │   ├── environ.json
│   │   ├── envlab.json
│   │   ├── envmath.json
│   │   ├── eolang.json
│   │   ├── eolgrab.json
│   │   ├── epcqrcode.json
│   │   ├── epic.json
│   │   ├── epigrafica.json
│   │   ├── epigraph-keys.json
│   │   ├── epigraph.json
│   │   ├── epiolmec.json
│   │   ├── epltxfn.json
│   │   ├── epsdice.json
│   │   ├── epspdfconversion.json
│   │   ├── epstopdf.json
│   │   ├── eq-fetchbbl.json
│   │   ├── eq-pin2corr.json
│   │   ├── eq-save.json
│   │   ├── eq2db.json
│   │   ├── eqell.json
│   │   ├── eqexam.json
│   │   ├── eqexpl.json
│   │   ├── eqlist.json
│   │   ├── eqnalign.json
│   │   ├── eqname.json
│   │   ├── eqnarray.json
│   │   ├── eqnnumwarn.json
│   │   ├── eqparbox.json
│   │   ├── erewhon.json
│   │   ├── errata.json
│   │   ├── esami.json
│   │   ├── esindex.json
│   │   ├── esint.json
│   │   ├── esk.json
│   │   ├── eso-pic.json
│   │   ├── esrelation.json
│   │   ├── esstixbb.json
│   │   ├── esstixfrak.json
│   │   ├── esvect.json
│   │   ├── etaremune.json
│   │   ├── etextools.json
│   │   ├── etoc.json
│   │   ├── etoolbox.json
│   │   ├── etruscan.json
│   │   ├── eucal.json
│   │   ├── euclideangeometry.json
│   │   ├── euflag.json
│   │   ├── eufrak.json
│   │   ├── eukdate.json
│   │   ├── eukleides.json
│   │   ├── euler-math.json
│   │   ├── euler.json
│   │   ├── eulerpx.json
│   │   ├── eulervm.json
│   │   ├── euroitc.json
│   │   ├── europasscv-bibliography.json
│   │   ├── europs.json
│   │   ├── eurosym.json
│   │   ├── euscript.json
│   │   ├── everyhook.json
│   │   ├── everypage.json
│   │   ├── everyshi.json
│   │   ├── exaccent.json
│   │   ├── exam-randomizechoices.json
│   │   ├── exam-zh-chinese-english.json
│   │   ├── exam-zh-choices.json
│   │   ├── exam-zh-font.json
│   │   ├── exam-zh-math.json
│   │   ├── exam-zh-question.json
│   │   ├── exam-zh-symbols.json
│   │   ├── exam-zh-textfigure.json
│   │   ├── example.json
│   │   ├── exceltex.json
│   │   ├── excludeonly.json
│   │   ├── exercise.json
│   │   ├── exercisebank.json
│   │   ├── exercisepoints.json
│   │   ├── exercises.json
│   │   ├── exerquiz.json
│   │   ├── exesheet.json
│   │   ├── exframe.json
│   │   ├── exp-testopt.json
│   │   ├── expex-acro.json
│   │   ├── expex-glossonly.json
│   │   ├── expex.json
│   │   ├── expkv-cs.json
│   │   ├── expkv-def.json
│   │   ├── expkv-opt.json
│   │   ├── expkv-pop.json
│   │   ├── expkv.json
│   │   ├── export.json
│   │   ├── exsol.json
│   │   ├── extarrows.json
│   │   ├── extdash.json
│   │   ├── extpfeil.json
│   │   ├── extract.json
│   │   ├── extraipa.json
│   │   ├── extramarks.json
│   │   ├── extsizes.json
│   │   ├── fadingimage.json
│   │   ├── faktor.json
│   │   ├── familytree.json
│   │   ├── fancybox.json
│   │   ├── fancyhdr.json
│   │   ├── fancylabel.json
│   │   ├── fancynum.json
│   │   ├── fancypar.json
│   │   ├── fancyqr.json
│   │   ├── fancyref.json
│   │   ├── fancytabs.json
│   │   ├── fancytooltips.json
│   │   ├── fancyunits-base.json
│   │   ├── fancyunits-np.json
│   │   ├── fancyunits-per.json
│   │   ├── fancyunits_big-fractions.json
│   │   ├── fancyunits_medium-fractions.json
│   │   ├── fancyunits_small-fractions.json
│   │   ├── fancyvrb-ex.json
│   │   ├── fancyvrb.json
│   │   ├── fapapersize.json
│   │   ├── fascicules.json
│   │   ├── fast-diagram.json
│   │   ├── fbb.json
│   │   ├── fbox.json
│   │   ├── fc_arith.json
│   │   ├── fclfont.json
│   │   ├── fcolumn.json
│   │   ├── fcprefix.json
│   │   ├── fdsymbol.json
│   │   ├── fdulogo.json
│   │   ├── fenixpar.json
│   │   ├── fenixtok.json
│   │   ├── fetamont.json
│   │   ├── fetchbibpes.json
│   │   ├── fetchcls.json
│   │   ├── fewerfloatpages.json
│   │   ├── feyn.json
│   │   ├── feynmf.json
│   │   ├── feynmp-auto.json
│   │   ├── feynmp.json
│   │   ├── ffcode.json
│   │   ├── fge.json
│   │   ├── fgruler.json
│   │   ├── fhgtechdoku_additional.json
│   │   ├── fibnum.json
│   │   ├── fifinddo.json
│   │   ├── fifo-stack.json
│   │   ├── figchild.json
│   │   ├── figlatex.json
│   │   ├── figput.json
│   │   ├── figsize.json
│   │   ├── filecontentsdef.json
│   │   ├── filehook.json
│   │   ├── filemod-expmin.json
│   │   ├── filemod.json
│   │   ├── filesdo.json
│   │   ├── fillwith.json
│   │   ├── finstrut.json
│   │   ├── firamath-otf.json
│   │   ├── fistrum.json
│   │   ├── fitbox.json
│   │   ├── fitch.json
│   │   ├── fitr.json
│   │   ├── fixdif.json
│   │   ├── fixfoot.json
│   │   ├── fixjfm.json
│   │   ├── fixlatvian.json
│   │   ├── fixmath.json
│   │   ├── fixme.json
│   │   ├── fjodor.json
│   │   ├── flabels.json
│   │   ├── flagderiv.json
│   │   ├── flexipage.json
│   │   ├── flexisym.json
│   │   ├── flippdf.json
│   │   ├── float.json
│   │   ├── floatbytocbasic.json
│   │   ├── floatflt.json
│   │   ├── floatpag.json
│   │   ├── floatpagestyle.json
│   │   ├── floatrow.json
│   │   ├── floatrowbytocbasic.json
│   │   ├── flowchart.json
│   │   ├── flowfram.json
│   │   ├── fltpage.json
│   │   ├── fltpoint.json
│   │   ├── fltrace.json
│   │   ├── flushend.json
│   │   ├── fmp.json
│   │   ├── fmtcount.json
│   │   ├── fnbreak.json
│   │   ├── fncychap.json
│   │   ├── fnlineno.json
│   │   ├── fnpct.json
│   │   ├── fnpos.json
│   │   ├── fnspe.json
│   │   ├── fnumprint.json
│   │   ├── foekfont.json
│   │   ├── foliono.json
│   │   ├── fonetika.json
│   │   ├── fontawesome.json
│   │   ├── fontawesome5.json
│   │   ├── fontaxes.json
│   │   ├── fontbook.json
│   │   ├── fontenc.json
│   │   ├── fontmfizz.json
│   │   ├── fonts-arundina.json
│   │   ├── fonts-tlwg.json
│   │   ├── fontscale.json
│   │   ├── fontsetup.json
│   │   ├── fontsize.json
│   │   ├── fontsmpl.json
│   │   ├── fontspec.json
│   │   ├── fonttable.json
│   │   ├── fontwrap.json
│   │   ├── footmisc.json
│   │   ├── footnote.json
│   │   ├── footnotebackref.json
│   │   ├── footnotehyper.json
│   │   ├── footnoterange.json
│   │   ├── forarray.json
│   │   ├── foreign.json
│   │   ├── forest-index.json
│   │   ├── forest.json
│   │   ├── forloop.json
│   │   ├── formal-grammar.json
│   │   ├── forms16be.json
│   │   ├── fortextbook.json
│   │   ├── forum.json
│   │   ├── fouridx.json
│   │   ├── fourier-orns.json
│   │   ├── fourier-otf.json
│   │   ├── fourier.json
│   │   ├── fouriernc.json
│   │   ├── fp-addons.json
│   │   ├── fp-basic.json
│   │   ├── fp-eqn.json
│   │   ├── fp-eval.json
│   │   ├── fp-exp.json
│   │   ├── fp-pas.json
│   │   ├── fp-random.json
│   │   ├── fp-snap.json
│   │   ├── fp-trigo.json
│   │   ├── fp-upn.json
│   │   ├── fp.json
│   │   ├── fr-fancy.json
│   │   ├── framed.json
│   │   ├── frcursive.json
│   │   ├── freealign.json
│   │   ├── frege.json
│   │   ├── frenchmath.json
│   │   ├── frimurer.json
│   │   ├── frontespizio.json
│   │   ├── froufrou.json
│   │   ├── frpseudocode.json
│   │   ├── fullminipage.json
│   │   ├── fullpage.json
│   │   ├── fullpict.json
│   │   ├── fullwidth.json
│   │   ├── functional.json
│   │   ├── fusering.json
│   │   ├── futurans.json
│   │   ├── fvextra.json
│   │   ├── fwlw.json
│   │   ├── galois.json
│   │   ├── gamebook.json
│   │   ├── gamebooklib.json
│   │   ├── gandhi.json
│   │   ├── garamondlibre.json
│   │   ├── garamondx.json
│   │   ├── gastex.json
│   │   ├── gates.json
│   │   ├── gatherenum.json
│   │   ├── gb4e.json
│   │   ├── gbt7714.json
│   │   ├── gchords.json
│   │   ├── gckanbun.json
│   │   ├── gelasio.json
│   │   ├── gelasiomath.json
│   │   ├── genealogy-profiles.json
│   │   ├── genealogytree.json
│   │   ├── gensymb.json
│   │   ├── gentium.json
│   │   ├── gentiumbook.json
│   │   ├── gentombow.json
│   │   ├── geometry.json
│   │   ├── german.json
│   │   ├── getfiledate.json
│   │   ├── getitems.json
│   │   ├── getmap.json
│   │   ├── gettitlestring.json
│   │   ├── gfdl.json
│   │   ├── gfsartemisia-euler.json
│   │   ├── gfsartemisia.json
│   │   ├── gfsbaskerville.json
│   │   ├── gfsbodoni.json
│   │   ├── gfscomplutum.json
│   │   ├── gfsdidot.json
│   │   ├── gfsneohellenic.json
│   │   ├── gfsneohellenicot.json
│   │   ├── ghab.json
│   │   ├── ghsystem.json
│   │   ├── gillcm.json
│   │   ├── gillius.json
│   │   ├── gillius2.json
│   │   ├── gincltex.json
│   │   ├── gindex.json
│   │   ├── gitfile-info.json
│   │   ├── gitinfo-lua.json
│   │   ├── gitinfo2.json
│   │   ├── gitlog.json
│   │   ├── gitstatus.json
│   │   ├── gitver.json
│   │   ├── globalvals.json
│   │   ├── glosmathtools.json
│   │   ├── glossaries-accsupp.json
│   │   ├── glossaries-extra-bib2gls.json
│   │   ├── glossaries-extra-stylemods.json
│   │   ├── glossaries-extra.json
│   │   ├── glossaries-prefix.json
│   │   ├── glossaries.json
│   │   ├── glossary-bookindex.json
│   │   ├── glossary-hypernav.json
│   │   ├── glossary-inline.json
│   │   ├── glossary-list.json
│   │   ├── glossary-long.json
│   │   ├── glossary-longbooktabs.json
│   │   ├── glossary-longextra.json
│   │   ├── glossary-longragged.json
│   │   ├── glossary-mcols.json
│   │   ├── glossary-super.json
│   │   ├── glossary-table.json
│   │   ├── glossary-topic.json
│   │   ├── glossary-tree.json
│   │   ├── glosstex.json
│   │   ├── gmiflink.json
│   │   ├── gmp.json
│   │   ├── gnuplottex.json
│   │   ├── gobble-user.json
│   │   ├── gotoh.json
│   │   ├── grabbox.json
│   │   ├── gradient-text.json
│   │   ├── gradientframe.json
│   │   ├── grading-scheme.json
│   │   ├── grafcet.json
│   │   ├── graph35.json
│   │   ├── graphbox.json
│   │   ├── graphfig.json
│   │   ├── graphics.json
│   │   ├── graphicscache.json
│   │   ├── graphicsonthefly.json
│   │   ├── graphicx-psmin.json
│   │   ├── graphicx.json
│   │   ├── graphicxbox.json
│   │   ├── graphicxpsd.json
│   │   ├── graphicxsp.json
│   │   ├── graphpap.json
│   │   ├── graphviz.json
│   │   ├── grayhints.json
│   │   ├── greek4cbc.json
│   │   ├── greek6cbc.json
│   │   ├── greekctr.json
│   │   ├── greekdates.json
│   │   ├── greektonoi.json
│   │   ├── gregoriosyms.json
│   │   ├── gregoriotex.json
│   │   ├── grfext.json
│   │   ├── grfpaste.json
│   │   ├── grid-system.json
│   │   ├── grid.json
│   │   ├── gridpapers.json
│   │   ├── gridset.json
│   │   ├── gridslides.json
│   │   ├── grmath.json
│   │   ├── grruby.json
│   │   ├── grundgesetze.json
│   │   ├── grverb.json
│   │   ├── gtrcrd.json
│   │   ├── gtrlib.largetrees.json
│   │   ├── guit.json
│   │   ├── guitar.json
│   │   ├── guitarchordschemes.json
│   │   ├── hackthefootline.json
│   │   ├── halloweenmath.json
│   │   ├── hamnosys.json
│   │   ├── handout.json
│   │   ├── handoutWithNotes.json
│   │   ├── hang.json
│   │   ├── hanging.json
│   │   ├── hangulfontset.json
│   │   ├── hanjacnt.json
│   │   ├── hanzibox.json
│   │   ├── har2nat.json
│   │   ├── hardwrap.json
│   │   ├── harmony.json
│   │   ├── harpoon.json
│   │   ├── harvard.json
│   │   ├── harveyballs.json
│   │   ├── havannah.json
│   │   ├── hcycle.json
│   │   ├── he-she.json
│   │   ├── helmholtz-ellis-ji-notation.json
│   │   ├── helvet.json
│   │   ├── hep-acronym.json
│   │   ├── hep-bibliography.json
│   │   ├── hep-feynman.json
│   │   ├── hep-float.json
│   │   ├── hep-font.json
│   │   ├── hep-graphic.json
│   │   ├── hep-math-font.json
│   │   ├── hep-math.json
│   │   ├── hep-paper.json
│   │   ├── hep-plot.json
│   │   ├── hep-text.json
│   │   ├── hep-title.json
│   │   ├── hepparticles.json
│   │   ├── hepunits.json
│   │   ├── hereapplies.json
│   │   ├── heros-otf.json
│   │   ├── hetarom.json
│   │   ├── hetaromh.json
│   │   ├── heuristica.json
│   │   ├── hexboard.json
│   │   ├── hexdump.json
│   │   ├── hf-tikz.json
│   │   ├── hfoldsty.json
│   │   ├── hgb.json
│   │   ├── hgbabbrev.json
│   │   ├── hgbalgo.json
│   │   ├── hgbbib.json
│   │   ├── hgbheadings.json
│   │   ├── hgblistings.json
│   │   ├── hgbmath.json
│   │   ├── hhead.json
│   │   ├── hhline.json
│   │   ├── hhtensor.json
│   │   ├── hideanswer.json
│   │   ├── hiero.json
│   │   ├── hieroglf.json
│   │   ├── highlightlatex.json
│   │   ├── highlightx.json
│   │   ├── hitex.json
│   │   ├── hlist.json
│   │   ├── hmtrump.json
│   │   ├── hnja2hngl.json
│   │   ├── hobete.json
│   │   ├── hologo.json
│   │   ├── holtpolt.json
│   │   ├── holtxdoc.json
│   │   ├── hpstatement.json
│   │   ├── href-ul.json
│   │   ├── hrefhide.json
│   │   ├── hsetup.json
│   │   ├── hu-berlin-base.json
│   │   ├── huaz.json
│   │   ├── hulipsum.json
│   │   ├── humanist.json
│   │   ├── huncial.json
│   │   ├── hvarabic.json
│   │   ├── hvextern.json
│   │   ├── hvfloat-fps.json
│   │   ├── hvfloat.json
│   │   ├── hvindex.json
│   │   ├── hvlogos.json
│   │   ├── hvmaths.json
│   │   ├── hvpygmentex.json
│   │   ├── hvqrurl.json
│   │   ├── hwemoji.json
│   │   ├── hypbmsec.json
│   │   ├── hypcap.json
│   │   ├── hypdestopt.json
│   │   ├── hypdoc.json
│   │   ├── hypdvips.json
│   │   ├── hyperbar.json
│   │   ├── hyperref.json
│   │   ├── hyperxmp.json
│   │   ├── hypgotoe.json
│   │   ├── hyphenat.json
│   │   ├── hyphsubst.json
│   │   ├── ibarra.json
│   │   ├── icite.json
│   │   ├── icon-appr.json
│   │   ├── icon-doc.json
│   │   ├── identkey.json
│   │   ├── idxcmds.json
│   │   ├── idxlayout.json
│   │   ├── iexec.json
│   │   ├── ifallfalse.json
│   │   ├── ifdraft.json
│   │   ├── ifetex.json
│   │   ├── iffont.json
│   │   ├── iflang.json
│   │   ├── ifluatex.json
│   │   ├── ifnextok.json
│   │   ├── ifoddpage.json
│   │   ├── ifoption.json
│   │   ├── ifpdf.json
│   │   ├── ifplatform.json
│   │   ├── ifptex.json
│   │   ├── ifpxltex.json
│   │   ├── ifsym.json
│   │   ├── iftex.json
│   │   ├── ifthen.json
│   │   ├── ifthenx.json
│   │   ├── ifuptex.json
│   │   ├── ifvtex.json
│   │   ├── ifxetex.json
│   │   ├── ifxptex.json
│   │   ├── igo.json
│   │   ├── iitem.json
│   │   ├── imakeidx.json
│   │   ├── imfellEnglish.json
│   │   ├── impnattypo.json
│   │   ├── import.json
│   │   ├── imprintmtshadow.json
│   │   ├── imsart.json
│   │   ├── incgraph.json
│   │   ├── includeRnw.json
│   │   ├── inconsolata-nerd-font.json
│   │   ├── inconsolata.json
│   │   ├── index.json
│   │   ├── indextools.json
│   │   ├── infix-RPN.json
│   │   ├── inline-images.json
│   │   ├── inlinedef.json
│   │   ├── inlinelabel.json
│   │   ├── innerscript.json
│   │   ├── inputenc.json
│   │   ├── inputnormalization.json
│   │   ├── inputtrc.json
│   │   ├── insdljs.json
│   │   ├── inslrmaj.json
│   │   ├── inslrmin.json
│   │   ├── intcalc.json
│   │   ├── inter.json
│   │   ├── interactiveanimation.json
│   │   ├── interactiveplot.json
│   │   ├── interlinear.json
│   │   ├── interpreter.json
│   │   ├── interval.json
│   │   ├── intopdf.json
│   │   ├── inversepath.json
│   │   ├── invoice.json
│   │   ├── invoice2.json
│   │   ├── iodhbwm-templates.json
│   │   ├── ionumbers.json
│   │   ├── iopams.json
│   │   ├── ipa.json
│   │   ├── ipaex-type1.json
│   │   ├── ipsum.json
│   │   ├── isodate.json
│   │   ├── isomath.json
│   │   ├── isonums.json
│   │   ├── isopt.json
│   │   ├── isorot.json
│   │   ├── isosafety.json
│   │   ├── isotope.json
│   │   ├── issuulinks.json
│   │   ├── itnumpar.json
│   │   ├── iwona.json
│   │   ├── iwonamath.json
│   │   ├── jamtimes.json
│   │   ├── javascripthttp.json
│   │   ├── jiazhu.json
│   │   ├── jigsaw.json
│   │   ├── jiwonlipsum.json
│   │   ├── jkmath.json
│   │   ├── jlreq-deluxe.json
│   │   ├── jlreq-trimmarks.json
│   │   ├── jmlrutils.json
│   │   ├── jmsdelim.json
│   │   ├── jobname-suffix.json
│   │   ├── joinbox.json
│   │   ├── josefin.json
│   │   ├── jpneduenumerate.json
│   │   ├── jpnedumathsymbols.json
│   │   ├── jslectureplanner.json
│   │   ├── jslogo.json
│   │   ├── jsmembertable.json
│   │   ├── jsonparse.json
│   │   ├── jsverb.json
│   │   ├── jumplines.json
│   │   ├── junicode.json
│   │   ├── junicodevf.json
│   │   ├── jupynotex.json
│   │   ├── jurabase.json
│   │   ├── jurabib.json
│   │   ├── jvlisting.json
│   │   ├── kalendarium.json
│   │   ├── kanbun.json
│   │   ├── kantlipsum.json
│   │   ├── kao.json
│   │   ├── kaobiblio.json
│   │   ├── kaorefs.json
│   │   ├── kaotheorems.json
│   │   ├── karnaugh-map.json
│   │   ├── karnaughmap.json
│   │   ├── kblocks.json
│   │   ├── kbordermatrix.json
│   │   ├── kerkis.json
│   │   ├── keycommand.json
│   │   ├── keyfloat.json
│   │   ├── keyindex.json
│   │   ├── keyparse.json
│   │   ├── keyreader.json
│   │   ├── keystroke.json
│   │   ├── keytheorems.json
│   │   ├── keyval.json
│   │   ├── keyvaltable.json
│   │   ├── kix.json
│   │   ├── knitting.json
│   │   ├── knowledge.json
│   │   ├── knufakelogo.json
│   │   ├── kocircnum.json
│   │   ├── kolabels-utf.json
│   │   ├── koma-moderncvclassic.json
│   │   ├── koma-script-source-doc.json
│   │   ├── komacv-addons.json
│   │   ├── komacv-lco.json
│   │   ├── komacv-multilang.json
│   │   ├── konames-utf.json
│   │   ├── kosections-utf.json
│   │   ├── kotex-logo.json
│   │   ├── kotex-varioref.json
│   │   ├── kotexutf.json
│   │   ├── kpfonts-otf.json
│   │   ├── kpfonts.json
│   │   ├── ksbaduk.json
│   │   ├── ksforloop.json
│   │   ├── kshcrkey.json
│   │   ├── ksinsbox.json
│   │   ├── ksjosaref.json
│   │   ├── ksmisc.json
│   │   ├── ksruby.json
│   │   ├── kstextks.json
│   │   ├── kswrapfig.json
│   │   ├── kurdishlipsum.json
│   │   ├── kurier.json
│   │   ├── kvmap.json
│   │   ├── kvoptions.json
│   │   ├── kvsetkeys.json
│   │   ├── l3keys2e.json
│   │   ├── l3sys-query.json
│   │   ├── la.json
│   │   ├── labels.json
│   │   ├── labels4easylist.json
│   │   ├── labyrinth.json
│   │   ├── ladder.json
│   │   ├── lambdax.json
│   │   ├── langcode.json
│   │   ├── langnames.json
│   │   ├── langsci-affiliations.json
│   │   ├── langsci-avm.json
│   │   ├── langsci-bidi.json
│   │   ├── langsci-gb4e.json
│   │   ├── langsci-lgr.json
│   │   ├── langsci-optional.json
│   │   ├── langsci-subparts.json
│   │   ├── langsci-tbls.json
│   │   ├── lapdf.json
│   │   ├── lastbib.json
│   │   ├── latex-209.json
│   │   ├── latex-dev.json
│   │   ├── latex-document.json
│   │   ├── latex-l2tabu.json
│   │   ├── latex2man.json
│   │   ├── latex2pydata.json
│   │   ├── latexalpha2.json
│   │   ├── latexbangla.json
│   │   ├── latexcolors.json
│   │   ├── latexdemo.json
│   │   ├── latexscreenshooter.json
│   │   ├── latexsym.json
│   │   ├── lato.json
│   │   ├── layaureo.json
│   │   ├── layout.json
│   │   ├── layouts.json
│   │   ├── lazylist.json
│   │   ├── lccaps.json
│   │   ├── lcd.json
│   │   ├── lcg.json
│   │   ├── leading.json
│   │   ├── leadsheets.json
│   │   ├── lecturer.json
│   │   ├── lectureslides.json
│   │   ├── leftidx.json
│   │   ├── leftindex.json
│   │   ├── leipzig.json
│   │   ├── lengthconvert.json
│   │   ├── lete-sans-math.json
│   │   ├── letgut-banner.json
│   │   ├── letltxmacro.json
│   │   ├── letterspace.json
│   │   ├── letterswitharrows.json
│   │   ├── lettrine.json
│   │   ├── lewisstruc.json
│   │   ├── lexend.json
│   │   ├── lexref.json
│   │   ├── lgrmath.json
│   │   ├── lhelp.json
│   │   ├── libertine.json
│   │   ├── libertineMono.json
│   │   ├── libertineRoman.json
│   │   ├── libertinegc.json
│   │   ├── libertinus-otf.json
│   │   ├── libertinus-type1.json
│   │   ├── libertinust1math.json
│   │   ├── libgreek.json
│   │   ├── librarian.json
│   │   ├── librebaskerville.json
│   │   ├── librecaslon.json
│   │   ├── librefranklin.json
│   │   ├── libris.json
│   │   ├── lie-hasse.json
│   │   ├── liftarm.json
│   │   ├── ligtype.json
│   │   ├── lilyglyphs.json
│   │   ├── limap.json
│   │   ├── linearb.json
│   │   ├── linearregression.json
│   │   ├── linebreaker.json
│   │   ├── linegoal.json
│   │   ├── lineno.json
│   │   ├── linenoamsmath.json
│   │   ├── ling-macros.json
│   │   ├── linguex.json
│   │   ├── linguisticspro.json
│   │   ├── linop.json
│   │   ├── linsys.json
│   │   ├── lips.json
│   │   ├── lipsum.json
│   │   ├── listing.json
│   │   ├── listings-ext.json
│   │   ├── listings.json
│   │   ├── listingsutf8.json
│   │   ├── listlbls.json
│   │   ├── listliketab.json
│   │   ├── listofanswers.json
│   │   ├── listofitems.json
│   │   ├── listofsymbols.json
│   │   ├── listpen.json
│   │   ├── llncsconf.json
│   │   ├── lltjcore.json
│   │   ├── lltjdefs.json
│   │   ├── lltjext.json
│   │   ├── lltjfont.json
│   │   ├── lltjp-atbegshi.json
│   │   ├── lltjp-geometry.json
│   │   ├── lltjp-listings.json
│   │   ├── lmacs.json
│   │   ├── lmake.json
│   │   ├── lmodern.json
│   │   ├── locant.json
│   │   ├── logbox.json
│   │   ├── logicproof.json
│   │   ├── logicpuzzle.json
│   │   ├── logix.json
│   │   ├── logoetalab.json
│   │   ├── logpap.json
│   │   ├── logreq.json
│   │   ├── logsys.json
│   │   ├── longbox.json
│   │   ├── longdivision.json
│   │   ├── longfbox.json
│   │   ├── longfigure.json
│   │   ├── longmath.json
│   │   ├── longnamefilelist.json
│   │   ├── longtable.json
│   │   ├── lowcycle.json
│   │   ├── lpic.json
│   │   ├── lplfitch.json
│   │   ├── lsabon.json
│   │   ├── lscape.json
│   │   ├── lscapeenhanced.json
│   │   ├── lstautogobble.json
│   │   ├── lstbayes.json
│   │   ├── lstdoc.json
│   │   ├── lstfiracode.json
│   │   ├── lstlinebgrd.json
│   │   ├── lt3luabridge.json
│   │   ├── ltablex.json
│   │   ├── ltcaption.json
│   │   ├── ltj-base.json
│   │   ├── ltj-latex.json
│   │   ├── ltugcomn.json
│   │   ├── ltx4yt.json
│   │   ├── ltxdocext.json
│   │   ├── ltxdockit.json
│   │   ├── ltxfront.json
│   │   ├── ltxgrid.json
│   │   ├── ltxnew.json
│   │   ├── ltxtable.json
│   │   ├── ltxutil.json
│   │   ├── lua-check-hyphen.json
│   │   ├── lua-typo.json
│   │   ├── lua-ul.json
│   │   ├── lua-visual-debug.json
│   │   ├── lua-widow-control.json
│   │   ├── luaaddplot.json
│   │   ├── luabibentry.json
│   │   ├── luabidi.json
│   │   ├── luacas.json
│   │   ├── luacensor.json
│   │   ├── luacode.json
│   │   ├── luacolor.json
│   │   ├── luacomplex.json
│   │   ├── luagcd.json
│   │   ├── luahttp.json
│   │   ├── luahyphenrules.json
│   │   ├── luaimageembed.json
│   │   ├── luaindex.json
│   │   ├── luainputenc.json
│   │   ├── luakeys-debug.json
│   │   ├── luakeys.json
│   │   ├── lualatex-truncate.json
│   │   ├── lualinalg.json
│   │   ├── luamathalign.json
│   │   ├── luamaths.json
│   │   ├── luamesh.json
│   │   ├── luamml-demo.json
│   │   ├── luamodulartables.json
│   │   ├── luamplib.json
│   │   ├── luanumint.json
│   │   ├── luaoptions.json
│   │   ├── luaotfload.json
│   │   ├── luapackageloader.json
│   │   ├── luaplot.json
│   │   ├── luaprogtable.json
│   │   ├── luaquotes.json
│   │   ├── luarandom.json
│   │   ├── luaset.json
│   │   ├── luasseq.json
│   │   ├── luatex.json
│   │   ├── luatex85.json
│   │   ├── luatexbase.json
│   │   ├── luatexja-adjust.json
│   │   ├── luatexja-ajmacros.json
│   │   ├── luatexja-compat.json
│   │   ├── luatexja-core.json
│   │   ├── luatexja-fontspec.json
│   │   ├── luatexja-otf.json
│   │   ├── luatexja-preset.json
│   │   ├── luatexja-ruby.json
│   │   ├── luatexja-zhfonts.json
│   │   ├── luatexja.json
│   │   ├── luatexko.json
│   │   ├── luatextra.json
│   │   ├── luatodonotes.json
│   │   ├── luatruthtable.json
│   │   ├── luavlna.json
│   │   ├── lucbmath.json
│   │   ├── lucida-otf.json
│   │   ├── lucidabr.json
│   │   ├── lucmin.json
│   │   ├── lucmtime.json
│   │   ├── luctime.json
│   │   ├── lutabulartools.json
│   │   ├── luwiantype.json
│   │   ├── luximono.json
│   │   ├── lwarp.json
│   │   ├── lyluatex.json
│   │   ├── mVersion.json
│   │   ├── maa-monthly.json
│   │   ├── macrolist.json
│   │   ├── macroswap.json
│   │   ├── mafr.json
│   │   ├── magaz.json
│   │   ├── magicnum.json
│   │   ├── magicwatermark.json
│   │   ├── mahjong.json
│   │   ├── mailing.json
│   │   ├── mailmerge.json
│   │   ├── makebarcode.json
│   │   ├── makebase.json
│   │   ├── makebox.json
│   │   ├── makecell.json
│   │   ├── makecmds.json
│   │   ├── makeglos.json
│   │   ├── makeidx.json
│   │   ├── makematch.json
│   │   ├── makeplot.json
│   │   ├── maker.json
│   │   ├── makeshape.json
│   │   ├── malayalam.json
│   │   ├── maltese.json
│   │   ├── mandi.json
│   │   ├── mandiexp.json
│   │   ├── mandistudent.json
│   │   ├── manfnt.json
│   │   ├── manuscript.json
│   │   ├── manyfoot.json
│   │   ├── manyind.json
│   │   ├── marathi.json
│   │   ├── marcellus.json
│   │   ├── marginfix.json
│   │   ├── marginnote.json
│   │   ├── markdown.json
│   │   ├── marvosym.json
│   │   ├── mathabx.json
│   │   ├── mathalfa.json
│   │   ├── mathalpha.json
│   │   ├── mathastext.json
│   │   ├── mathbbol.json
│   │   ├── mathcmd.json
│   │   ├── mathcommand.json
│   │   ├── mathcomp.json
│   │   ├── mathdesign.json
│   │   ├── mathdots.json
│   │   ├── mathenv.json
│   │   ├── mathfixs.json
│   │   ├── mathfont.json
│   │   ├── mathgreeks.json
│   │   ├── mathpartir.json
│   │   ├── mathpazo.json
│   │   ├── mathpi.json
│   │   ├── mathptmx.json
│   │   ├── mathpunctspace.json
│   │   ├── mathrsfs.json
│   │   ├── mathscinet.json
│   │   ├── mathsemantics-abbreviations.json
│   │   ├── mathsemantics-commons.json
│   │   ├── mathsemantics-manifolds.json
│   │   ├── mathsemantics-names.json
│   │   ├── mathsemantics-optimization.json
│   │   ├── mathsemantics-semantic.json
│   │   ├── mathsemantics-syntax.json
│   │   ├── mathsemantics.json
│   │   ├── mathspec.json
│   │   ├── mathstone.json
│   │   ├── mathstyle.json
│   │   ├── mathswap.json
│   │   ├── mathtime.json
│   │   ├── mathtools.json
│   │   ├── matlab-prettifier.json
│   │   ├── mattens.json
│   │   ├── mattex.json
│   │   ├── maybemath.json
│   │   ├── maze.json
│   │   ├── mbboard.json
│   │   ├── mboxfill.json
│   │   ├── mcaption.json
│   │   ├── mcexam.json
│   │   ├── mciteplus.json
│   │   ├── mcode.json
│   │   ├── mdframed.json
│   │   ├── mdputu.json
│   │   ├── mdsymbol.json
│   │   ├── mdwlist.json
│   │   ├── mdwmath.json
│   │   ├── mdwtab.json
│   │   ├── media4svg.json
│   │   ├── media9.json
│   │   ├── medmath.json
│   │   ├── membranecomputing.json
│   │   ├── memhangul-common.json
│   │   ├── memhangul-x.json
│   │   ├── memhfixc.json
│   │   ├── memoizable.json
│   │   ├── memoize.json
│   │   ├── memory.json
│   │   ├── memorygraphs.json
│   │   ├── memucs-setspace.json
│   │   ├── menu.json
│   │   ├── menucard.json
│   │   ├── menukeys.json
│   │   ├── mercatormap.json
│   │   ├── merge.json
│   │   ├── mergeh.json
│   │   ├── merriweather.json
│   │   ├── messagebubbles.json
│   │   ├── messagepassing.json
│   │   ├── metainfo.json
│   │   ├── metalogo.json
│   │   ├── metalogox.json
│   │   ├── metastr.json
│   │   ├── method.json
│   │   ├── methylen.json
│   │   ├── metre.json
│   │   ├── metrix.json
│   │   ├── metsymb.json
│   │   ├── mfb-oldstyle.json
│   │   ├── mfirstuc.json
│   │   ├── mflogo.json
│   │   ├── mfpic.json
│   │   ├── mfpic4ode.json
│   │   ├── mftinc.json
│   │   ├── mgltex.json
│   │   ├── mhchem.json
│   │   ├── mhequ.json
│   │   ├── mhsetup.json
│   │   ├── mi-solns.json
│   │   ├── miama.json
│   │   ├── microtype-show.json
│   │   ├── microtype.json
│   │   ├── midfloat.json
│   │   ├── midpage.json
│   │   ├── miller.json
│   │   ├── milstd.json
│   │   ├── milsymb.json
│   │   ├── mindflow.json
│   │   ├── minibox.json
│   │   ├── minidocument.json
│   │   ├── minifp.json
│   │   ├── minijs.json
│   │   ├── minim-mp.json
│   │   ├── minimalist-plain.json
│   │   ├── minimalist.json
│   │   ├── minipage-marginpar.json
│   │   ├── minted.json
│   │   ├── minted2.json
│   │   ├── mintspirit.json
│   │   ├── mintspirit2.json
│   │   ├── minutes.json
│   │   ├── miscdoc.json
│   │   ├── mismath.json
│   │   ├── missaali.json
│   │   ├── mkstmp_pro.json
│   │   ├── mlcid.json
│   │   ├── mleftright.json
│   │   ├── mlist.json
│   │   ├── mlmodern.json
│   │   ├── mlutf.json
│   │   ├── mnotes.json
│   │   ├── moderncvcollection.json
│   │   ├── moderncvcompatibility.json
│   │   ├── moderntimeline.json
│   │   ├── modiagram.json
│   │   ├── modroman.json
│   │   ├── modular.json
│   │   ├── modulus.json
│   │   ├── mol2chemfig.json
│   │   ├── monofill.json
│   │   ├── montserrat.json
│   │   ├── moodle.json
│   │   ├── moredefs.json
│   │   ├── moreenum.json
│   │   ├── morefloats.json
│   │   ├── moresize.json
│   │   ├── moreverb.json
│   │   ├── morewrites.json
│   │   ├── morisawa.json
│   │   ├── movement-arrows.json
│   │   ├── mparhack.json
│   │   ├── mpgraphics.json
│   │   ├── mpostinl.json
│   │   ├── msc.json
│   │   ├── mtgreek.json
│   │   ├── mtpro2.json
│   │   ├── multiaudience.json
│   │   ├── multibib.json
│   │   ├── multibibliography.json
│   │   ├── multicap.json
│   │   ├── multicol.json
│   │   ├── multicolrule.json
│   │   ├── multidef.json
│   │   ├── multido.json
│   │   ├── multienum.json
│   │   ├── multienv.json
│   │   ├── multiexpand.json
│   │   ├── multifootnote.json
│   │   ├── multilang-sect.json
│   │   ├── multilang-tags.json
│   │   ├── multilang.json
│   │   ├── multimedia.json
│   │   ├── multind.json
│   │   ├── multiobjective.json
│   │   ├── multiple-choice.json
│   │   ├── multiply.json
│   │   ├── multirow.json
│   │   ├── multitoc.json
│   │   ├── mup.json
│   │   ├── musical.json
│   │   ├── musicography.json
│   │   ├── musikui.json
│   │   ├── musixfll.json
│   │   ├── musixguit.json
│   │   ├── musixtex.json
│   │   ├── mwe.json
│   │   ├── mxedruli.json
│   │   ├── myfilist.json
│   │   ├── na-border.json
│   │   ├── na-position.json
│   │   ├── nabatean.json
│   │   ├── nag.json
│   │   ├── nahuatl.json
│   │   ├── naive-ebnf.json
│   │   ├── nameauth.json
│   │   ├── namedef.json
│   │   ├── namedtensor.json
│   │   ├── nameref.json
│   │   ├── natbib.json
│   │   ├── nath.json
│   │   ├── natmove.json
│   │   ├── navigator.json
│   │   ├── nbaseprt.json
│   │   ├── nccbbb.json
│   │   ├── nccbiblist.json
│   │   ├── nccboxes.json
│   │   ├── ncccropbox.json
│   │   ├── ncccropmark.json
│   │   ├── nccfloats.json
│   │   ├── nccfoots.json
│   │   ├── ncchdr.json
│   │   ├── nccheadings.json
│   │   ├── ncclatex.json
│   │   ├── nccmath.json
│   │   ├── nccparskip.json
│   │   ├── nccpic.json
│   │   ├── nccrules.json
│   │   ├── nccsect.json
│   │   ├── nccstretch.json
│   │   ├── ncctheorems.json
│   │   ├── nccthm.json
│   │   ├── ncctitle.json
│   │   ├── ncctitlepage.json
│   │   ├── nchairx.json
│   │   ├── needspace.json
│   │   ├── neo-euler.json
│   │   ├── nestquot.json
│   │   ├── newalg.json
│   │   ├── newclude.json
│   │   ├── newcomputermodern.json
│   │   ├── newfile.json
│   │   ├── newfloat.json
│   │   ├── newpax.json
│   │   ├── newproof.json
│   │   ├── newpx.json
│   │   ├── newpxmath.json
│   │   ├── newpxtext.json
│   │   ├── newspaper.json
│   │   ├── newtx.json
│   │   ├── newtxmath.json
│   │   ├── newtxsf.json
│   │   ├── newtxtext.json
│   │   ├── newtxtt.json
│   │   ├── newunicodechar.json
│   │   ├── newvbtm.json
│   │   ├── newverbs.json
│   │   ├── nextpage.json
│   │   ├── nexus-otf.json
│   │   ├── ngerman.json
│   │   ├── nicefilelist.json
│   │   ├── nicefrac.json
│   │   ├── niceframe.json
│   │   ├── nicematrix.json
│   │   ├── niceverb.json
│   │   ├── nidanfloat.json
│   │   ├── nimbusmono.json
│   │   ├── nimbusmononarrow.json
│   │   ├── nimbussans.json
│   │   ├── nimbusserif.json
│   │   ├── nimsticks.json
│   │   ├── ninecolors.json
│   │   ├── njuvisual.json
│   │   ├── nl-interval.json
│   │   ├── nlctuserguide.json
│   │   ├── nm.json
│   │   ├── nmbib.json
│   │   ├── nndraw.json
│   │   ├── nnext.json
│   │   ├── nodetree-embed.json
│   │   ├── nodetree.json
│   │   ├── noindentafter.json
│   │   ├── noitcrul.json
│   │   ├── nolbreaks.json
│   │   ├── nomemoize.json
│   │   ├── nomencl.json
│   │   ├── non-decimal-units.json
│   │   ├── nonfloat.json
│   │   ├── normalcolor.json
│   │   ├── notes2bib.json
│   │   ├── notespages.json
│   │   ├── noto-mono.json
│   │   ├── noto-sans.json
│   │   ├── noto-serif.json
│   │   ├── noto.json
│   │   ├── notocondensed-mono.json
│   │   ├── notocondensed.json
│   │   ├── notomath.json
│   │   ├── nowidow.json
│   │   ├── nowtoaux.json
│   │   ├── nshyper.json
│   │   ├── ntabbing.json
│   │   ├── nth.json
│   │   ├── ntheorem.json
│   │   ├── nucleardata.json
│   │   ├── numberedblock.json
│   │   ├── numberpt.json
│   │   ├── numerica-plus.json
│   │   ├── numerica-tables.json
│   │   ├── numerica.json
│   │   ├── numerus.json
│   │   ├── numname.json
│   │   ├── numnameru.json
│   │   ├── numprint.json
│   │   ├── numspell.json
│   │   ├── nunito.json
│   │   ├── oands.json
│   │   ├── ob-mathleading.json
│   │   ├── obchaptertoc.json
│   │   ├── oblivoir-misc.json
│   │   ├── oblivoir-xl.json
│   │   ├── ocg-p.json
│   │   ├── ocg.json
│   │   ├── ocgtools.json
│   │   ├── ocgx.json
│   │   ├── ocgx2.json
│   │   ├── ocr.json
│   │   ├── octave.json
│   │   ├── odesandpdes.json
│   │   ├── odsfile.json
│   │   ├── ogonek.json
│   │   ├── okumacro.json
│   │   ├── okuverb.json
│   │   ├── old-arrows.json
│   │   ├── oldgerm.json
│   │   ├── oldprsn.json
│   │   ├── oldstyle.json
│   │   ├── onedash.json
│   │   ├── onedown.json
│   │   ├── onlyamsmath.json
│   │   ├── opacity-pro.json
│   │   ├── opcit.json
│   │   ├── opencolor.json
│   │   ├── opensans.json
│   │   ├── oplotsymbl.json
│   │   ├── optex.json
│   │   ├── optidef.json
│   │   ├── optional.json
│   │   ├── options.json
│   │   ├── optparams.json
│   │   ├── orcidlink.json
│   │   ├── ordinalpt.json
│   │   ├── orientation.json
│   │   ├── osda.json
│   │   ├── ot-tableau.json
│   │   ├── otf.json
│   │   ├── otfontdef.json
│   │   ├── othelloboard.json
│   │   ├── oubraces.json
│   │   ├── outlines.json
│   │   ├── outlining.json
│   │   ├── overarrows.json
│   │   ├── overcite.json
│   │   ├── overlays.json
│   │   ├── overlock.json
│   │   ├── overpic.json
│   │   ├── oz.json
│   │   ├── pacioli.json
│   │   ├── padcount.json
│   │   ├── pagecolor.json
│   │   ├── pagecont.json
│   │   ├── pagegrid.json
│   │   ├── pagella-otf.json
│   │   ├── pagenote.json
│   │   ├── pagerange.json
│   │   ├── pagesel.json
│   │   ├── pageslts.json
│   │   ├── pandora.json
│   │   ├── pangram.json
│   │   ├── papermas.json
│   │   ├── paracol.json
│   │   ├── paralist.json
│   │   ├── parallel.json
│   │   ├── paravesp.json
│   │   ├── parcolumns.json
│   │   ├── paresse.json
│   │   ├── parnotes.json
│   │   ├── parrun.json
│   │   ├── parseargs.json
│   │   ├── parselines.json
│   │   ├── parskip.json
│   │   ├── pas-cours.json
│   │   ├── pas-crosswords.json
│   │   ├── pas-cv.json
│   │   ├── pas-tableur.json
│   │   ├── pascaltriangle.json
│   │   ├── passopt.json
│   │   ├── patch-common.json
│   │   ├── patchcmd.json
│   │   ├── path.json
│   │   ├── pbalance.json
│   │   ├── pbox.json
│   │   ├── pbsi.json
│   │   ├── pcarl.json
│   │   ├── pdfbase.json
│   │   ├── pdfcol.json
│   │   ├── pdfcolparallel.json
│   │   ├── pdfcolparcolumns.json
│   │   ├── pdfcomment.json
│   │   ├── pdfcrypt.json
│   │   ├── pdfescape.json
│   │   ├── pdfextra.json
│   │   ├── pdflscape.json
│   │   ├── pdfmanagement-testphase.json
│   │   ├── pdfmarginpar.json
│   │   ├── pdfmsym.json
│   │   ├── pdfoverlay.json
│   │   ├── pdfpagediff.json
│   │   ├── pdfpages.json
│   │   ├── pdfpc-movie.json
│   │   ├── pdfpc.json
│   │   ├── pdfprivacy.json
│   │   ├── pdfrender.json
│   │   ├── pdfreview.json
│   │   ├── pdfscreen.json
│   │   ├── pdfswitch.json
│   │   ├── pdfsync.json
│   │   ├── pdftexcmds.json
│   │   ├── pdfx.json
│   │   ├── penlight.json
│   │   ├── penlightplus.json
│   │   ├── perfectcut.json
│   │   ├── perltex.json
│   │   ├── permute.json
│   │   ├── perpage.json
│   │   ├── person.json
│   │   ├── pfarrei.json
│   │   ├── pfdicons.json
│   │   ├── pfltrace.json
│   │   ├── pgf-PeriodicTable.json
│   │   ├── pgf-filehook.json
│   │   ├── pgf-interference.json
│   │   ├── pgf-pie.json
│   │   ├── pgf-soroban.json
│   │   ├── pgf-spectra.json
│   │   ├── pgf-umlcd.json
│   │   ├── pgf-umlsd.json
│   │   ├── pgf.json
│   │   ├── pgfcalendar-ext.json
│   │   ├── pgfcalendar.json
│   │   ├── pgfcore.json
│   │   ├── pgffor-ext.json
│   │   ├── pgffor.json
│   │   ├── pgfgantt.json
│   │   ├── pgfkeys.json
│   │   ├── pgfkeysearch.json
│   │   ├── pgfmanual.json
│   │   ├── pgfmath-xfp.json
│   │   ├── pgfmath.json
│   │   ├── pgfmolbio.json
│   │   ├── pgfmorepages.json
│   │   ├── pgfopts.json
│   │   ├── pgfornament-han.json
│   │   ├── pgfornament.json
│   │   ├── pgfpages-rl.json
│   │   ├── pgfpages.json
│   │   ├── pgfparser.json
│   │   ├── pgfplots.json
│   │   ├── pgfplotslibraryclickable.json
│   │   ├── pgfplotslibrarycolorbrewer.json
│   │   ├── pgfplotslibrarydateplot.json
│   │   ├── pgfplotslibrarydecorations.softclip.json
│   │   ├── pgfplotslibraryexternal.json
│   │   ├── pgfplotslibraryfillbetween.json
│   │   ├── pgfplotslibrarygroupplots.json
│   │   ├── pgfplotslibrarypatchplots.json
│   │   ├── pgfplotslibrarypolar.json
│   │   ├── pgfplotslibrarysmithchart.json
│   │   ├── pgfplotslibrarystatistics.json
│   │   ├── pgfplotslibraryternary.json
│   │   ├── pgfplotslibraryunits.json
│   │   ├── pgfplotstable.json
│   │   ├── pgfplotsthemebeamer.json
│   │   ├── pgfrcs.json
│   │   ├── pgfsubpic.json
│   │   ├── pgfsys.json
│   │   ├── pgftree.json
│   │   ├── pgothic.json
│   │   ├── phaistos.json
│   │   ├── phfcc.json
│   │   ├── phffullpagefigure.json
│   │   ├── phfnote.json
│   │   ├── phfparen.json
│   │   ├── phfqit.json
│   │   ├── phfquotetext.json
│   │   ├── phfsvnwatermark.json
│   │   ├── phfthm.json
│   │   ├── philex.json
│   │   ├── philokalia.json
│   │   ├── phoenician.json
│   │   ├── phonenumbers.json
│   │   ├── phonetic.json
│   │   ├── phonrule.json
│   │   ├── photo.json
│   │   ├── physconst.json
│   │   ├── physics.json
│   │   ├── physics2.json
│   │   ├── physunits.json
│   │   ├── piano.json
│   │   ├── picinpar.json
│   │   ├── picins.json
│   │   ├── pict2e.json
│   │   ├── picture.json
│   │   ├── pifont.json
│   │   ├── pigpen.json
│   │   ├── pinlabel.json
│   │   ├── pinoutikz.json
│   │   ├── pinyin.json
│   │   ├── piton.json
│   │   ├── pixelart.json
│   │   ├── pkgloader.json
│   │   ├── placeat.json
│   │   ├── placeins.json
│   │   ├── plaintex.json
│   │   ├── planets.json
│   │   ├── plantuml.json
│   │   ├── plarray.json
│   │   ├── platex.json
│   │   ├── plautopatch.json
│   │   ├── playcards.json
│   │   ├── pldocverb.json
│   │   ├── plex-mono.json
│   │   ├── plex-otf.json
│   │   ├── plex-sans.json
│   │   ├── plex-serif.json
│   │   ├── plext.json
│   │   ├── plextarray.json
│   │   ├── plextcolortbl.json
│   │   ├── plextdelarray.json
│   │   ├── plimsoll.json
│   │   ├── plprefix.json
│   │   ├── pm-isomath.json
│   │   ├── pmat.json
│   │   ├── pmboxdraw.json
│   │   ├── pmdb.json
│   │   ├── pmdraw.json
│   │   ├── pmhanguljamo-frkim.json
│   │   ├── pmhanguljamo.json
│   │   ├── poemscol.json
│   │   ├── poetry.json
│   │   ├── poetrytex.json
│   │   ├── polexpr.json
│   │   ├── polski.json
│   │   ├── polyglossia.json
│   │   ├── polyhedra.json
│   │   ├── polymers.json
│   │   ├── polynom.json
│   │   ├── polynomial.json
│   │   ├── polyomino.json
│   │   ├── polytable.json
│   │   ├── poormanlog.json
│   │   ├── popupmenu.json
│   │   ├── postage.json
│   │   ├── poster.json
│   │   ├── postit.json
│   │   ├── postnotes.json
│   │   ├── powerdot-BerlinFU.json
│   │   ├── powerdot-aggie.json
│   │   ├── powerdot-bframe.json
│   │   ├── powerdot-ciment.json
│   │   ├── powerdot-default.json
│   │   ├── powerdot-elcolors.json
│   │   ├── powerdot-fyma.json
│   │   ├── powerdot-horatio.json
│   │   ├── powerdot-husky.json
│   │   ├── powerdot-ikeda.json
│   │   ├── powerdot-jefka.json
│   │   ├── powerdot-klope.json
│   │   ├── powerdot-paintings.json
│   │   ├── powerdot-pazik.json
│   │   ├── powerdot-sailor.json
│   │   ├── powerdot-simple.json
│   │   ├── powerdot-tuliplab.json
│   │   ├── powerdot-tycja.json
│   │   ├── powerdot-upen.json
│   │   ├── ppt-slides.json
│   │   ├── precattl.json
│   │   ├── prelim2e.json
│   │   ├── preparefont.json
│   │   ├── prerex.json
│   │   ├── pressrelease-symbols.json
│   │   ├── prettyref.json
│   │   ├── prettytok.json
│   │   ├── preview.json
│   │   ├── prftree.json
│   │   ├── principia.json
│   │   ├── printlen.json
│   │   ├── printsudoku.json
│   │   ├── prnthyph.json
│   │   ├── proba.json
│   │   ├── probsoln.json
│   │   ├── procIAGssymp.json
│   │   ├── processkv.json
│   │   ├── prodint.json
│   │   ├── productbox.json
│   │   ├── program.json
│   │   ├── progressbar.json
│   │   ├── projlib-author.json
│   │   ├── projlib-datetime.json
│   │   ├── projlib-draft.json
│   │   ├── projlib-font.json
│   │   ├── projlib-language.json
│   │   ├── projlib-logo.json
│   │   ├── projlib-math.json
│   │   ├── projlib-paper.json
│   │   ├── projlib-text.json
│   │   ├── projlib-theorem.json
│   │   ├── projlib-titlepage.json
│   │   ├── proof-at-the-end.json
│   │   ├── proof.json
│   │   ├── proofread.json
│   │   ├── prooftrees.json
│   │   ├── properties.json
│   │   ├── protecteddef.json
│   │   ├── protosem.json
│   │   ├── ps-trees.json
│   │   ├── pseudo.json
│   │   ├── pseudocode.json
│   │   ├── psfont.json
│   │   ├── psfrag.json
│   │   ├── psfragx.json
│   │   ├── psgo.json
│   │   ├── pst-2dplot.json
│   │   ├── pst-3d.json
│   │   ├── pst-3dplot.json
│   │   ├── pst-abspos.json
│   │   ├── pst-all.json
│   │   ├── pst-am.json
│   │   ├── pst-antiprism.json
│   │   ├── pst-arrow.json
│   │   ├── pst-bar.json
│   │   ├── pst-barcode.json
│   │   ├── pst-bezier.json
│   │   ├── pst-blur.json
│   │   ├── pst-bspline.json
│   │   ├── pst-calculate.json
│   │   ├── pst-calendar.json
│   │   ├── pst-char.json
│   │   ├── pst-cie.json
│   │   ├── pst-circ.json
│   │   ├── pst-coil.json
│   │   ├── pst-contourplot.json
│   │   ├── pst-coxcoor.json
│   │   ├── pst-coxeterp.json
│   │   ├── pst-dart.json
│   │   ├── pst-dbicons.json
│   │   ├── pst-diffraction.json
│   │   ├── pst-electricfield.json
│   │   ├── pst-eps.json
│   │   ├── pst-eucl.json
│   │   ├── pst-exa.json
│   │   ├── pst-feyn.json
│   │   ├── pst-fill.json
│   │   ├── pst-fit.json
│   │   ├── pst-flags-colors-html.json
│   │   ├── pst-flags.json
│   │   ├── pst-fr3d.json
│   │   ├── pst-fractal.json
│   │   ├── pst-fun.json
│   │   ├── pst-func.json
│   │   ├── pst-gantt.json
│   │   ├── pst-geo.json
│   │   ├── pst-geometrictools.json
│   │   ├── pst-gr3d.json
│   │   ├── pst-hsb.json
│   │   ├── pst-infixplot.json
│   │   ├── pst-intersect.json
│   │   ├── pst-jtree.json
│   │   ├── pst-key.json
│   │   ├── pst-knot.json
│   │   ├── pst-labo.json
│   │   ├── pst-layout.json
│   │   ├── pst-lens.json
│   │   ├── pst-light3d.json
│   │   ├── pst-lsystem.json
│   │   ├── pst-magneticfield.json
│   │   ├── pst-marble.json
│   │   ├── pst-math.json
│   │   ├── pst-mirror.json
│   │   ├── pst-moire.json
│   │   ├── pst-node.json
│   │   ├── pst-ob3d.json
│   │   ├── pst-ode.json
│   │   ├── pst-optexp.json
│   │   ├── pst-optic.json
│   │   ├── pst-osci.json
│   │   ├── pst-ovl.json
│   │   ├── pst-pad.json
│   │   ├── pst-pdf.json
│   │   ├── pst-pdgr.json
│   │   ├── pst-perspective.json
│   │   ├── pst-platon.json
│   │   ├── pst-plot.json
│   │   ├── pst-poker.json
│   │   ├── pst-poly.json
│   │   ├── pst-pulley.json
│   │   ├── pst-rputover.json
│   │   ├── pst-rubans.json
│   │   ├── pst-shell.json
│   │   ├── pst-sigsys.json
│   │   ├── pst-slpe.json
│   │   ├── pst-solarsystem.json
│   │   ├── pst-solides3d.json
│   │   ├── pst-soroban.json
│   │   ├── pst-spectra.json
│   │   ├── pst-spinner.json
│   │   ├── pst-stru.json
│   │   ├── pst-text.json
│   │   ├── pst-thick.json
│   │   ├── pst-tools.json
│   │   ├── pst-tree.json
│   │   ├── pst-turtle.json
│   │   ├── pst-tvz.json
│   │   ├── pst-vehicle.json
│   │   ├── pst-venn.json
│   │   ├── pst-vowel.json
│   │   ├── pst-xkey.json
│   │   ├── pstool.json
│   │   ├── pstricks-add.json
│   │   ├── pstricks-pdf.json
│   │   ├── pstricks.json
│   │   ├── pstring.json
│   │   ├── psvectorian.json
│   │   ├── ptex.json
│   │   ├── ptext.json
│   │   ├── ptolemaicastronomy.json
│   │   ├── punk.json
│   │   ├── puyotikz.json
│   │   ├── pvscript.json
│   │   ├── px-ds.json
│   │   ├── pxbabel.json
│   │   ├── pxbase.json
│   │   ├── pxchfon.json
│   │   ├── pxcjkcat.json
│   │   ├── pxfonts.json
│   │   ├── pxftnright.json
│   │   ├── pxgreeks.json
│   │   ├── pxjahyper-enc.json
│   │   ├── pxjahyper.json
│   │   ├── pxjodel.json
│   │   ├── pxmulticol.json
│   │   ├── pxpic.json
│   │   ├── pxrubrica.json
│   │   ├── pxtx-cal.json
│   │   ├── pxtx-frak.json
│   │   ├── pxxspace.json
│   │   ├── pygmentex.json
│   │   ├── pylatex.json
│   │   ├── pyluatex.json
│   │   ├── pymacros.json
│   │   ├── python.json
│   │   ├── pythonhighlight.json
│   │   ├── pythonimmediate.json
│   │   ├── pythontex.json
│   │   ├── qcircuit.json
│   │   ├── qcm.json
│   │   ├── qqru.json
│   │   ├── qrbill.json
│   │   ├── qrcode.json
│   │   ├── qrcstamps.json
│   │   ├── qsharp.json
│   │   ├── qstest.json
│   │   ├── qtree.json
│   │   ├── quantikz.json
│   │   ├── quattrocento.json
│   │   ├── quickreaction.json
│   │   ├── quiver.json
│   │   ├── quiz2socrative.json
│   │   ├── quizztex.json
│   │   ├── quotchap.json
│   │   ├── quoted.json
│   │   ├── quoting.json
│   │   ├── quran-bn.json
│   │   ├── quran-de.json
│   │   ├── quran-ur.json
│   │   ├── quran.json
│   │   ├── ragged2e.json
│   │   ├── raleway.json
│   │   ├── ran_toks.json
│   │   ├── randbild.json
│   │   ├── randomlist.json
│   │   ├── randomwalk.json
│   │   ├── randtext.json
│   │   ├── rangen.json
│   │   ├── rank-2-roots.json
│   │   ├── rawfonts.json
│   │   ├── rccol.json
│   │   ├── rcs-multi.json
│   │   ├── rcsinfo.json
│   │   ├── readarray.json
│   │   ├── readhanja.json
│   │   ├── readprov.json
│   │   ├── realboxes.json
│   │   ├── realhats.json
│   │   ├── realscripts.json
│   │   ├── realtranspose.json
│   │   ├── rec-thy.json
│   │   ├── recorder-fingering.json
│   │   ├── rectopma.json
│   │   ├── recycle.json
│   │   ├── refcheck.json
│   │   ├── refcount.json
│   │   ├── refenums.json
│   │   ├── reflectgraphics.json
│   │   ├── refstyle.json
│   │   ├── regcount.json
│   │   ├── regexpatch.json
│   │   ├── register.json
│   │   ├── regstats.json
│   │   ├── relaycircuit.json
│   │   ├── reledmac.json
│   │   ├── reledpar.json
│   │   ├── relinput.json
│   │   ├── relsize.json
│   │   ├── renditions.json
│   │   ├── reotex.json
│   │   ├── repltext.json
│   │   ├── rerunfilecheck.json
│   │   ├── rescansync.json
│   │   ├── resizegather.json
│   │   ├── resmes.json
│   │   ├── responsive.json
│   │   ├── rest-api.json
│   │   ├── returntogrid.json
│   │   ├── revquantum.json
│   │   ├── revsymb4-2.json
│   │   ├── rgltxdoc.json
│   │   ├── ribbonproofs.json
│   │   ├── richtext.json
│   │   ├── rigidnotation.json
│   │   ├── rit-fonts.json
│   │   ├── rjlpshap.json
│   │   ├── rmannot.json
│   │   ├── rmathbr.json
│   │   ├── robotarm.json
│   │   ├── roboto-mono.json
│   │   ├── roboto-serif.json
│   │   ├── roboto.json
│   │   ├── robust-externalize.json
│   │   ├── robustglossary.json
│   │   ├── robustindex.json
│   │   ├── rojud.json
│   │   ├── romanbar.json
│   │   ├── romande.json
│   │   ├── romannum.json
│   │   ├── rorlink.json
│   │   ├── rotating.json
│   │   ├── rotchiffre.json
│   │   ├── rotpages.json
│   │   ├── rotunda.json
│   │   ├── roundbox.json
│   │   ├── rpgicons.json
│   │   ├── rsfso.json
│   │   ├── rsphrase.json
│   │   ├── rterface.json
│   │   ├── rubikcube.json
│   │   ├── rubikpatterns.json
│   │   ├── rubikrotation.json
│   │   ├── rubiktwocube.json
│   │   ├── ruby.json
│   │   ├── rulerbox.json
│   │   ├── runcode.json
│   │   ├── runic.json
│   │   ├── rustex.json
│   │   ├── rustic.json
│   │   ├── rviewport.json
│   │   ├── rvwrite.json
│   │   ├── sa-tikz.json
│   │   ├── sacsymb.json
│   │   ├── sagetex.json
│   │   ├── sankey.json
│   │   ├── sansmath.json
│   │   ├── sansmathfonts.json
│   │   ├── sarabian.json
│   │   ├── saveenv.json
│   │   ├── savesym.json
│   │   ├── savetrees.json
│   │   ├── sbl-paper.json
│   │   ├── scalebar.json
│   │   ├── scalefnt.json
│   │   ├── scalerel.json
│   │   ├── scanpages.json
│   │   ├── schedule.json
│   │   ├── schemabloc.json
│   │   ├── schemata.json
│   │   ├── schola-otf.json
│   │   ├── scholax.json
│   │   ├── schooldocs.json
│   │   ├── schule.json
│   │   ├── schulma-physik.json
│   │   ├── schulma.json
│   │   ├── schwalbe.json
│   │   ├── scientific-thesis-cover.json
│   │   ├── scikgtex.json
│   │   ├── sclang-prettifier.json
│   │   ├── scontents.json
│   │   ├── scraddr.json
│   │   ├── scrambledenvs.json
│   │   ├── scratch3.json
│   │   ├── scrbase.json
│   │   ├── scrdate.json
│   │   ├── screenplay-pkg.json
│   │   ├── scrextend.json
│   │   ├── scrfontsizes.json
│   │   ├── scrhack.json
│   │   ├── scripture.json
│   │   ├── scrjura.json
│   │   ├── scrkbase.json
│   │   ├── scrlayer-fancyhdr.json
│   │   ├── scrlayer-notecolumn.json
│   │   ├── scrlayer-scrpage.json
│   │   ├── scrlayer.json
│   │   ├── scrletter.json
│   │   ├── scrlfile-hook.json
│   │   ├── scrlfile.json
│   │   ├── scrlogo.json
│   │   ├── scrpage2.json
│   │   ├── scrtime.json
│   │   ├── scrwfile.json
│   │   ├── scsnowman.json
│   │   ├── sdapsarray.json
│   │   ├── sdapsbase.json
│   │   ├── sdapslayout.json
│   │   ├── se2colors.json
│   │   ├── se2fonts.json
│   │   ├── se2packages.json
│   │   ├── secdot.json
│   │   ├── secnum.json
│   │   ├── sectionbox.json
│   │   ├── sectionbreak.json
│   │   ├── sectsty.json
│   │   ├── seealso.json
│   │   ├── selectp.json
│   │   ├── selinput.json
│   │   ├── selnolig.json
│   │   ├── semantex.json
│   │   ├── semantic-markup.json
│   │   ├── semantic.json
│   │   ├── semesterplanner.json
│   │   ├── semesterplannerlua.json
│   │   ├── semioneside.json
│   │   ├── semtex.json
│   │   ├── semtrans.json
│   │   ├── sepfootnotes.json
│   │   ├── sepnum.json
│   │   ├── seqsplit.json
│   │   ├── serbian-lig.json
│   │   ├── sesstime.json
│   │   ├── setdeck.json
│   │   ├── setdim.json
│   │   ├── setouterhbox.json
│   │   ├── sets.json
│   │   ├── setspace.json
│   │   ├── setspaceenhanced.json
│   │   ├── settobox.json
│   │   ├── sf298.json
│   │   ├── sfmath.json
│   │   ├── sgame.json
│   │   ├── sgamevar.json
│   │   ├── shadethm.json
│   │   ├── shadow.json
│   │   ├── shadowtext.json
│   │   ├── shapepar.json
│   │   ├── shdoc.json
│   │   ├── shellesc.json
│   │   ├── shortlst.json
│   │   ├── shortmathj.json
│   │   ├── shorttoc.json
│   │   ├── shortvrb.json
│   │   ├── show2e.json
│   │   ├── showcharinbox.json
│   │   ├── showdim.json
│   │   ├── showexpl.json
│   │   ├── showframe.json
│   │   ├── showhyphenation.json
│   │   ├── showhyphens.json
│   │   ├── showkerning.json
│   │   ├── showkeys.json
│   │   ├── showlabels.json
│   │   ├── shuffle.json
│   │   ├── sidebars.json
│   │   ├── sidecap.json
│   │   ├── sidenotes.json
│   │   ├── sidenotesplus.json
│   │   ├── signchart.json
│   │   ├── silence.json
│   │   ├── sillypage.json
│   │   ├── simplebnf.json
│   │   ├── simpleicons.json
│   │   ├── simpleinvoice.json
│   │   ├── simplekv.json
│   │   ├── simplenodes.json
│   │   ├── simpleoptics.json
│   │   ├── simpler-wick.json
│   │   ├── simples-matrices.json
│   │   ├── simpsons.json
│   │   ├── sitem.json
│   │   ├── siunitx-special.json
│   │   ├── siunitx.json
│   │   ├── sizeredc.json
│   │   ├── skak.json
│   │   ├── skeldoc.json
│   │   ├── skillicons.json
│   │   ├── skills.json
│   │   ├── skmath.json
│   │   ├── skt.json
│   │   ├── skull.json
│   │   ├── slantsc.json
│   │   ├── slashbox.json
│   │   ├── slashed.json
│   │   ├── slemph.json
│   │   ├── sltables.json
│   │   ├── smalltableof.json
│   │   ├── smart-eqn.json
│   │   ├── smartdiagram.json
│   │   ├── smartref.json
│   │   ├── smartunits.json
│   │   ├── smfthm.json
│   │   ├── snapshot.json
│   │   ├── snaptodo.json
│   │   ├── snotez.json
│   │   ├── sobolev.json
│   │   ├── software-biblatex.json
│   │   ├── solvesudoku.json
│   │   ├── somedefs.json
│   │   ├── songbook.json
│   │   ├── songproj.json
│   │   ├── songs.json
│   │   ├── soul.json
│   │   ├── soulpos.json
│   │   ├── soulutf8.json
│   │   ├── soup.json
│   │   ├── sourcecodepro.json
│   │   ├── sourcesanspro.json
│   │   ├── sourceserifpro.json
│   │   ├── spacekern.json
│   │   ├── spacingtricks.json
│   │   ├── spalign.json
│   │   ├── spark-otf.json
│   │   ├── sparklines.json
│   │   ├── spbmark.json
│   │   ├── spdef.json
│   │   ├── spectral.json
│   │   ├── spectralsequences.json
│   │   ├── spelatex.json
│   │   ├── spelling.json
│   │   ├── splitidx.json
│   │   ├── spot.json
│   │   ├── spotcolor.json
│   │   ├── spreadtab.json
│   │   ├── spverbatim.json
│   │   ├── sqrcaps.json
│   │   ├── srbtiks.json
│   │   ├── srcltx.json
│   │   ├── srdp-tables.json
│   │   ├── sseq.json
│   │   ├── stabular.json
│   │   ├── stack.json
│   │   ├── stackengine.json
│   │   ├── stacklet.json
│   │   ├── stackrel.json
│   │   ├── standalone.json
│   │   ├── standardsectioning.json
│   │   ├── stanli.json
│   │   ├── starfont.json
│   │   ├── starray.json
│   │   ├── statistics.json
│   │   ├── statmath.json
│   │   ├── statrep.json
│   │   ├── staves.json
│   │   ├── stdclsdv.json
│   │   ├── stdpage.json
│   │   ├── stealcaps.json
│   │   ├── steinmetz.json
│   │   ├── step.json
│   │   ├── steroid.json
│   │   ├── stex-logo.json
│   │   ├── stex-tikzinput.json
│   │   ├── stex.json
│   │   ├── stexthm.json
│   │   ├── stfloats.json
│   │   ├── stickstootext.json
│   │   ├── stix2.json
│   │   ├── stmaryrd.json
│   │   ├── stoneipa.json
│   │   ├── storebox.json
│   │   ├── strands.json
│   │   ├── stricttex.json
│   │   ├── string-diagrams.json
│   │   ├── stringenc.json
│   │   ├── stringstrings.json
│   │   ├── stripsemantex.json
│   │   ├── structmech.json
│   │   ├── struktex.json
│   │   ├── struktxf.json
│   │   ├── struktxp.json
│   │   ├── stubs.json
│   │   ├── studenthandouts.json
│   │   ├── styledcmd.json
│   │   ├── suanpan-l3.json
│   │   ├── subcaption.json
│   │   ├── subdepth.json
│   │   ├── subdocs.json
│   │   ├── subeqn.json
│   │   ├── subeqnarray.json
│   │   ├── subfig.json
│   │   ├── subfigmat.json
│   │   ├── subfigure.json
│   │   ├── subfiles.json
│   │   ├── subfloat.json
│   │   ├── substances.json
│   │   ├── substitutefont.json
│   │   ├── substr.json
│   │   ├── subsupscripts.json
│   │   ├── subtext.json
│   │   ├── sudoku.json
│   │   ├── suetterl.json
│   │   ├── suffix.json
│   │   ├── superiors.json
│   │   ├── supertabular.json
│   │   ├── suppose.json
│   │   ├── susy.json
│   │   ├── sverb.json
│   │   ├── svg-extract.json
│   │   ├── svg.json
│   │   ├── svgcolor.json
│   │   ├── svn-multi.json
│   │   ├── svn-prov.json
│   │   ├── svn.json
│   │   ├── svninfo.json
│   │   ├── svrsymbols.json
│   │   ├── swfigure.json
│   │   ├── swungdash.json
│   │   ├── symbats3.json
│   │   ├── symbolpalette.json
│   │   ├── sympytex.json
│   │   ├── synproof.json
│   │   ├── syntax.json
│   │   ├── syntaxdi.json
│   │   ├── synthslant.json
│   │   ├── syntonly.json
│   │   ├── systeme.json
│   │   ├── t1enc.json
│   │   ├── t4phonet.json
│   │   ├── tabfigures.json
│   │   ├── table-fct.json
│   │   ├── tablefootnote.json
│   │   ├── tableof.json
│   │   ├── tablestyles.json
│   │   ├── tablists.json
│   │   ├── tablor.json
│   │   ├── tabls.json
│   │   ├── tablvar.json
│   │   ├── taborder.json
│   │   ├── tabstackengine.json
│   │   ├── tabto.json
│   │   ├── tabu.json
│   │   ├── tabularborder.json
│   │   ├── tabularcalc.json
│   │   ├── tabularew.json
│   │   ├── tabularht.json
│   │   ├── tabularkv.json
│   │   ├── tabularray.json
│   │   ├── tabularraylibraryamsmath.json
│   │   ├── tabularraylibrarybooktabs.json
│   │   ├── tabularraylibrarydiagbox.json
│   │   ├── tabularraylibraryfunctional.json
│   │   ├── tabularraylibrarynameref.json
│   │   ├── tabularraylibrarysiunitx.json
│   │   ├── tabularraylibraryvarwidth.json
│   │   ├── tabularraylibraryzref.json
│   │   ├── tabularx.json
│   │   ├── tabulary.json
│   │   ├── tabvar.json
│   │   ├── tagging.json
│   │   ├── tagpair.json
│   │   ├── tagpdf.json
│   │   ├── tameflts.json
│   │   ├── tangocolors.json
│   │   ├── tascmac.json
│   │   ├── tasks.json
│   │   ├── tcolorbox.json
│   │   ├── tcolorboxlibraryall.json
│   │   ├── tcolorboxlibrarybreakable.json
│   │   ├── tcolorboxlibrarydocumentation.json
│   │   ├── tcolorboxlibraryexternal.json
│   │   ├── tcolorboxlibraryfitting.json
│   │   ├── tcolorboxlibraryhooks.json
│   │   ├── tcolorboxlibrarylistings.json
│   │   ├── tcolorboxlibrarylistingsutf8.json
│   │   ├── tcolorboxlibrarymagazine.json
│   │   ├── tcolorboxlibrarymany.json
│   │   ├── tcolorboxlibraryminted.json
│   │   ├── tcolorboxlibrarymost.json
│   │   ├── tcolorboxlibraryposter.json
│   │   ├── tcolorboxlibraryraster.json
│   │   ├── tcolorboxlibraryskins.json
│   │   ├── tcolorboxlibrarytheorems.json
│   │   ├── tcolorboxlibraryvignette.json
│   │   ├── tdclock.json
│   │   ├── tdsfrmath.json
│   │   ├── ted.json
│   │   ├── telprint.json
│   │   ├── templatetools.json
│   │   ├── tempora.json
│   │   ├── tengwarscript.json
│   │   ├── tensind.json
│   │   ├── tensor.json
│   │   ├── termcal.json
│   │   ├── termes-otf.json
│   │   ├── termlist.json
│   │   ├── termsim.json
│   │   ├── testhyphens.json
│   │   ├── testidx-glossaries.json
│   │   ├── testidx.json
│   │   ├── tetragonos.json
│   │   ├── teubner.json
│   │   ├── tex-locale.json
│   │   ├── tex.json
│   │   ├── tex4ebook.json
│   │   ├── tex4ht.json
│   │   ├── texapi.json
│   │   ├── texdate.json
│   │   ├── texdepends.json
│   │   ├── texdimens.json
│   │   ├── texdraw.json
│   │   ├── texlinks.json
│   │   ├── texmate.json
│   │   ├── texments.json
│   │   ├── texnames.json
│   │   ├── texnegar.json
│   │   ├── texosquery.json
│   │   ├── texshade.json
│   │   ├── texsort.json
│   │   ├── texsurgery.json
│   │   ├── textalpha.json
│   │   ├── textarea.json
│   │   ├── textcase.json
│   │   ├── textcmds.json
│   │   ├── textcomp.json
│   │   ├── textcsc.json
│   │   ├── textfit.json
│   │   ├── textfrac.json
│   │   ├── textglos.json
│   │   ├── textgreek.json
│   │   ├── textopo.json
│   │   ├── textpos.json
│   │   ├── textualicomma.json
│   │   ├── texvc.json
│   │   ├── tfrupee.json
│   │   ├── tgadventor.json
│   │   ├── tgbonum.json
│   │   ├── tgchorus.json
│   │   ├── tgcursor.json
│   │   ├── tgheros.json
│   │   ├── tgothic.json
│   │   ├── tgpagella.json
│   │   ├── tgschola.json
│   │   ├── tgtermes.json
│   │   ├── thaienum.json
│   │   ├── thaispec.json
│   │   ├── thalie.json
│   │   ├── theatre.json
│   │   ├── theorem.json
│   │   ├── theoremref.json
│   │   ├── thepdfnumber.json
│   │   ├── thermodynamics.json
│   │   ├── thinsp.json
│   │   ├── thm-autoref.json
│   │   ├── thm-kv.json
│   │   ├── thm-listof.json
│   │   ├── thm-patch.json
│   │   ├── thm-restate.json
│   │   ├── thmbox.json
│   │   ├── thmtools.json
│   │   ├── thorshammer.json
│   │   ├── threadcol.json
│   │   ├── threeparttable.json
│   │   ├── threeparttablex.json
│   │   ├── thsmc.json
│   │   ├── thumb.json
│   │   ├── thumbs.json
│   │   ├── thumby.json
│   │   ├── ticket.json
│   │   ├── ticollege.json
│   │   ├── tikz-3dplot.json
│   │   ├── tikz-among-us-fancyhdr.json
│   │   ├── tikz-among-us-watermark-eso-pic.json
│   │   ├── tikz-among-us.json
│   │   ├── tikz-bagua.json
│   │   ├── tikz-cd.json
│   │   ├── tikz-dependency.json
│   │   ├── tikz-dimline.json
│   │   ├── tikz-feynhand.json
│   │   ├── tikz-feynman.json
│   │   ├── tikz-imagelabels.json
│   │   ├── tikz-inet.json
│   │   ├── tikz-lake-fig.json
│   │   ├── tikz-layers.json
│   │   ├── tikz-mirror-lens.json
│   │   ├── tikz-network.json
│   │   ├── tikz-opm.json
│   │   ├── tikz-osci.json
│   │   ├── tikz-page.json
│   │   ├── tikz-palattice.json
│   │   ├── tikz-qtree.json
│   │   ├── tikz-timing.json
│   │   ├── tikz-trackschematic.json
│   │   ├── tikz-truchet.json
│   │   ├── tikz-uml.json
│   │   ├── tikz.json
│   │   ├── tikz2d-fr.json
│   │   ├── tikz3d-fr.json
│   │   ├── tikzPackets.json
│   │   ├── tikzbricks.json
│   │   ├── tikzcodeblocks.json
│   │   ├── tikzdotncross.json
│   │   ├── tikzducks.json
│   │   ├── tikzexternal.json
│   │   ├── tikzfill.hexagon.json
│   │   ├── tikzfill.image.json
│   │   ├── tikzfill.json
│   │   ├── tikzfill.rhombus.json
│   │   ├── tikzinclude.json
│   │   ├── tikzinput.json
│   │   ├── tikzlibrary3d.json
│   │   ├── tikzlibraryangles.json
│   │   ├── tikzlibraryanimations.json
│   │   ├── tikzlibraryautomata.json
│   │   ├── tikzlibrarybabel.json
│   │   ├── tikzlibrarybackgrounds.json
│   │   ├── tikzlibrarybayesnet.json
│   │   ├── tikzlibrarybbox.json
│   │   ├── tikzlibrarybending.json
│   │   ├── tikzlibrarybraids.json
│   │   ├── tikzlibrarycalendar.json
│   │   ├── tikzlibrarycalligraphy.json
│   │   ├── tikzlibrarycd.json
│   │   ├── tikzlibraryceltic.json
│   │   ├── tikzlibrarychains.json
│   │   ├── tikzlibrarycircuits.ee.IEC.json
│   │   ├── tikzlibrarycircuits.ee.IEC.relay.json
│   │   ├── tikzlibrarycircuits.ee.json
│   │   ├── tikzlibrarycircuits.json
│   │   ├── tikzlibrarycircuits.logic.CDH.json
│   │   ├── tikzlibrarycircuits.logic.IEC.json
│   │   ├── tikzlibrarycircuits.logic.US.json
│   │   ├── tikzlibrarycircuits.logic.json
│   │   ├── tikzlibrarycircuits.plc.ladder.json
│   │   ├── tikzlibrarycircuits.plc.sfc.json
│   │   ├── tikzlibrarycolorbrewer.json
│   │   ├── tikzlibrarycommutative-diagrams.json
│   │   ├── tikzlibrarycurvilinear.json
│   │   ├── tikzlibrarydatavisualization.3d.json
│   │   ├── tikzlibrarydatavisualization.barcharts.json
│   │   ├── tikzlibrarydatavisualization.formats.functions.json
│   │   ├── tikzlibrarydatavisualization.json
│   │   ├── tikzlibrarydatavisualization.polar.json
│   │   ├── tikzlibrarydatavisualization.sparklines.json
│   │   ├── tikzlibrarydecorations.footprints.json
│   │   ├── tikzlibrarydecorations.fractals.json
│   │   ├── tikzlibrarydecorations.json
│   │   ├── tikzlibrarydecorations.markings.json
│   │   ├── tikzlibrarydecorations.pathmorphing.json
│   │   ├── tikzlibrarydecorations.pathreplacing.json
│   │   ├── tikzlibrarydecorations.shapes.json
│   │   ├── tikzlibrarydecorations.text.json
│   │   ├── tikzlibrarydubins.json
│   │   ├── tikzlibraryducks.json
│   │   ├── tikzlibraryer.json
│   │   ├── tikzlibraryext.calendar-plus.json
│   │   ├── tikzlibraryext.misc.json
│   │   ├── tikzlibraryext.node-families.json
│   │   ├── tikzlibraryext.node-families.shapes.geometric.json
│   │   ├── tikzlibraryext.nodes.json
│   │   ├── tikzlibraryext.paths.arcto.json
│   │   ├── tikzlibraryext.paths.timer.json
│   │   ├── tikzlibraryext.patterns.images.json
│   │   ├── tikzlibraryext.positioning-plus.json
│   │   ├── tikzlibraryext.scalepicture.json
│   │   ├── tikzlibraryext.shapes.circlearrow.json
│   │   ├── tikzlibraryext.shapes.circlecrosssplit.json
│   │   ├── tikzlibraryext.shapes.heatmark.json
│   │   ├── tikzlibraryext.shapes.rectangleroundedcorners.json
│   │   ├── tikzlibraryext.shapes.superellipse.json
│   │   ├── tikzlibraryext.shapes.uncenteredrectangle.json
│   │   ├── tikzlibraryext.transformations.mirror.json
│   │   ├── tikzlibraryexternal.json
│   │   ├── tikzlibraryfadings.json
│   │   ├── tikzlibraryfill.hexagon.json
│   │   ├── tikzlibraryfill.image.json
│   │   ├── tikzlibraryfill.rhombus.json
│   │   ├── tikzlibraryfit.json
│   │   ├── tikzlibraryfixedpointarithmetic.json
│   │   ├── tikzlibraryfolding.json
│   │   ├── tikzlibraryfpu.json
│   │   ├── tikzlibrarygraphdrawing.json
│   │   ├── tikzlibrarygraphs.json
│   │   ├── tikzlibrarygraphs.standard.json
│   │   ├── tikzlibraryhobby.json
│   │   ├── tikzlibraryintersections.json
│   │   ├── tikzlibrarykarnaugh.json
│   │   ├── tikzlibraryknots.json
│   │   ├── tikzlibrarylindenmayersystems.json
│   │   ├── tikzlibrarymarmots.json
│   │   ├── tikzlibrarymath.json
│   │   ├── tikzlibrarymatrix.json
│   │   ├── tikzlibrarymatrix.skeleton.json
│   │   ├── tikzlibrarymindmap.json
│   │   ├── tikzlibrarynef.json
│   │   ├── tikzlibrarynfold.json
│   │   ├── tikzlibraryocgx.json
│   │   ├── tikzlibraryoptics.json
│   │   ├── tikzlibraryoverlay-beamer-styles.json
│   │   ├── tikzlibrarypatterns.meta.json
│   │   ├── tikzlibrarypenrose.json
│   │   ├── tikzlibraryperspective.json
│   │   ├── tikzlibrarypetri.json
│   │   ├── tikzlibraryplotmarks.json
│   │   ├── tikzlibrarypositioning.json
│   │   ├── tikzlibraryprofiler.json
│   │   ├── tikzlibraryquantikz.json
│   │   ├── tikzlibraryquantikz2.json
│   │   ├── tikzlibraryquotes.json
│   │   ├── tikzlibraryrdf.json
│   │   ├── tikzlibraryrulercompass.json
│   │   ├── tikzlibraryshadings.json
│   │   ├── tikzlibraryshadows.blur.json
│   │   ├── tikzlibraryshadows.json
│   │   ├── tikzlibraryshapes.arrows.json
│   │   ├── tikzlibraryshapes.callouts.json
│   │   ├── tikzlibraryshapes.gates.ee.IEC.json
│   │   ├── tikzlibraryshapes.gates.ee.json
│   │   ├── tikzlibraryshapes.gates.logic.IEC.json
│   │   ├── tikzlibraryshapes.gates.logic.US.json
│   │   ├── tikzlibraryshapes.gates.logic.json
│   │   ├── tikzlibraryshapes.geometric.json
│   │   ├── tikzlibraryshapes.json
│   │   ├── tikzlibraryshapes.misc.json
│   │   ├── tikzlibraryshapes.multipart.json
│   │   ├── tikzlibraryshapes.symbols.json
│   │   ├── tikzlibraryspath3.json
│   │   ├── tikzlibraryspy.json
│   │   ├── tikzlibrarysvg.path.json
│   │   ├── tikzlibraryswigs.json
│   │   ├── tikzlibraryswitching-architectures.json
│   │   ├── tikzlibrarythrough.json
│   │   ├── tikzlibrarytikzlings.json
│   │   ├── tikzlibrarytikzmark.json
│   │   ├── tikzlibrarytilings.json
│   │   ├── tikzlibrarytilings.penrose.json
│   │   ├── tikzlibrarytilings.polykite.json
│   │   ├── tikzlibrarytqft.json
│   │   ├── tikzlibrarytrees.json
│   │   ├── tikzlibraryturtle.json
│   │   ├── tikzlibraryviews.json
│   │   ├── tikzlibraryzx-calculus.json
│   │   ├── tikzlings-addons.json
│   │   ├── tikzlings-anteaters.json
│   │   ├── tikzlings-bats.json
│   │   ├── tikzlings-bears.json
│   │   ├── tikzlings-bees.json
│   │   ├── tikzlings-bugs.json
│   │   ├── tikzlings-cats.json
│   │   ├── tikzlings-chickens.json
│   │   ├── tikzlings-coatis.json
│   │   ├── tikzlings-elephants.json
│   │   ├── tikzlings-hippos.json
│   │   ├── tikzlings-koalas.json
│   │   ├── tikzlings-marmots.json
│   │   ├── tikzlings-mice.json
│   │   ├── tikzlings-moles.json
│   │   ├── tikzlings-owls.json
│   │   ├── tikzlings-pandas.json
│   │   ├── tikzlings-penguins.json
│   │   ├── tikzlings-pigs.json
│   │   ├── tikzlings-rhinos.json
│   │   ├── tikzlings-sheep.json
│   │   ├── tikzlings-sloths.json
│   │   ├── tikzlings-snowmen.json
│   │   ├── tikzlings-squirrels.json
│   │   ├── tikzlings-wolves.json
│   │   ├── tikzlings.json
│   │   ├── tikzmarmots.json
│   │   ├── tikzorbital.json
│   │   ├── tikzpagenodes.json
│   │   ├── tikzpeople.json
│   │   ├── tikzpfeile.json
│   │   ├── tikzpingus.json
│   │   ├── tikzquests.json
│   │   ├── tikzrput.json
│   │   ├── tikzscale.json
│   │   ├── tikzsymbols.json
│   │   ├── tikzviolinplots.json
│   │   ├── tile-graphic.json
│   │   ├── time.json
│   │   ├── timing-diagrams.json
│   │   ├── tinos.json
│   │   ├── tipa.json
│   │   ├── tipauni.json
│   │   ├── tipfr.json
│   │   ├── tipx.json
│   │   ├── tiscreen.json
│   │   ├── titlecaps.json
│   │   ├── titlefoot.json
│   │   ├── titlepic.json
│   │   ├── titleps.json
│   │   ├── titleref.json
│   │   ├── titles.json
│   │   ├── titlesec.json
│   │   ├── titletoc.json
│   │   ├── titling.json
│   │   ├── tkz-base.json
│   │   ├── tkz-berge.json
│   │   ├── tkz-bernoulli.json
│   │   ├── tkz-elements.json
│   │   ├── tkz-euclide.json
│   │   ├── tkz-fct.json
│   │   ├── tkz-graph.json
│   │   ├── tkz-kiviat.json
│   │   ├── tkz-linknodes.json
│   │   ├── tkz-orm.json
│   │   ├── tkz-tab.json
│   │   ├── tkzexample.json
│   │   ├── to-be-determined.json
│   │   ├── tocbasic.json
│   │   ├── tocbibind.json
│   │   ├── tocdata.json
│   │   ├── tocenter.json
│   │   ├── tocloft.json
│   │   ├── tocvsec2.json
│   │   ├── todo.json
│   │   ├── todonotes.json
│   │   ├── tokcycle.json
│   │   ├── tokenizer.json
│   │   ├── tolkienfonts.json
│   │   ├── tone.json
│   │   ├── tonevalue.json
│   │   ├── toolbox.json
│   │   ├── topcapt.json
│   │   ├── topcoman.json
│   │   ├── topfloat.json
│   │   ├── topfront.json
│   │   ├── topiclongtable.json
│   │   ├── topsection.json
│   │   ├── toptesi-scudo.json
│   │   ├── toptesi-sss.json
│   │   ├── toptesi.json
│   │   ├── totalcount.json
│   │   ├── totcount.json
│   │   ├── totpages.json
│   │   ├── trace.json
│   │   ├── tracefnt.json
│   │   ├── tracking.json
│   │   ├── tracklang-scripts.json
│   │   ├── tracklang.json
│   │   ├── trajan.json
│   │   ├── tram.json
│   │   ├── tramlines.json
│   │   ├── translations.json
│   │   ├── translator.json
│   │   ├── transparent.json
│   │   ├── tree-dvips.json
│   │   ├── trees.json
│   │   ├── trfsigns.json
│   │   ├── trig.json
│   │   ├── trimclip.json
│   │   ├── trivfloat.json
│   │   ├── trsym.json
│   │   ├── truncate.json
│   │   ├── truthtable.json
│   │   ├── tsvtemplate.json
│   │   ├── tucv.json
│   │   ├── tudacolors.json
│   │   ├── tudafonts.json
│   │   ├── tudarules.json
│   │   ├── tudscrbase.json
│   │   ├── tudscrcolor.json
│   │   ├── tudscrfonts.json
│   │   ├── tudscrsupervisor.json
│   │   ├── turabian-formatting.json
│   │   ├── turnstile.json
│   │   ├── turnthepage.json
│   │   ├── tweaklist.json
│   │   ├── twemojis.json
│   │   ├── twoopt.json
│   │   ├── twoup.json
│   │   ├── tx-ds.json
│   │   ├── tx-of.json
│   │   ├── txfonts.json
│   │   ├── txfontsb.json
│   │   ├── txgreeks.json
│   │   ├── txuprcal.json
│   │   ├── typearea.json
│   │   ├── typed-checklist.json
│   │   ├── typedref.json
│   │   ├── typewriter.json
│   │   ├── typicons.json
│   │   ├── typoaid.json
│   │   ├── typog.json
│   │   ├── typogrid.json
│   │   ├── uarial.json
│   │   ├── uassign.json
│   │   ├── ucharcat.json
│   │   ├── ucharclasses.json
│   │   ├── ucs.json
│   │   ├── ucshyper.json
│   │   ├── ucsutils.json
│   │   ├── ugarite.json
│   │   ├── uhrzeit.json
│   │   ├── ulem.json
│   │   ├── ulgothic.json
│   │   ├── ulsy.json
│   │   ├── umoline.json
│   │   ├── underlin.json
│   │   ├── underoverlap.json
│   │   ├── underscore.json
│   │   ├── undertilde.json
│   │   ├── undolabl.json
│   │   ├── unfontsxe.json
│   │   ├── uni-titlepage.json
│   │   ├── uni.json
│   │   ├── uni8.json
│   │   ├── unicode-alphabets.json
│   │   ├── unicode-math-input.json
│   │   ├── unicode-math.json
│   │   ├── unicodefonttable.json
│   │   ├── unifront.json
│   │   ├── uninormalize.json
│   │   ├── unique.json
│   │   ├── uniquecounter.json
│   │   ├── unisc.json
│   │   ├── unitconv.json
│   │   ├── units.json
│   │   ├── unitsdef.json
│   │   ├── universalis.json
│   │   ├── unravel.json
│   │   ├── updatemarks.json
│   │   ├── upgreek.json
│   │   ├── upkcat.json
│   │   ├── uplatex.json
│   │   ├── upmethodology-backpage.json
│   │   ├── upmethodology-code.json
│   │   ├── upmethodology-document.json
│   │   ├── upmethodology-extension.json
│   │   ├── upmethodology-fmt.json
│   │   ├── upmethodology-frontpage.json
│   │   ├── upmethodology-p-common.json
│   │   ├── upmethodology-spec.json
│   │   ├── upmethodology-task.json
│   │   ├── upmethodology-version.json
│   │   ├── uptex.json
│   │   ├── upzhkinsoku.json
│   │   ├── uri.json
│   │   ├── url.json
│   │   ├── urwchancal.json
│   │   ├── usebib.json
│   │   ├── useclass.json
│   │   ├── ushort.json
│   │   ├── utf8add.json
│   │   ├── utf8hax.json
│   │   ├── utfsym.json
│   │   ├── uuthesis-chapterbib.json
│   │   ├── uuthesis-color-headings.json
│   │   ├── uuthesis-index.json
│   │   ├── uwa-colours.json
│   │   ├── va.json
│   │   ├── variablelm.json
│   │   ├── variations.json
│   │   ├── varioref.json
│   │   ├── varsfromjobname.json
│   │   ├── varvbtm.json
│   │   ├── varwidth.json
│   │   ├── vcell.json
│   │   ├── vdmlisting.json
│   │   ├── vector.json
│   │   ├── vectorlogos.json
│   │   ├── venndiagram.json
│   │   ├── venturis.json
│   │   ├── venturis2.json
│   │   ├── venturisold.json
│   │   ├── verbasef.json
│   │   ├── verbatim.json
│   │   ├── verbatimbox.json
│   │   ├── verbatimcopy.json
│   │   ├── verbdef.json
│   │   ├── verbments.json
│   │   ├── verdana.json
│   │   ├── verifiche.json
│   │   ├── verifycommand.json
│   │   ├── verse.json
│   │   ├── version.json
│   │   ├── versions.json
│   │   ├── versonotes.json
│   │   ├── vertbars.json
│   │   ├── vgrid.json
│   │   ├── vhistory.json
│   │   ├── vietnam.json
│   │   ├── viking.json
│   │   ├── virginialake.json
│   │   ├── vmargin.json
│   │   ├── vntex.json
│   │   ├── volumes.json
│   │   ├── vowel.json
│   │   ├── vpe.json
│   │   ├── vplref.json
│   │   ├── vrbexin.json
│   │   ├── vrsion.json
│   │   ├── vruler.json
│   │   ├── vtable.json
│   │   ├── vwcol.json
│   │   ├── wallpaper.json
│   │   ├── wargame.json
│   │   ├── warning.json
│   │   ├── warpcol.json
│   │   ├── wasysym.json
│   │   ├── watermark.json
│   │   ├── web.json
│   │   ├── wedn.json
│   │   ├── weekday.json
│   │   ├── weiqi.json
│   │   ├── wela.json
│   │   ├── wesa.json
│   │   ├── wesu.json
│   │   ├── weva.json
│   │   ├── wheelchart.json
│   │   ├── widetable.json
│   │   ├── widows-and-orphans.json
│   │   ├── wiki.json
│   │   ├── wiley-authoringtemplate.json
│   │   ├── withargs.json
│   │   ├── witharrows.json
│   │   ├── wordcloud.json
│   │   ├── wordle.json
│   │   ├── wordlike.json
│   │   ├── worksheet.json
│   │   ├── worldflags.json
│   │   ├── wrapfig.json
│   │   ├── wrapfig2.json
│   │   ├── wrapstuff.json
│   │   ├── wtref.json
│   │   ├── xCJK2uni.json
│   │   ├── xargs.json
│   │   ├── xassoccnt.json
│   │   ├── xbmks.json
│   │   ├── xcharter-otf.json
│   │   ├── xcntperchap.json
│   │   ├── xcoffins.json
│   │   ├── xcolor-material.json
│   │   ├── xcolor-solarized.json
│   │   ├── xcolor.json
│   │   ├── xcomment.json
│   │   ├── xcookybooky.json
│   │   ├── xcpdftips.json
│   │   ├── xdufont.json
│   │   ├── xeCJK-listings.json
│   │   ├── xeCJK.json
│   │   ├── xeCJKfntef.json
│   │   ├── xecolor.json
│   │   ├── xecyr.json
│   │   ├── xecyrmongolian.json
│   │   ├── xeindex.json
│   │   ├── xellipsis.json
│   │   ├── xepersian-hm.json
│   │   ├── xepersian-mathdigitspec.json
│   │   ├── xepersian-multiplechoice.json
│   │   ├── xepersian-persiancal.json
│   │   ├── xepersian.json
│   │   ├── xesearch.json
│   │   ├── xespotcolor.json
│   │   ├── xetex.json
│   │   ├── xetexko.json
│   │   ├── xevlna.json
│   │   ├── xfakebold.json
│   │   ├── xfp.json
│   │   ├── xfrac.json
│   │   ├── xgreek.json
│   │   ├── xhfill.json
│   │   ├── xifthen.json
│   │   ├── xindex.json
│   │   ├── xint.json
│   │   ├── xintbinhex.json
│   │   ├── xintcfrac.json
│   │   ├── xintcore.json
│   │   ├── xintexpr.json
│   │   ├── xintfrac.json
│   │   ├── xintgcd.json
│   │   ├── xintkernel.json
│   │   ├── xintlog.json
│   │   ├── xintseries.json
│   │   ├── xinttools.json
│   │   ├── xinttrig.json
│   │   ├── xistercian.json
│   │   ├── xkcdcolors.json
│   │   ├── xkeymask.json
│   │   ├── xkeyval.json
│   │   ├── xkvview.json
│   │   ├── xlop.json
│   │   ├── xltabular.json
│   │   ├── xltxtra.json
│   │   ├── xmpincl.json
│   │   ├── xmpmulti.json
│   │   ├── xob-dotemph.json
│   │   ├── xob-font.json
│   │   ├── xparse.json
│   │   ├── xpatch.json
│   │   ├── xpiano.json
│   │   ├── xpicture.json
│   │   ├── xpinyin.json
│   │   ├── xprintlen.json
│   │   ├── xpunctuate.json
│   │   ├── xr-hyper.json
│   │   ├── xr.json
│   │   ├── xsavebox.json
│   │   ├── xsim.json
│   │   ├── xsimverb.json
│   │   ├── xskak.json
│   │   ├── xspace.json
│   │   ├── xstring.json
│   │   ├── xt_capts.json
│   │   ├── xtab.json
│   │   ├── xtemplate.json
│   │   ├── xucuri.json
│   │   ├── xurl.json
│   │   ├── xxcolor.json
│   │   ├── xy.json
│   │   ├── xymtex.json
│   │   ├── xymtexpdf.json
│   │   ├── xymtx-pdf.json
│   │   ├── yagusylo.json
│   │   ├── yamlvars.json
│   │   ├── yathesis.json
│   │   ├── yax.json
│   │   ├── ydoc-code.json
│   │   ├── ydoc-desc.json
│   │   ├── ydoc-doc.json
│   │   ├── ydoc-expl.json
│   │   ├── ydoc.json
│   │   ├── yfonts-otf.json
│   │   ├── yfonts.json
│   │   ├── yhmath.json
│   │   ├── youngtab.json
│   │   ├── yquant.json
│   │   ├── ysabeau.json
│   │   ├── ytableau.json
│   │   ├── zahl2string.json
│   │   ├── zb-basics.json
│   │   ├── zebra-goodies.json
│   │   ├── zennote.json
│   │   ├── zhlineskip.json
│   │   ├── zhlipsum.json
│   │   ├── zhmCJK.json
│   │   ├── zhnumber.json
│   │   ├── zhspacing.json
│   │   ├── zi4.json
│   │   ├── ziffer.json
│   │   ├── zitie.json
│   │   ├── zlmtt.json
│   │   ├── zref-abspage.json
│   │   ├── zref-abspos.json
│   │   ├── zref-base.json
│   │   ├── zref-check.json
│   │   ├── zref-clever.json
│   │   ├── zref-counter.json
│   │   ├── zref-dotfill.json
│   │   ├── zref-env.json
│   │   ├── zref-hyperref.json
│   │   ├── zref-lastpage.json
│   │   ├── zref-marks.json
│   │   ├── zref-nextpage.json
│   │   ├── zref-pageattr.json
│   │   ├── zref-pagelayout.json
│   │   ├── zref-perpage.json
│   │   ├── zref-runs.json
│   │   ├── zref-savepos.json
│   │   ├── zref-thepage.json
│   │   ├── zref-titleref.json
│   │   ├── zref-totpages.json
│   │   ├── zref-user.json
│   │   ├── zref-vario.json
│   │   ├── zref-xr.json
│   │   ├── zref.json
│   │   ├── zugferd.json
│   │   ├── zwgetfdate.json
│   │   ├── zwpagelayout.json
│   │   ├── zx-calculus.json
│   │   ├── zxbase.json
│   │   ├── zxjafbfont.json
│   │   ├── zxjafont.json
│   │   └── zxjatype.json
│   ├── parse-cwl.ts
│   ├── pkgcommand.py
│   ├── pyintel/
│   │   ├── __init__.py
│   │   ├── ctanpkg.py
│   │   ├── parse_tlpdb.py
│   │   ├── pkgcommand.py
│   │   └── uni.py
│   ├── spaces.py
│   ├── unified.ts
│   ├── unimathsymbols.py
│   ├── update-grammar.mjs
│   └── viewer/
│       ├── viewer.html.diff
│       └── viewer.mjs.diff
├── eslint.config.mjs
├── package.json
├── package.nls.bg.json
├── package.nls.cs.json
├── package.nls.de.json
├── package.nls.es.json
├── package.nls.fr.json
├── package.nls.hu.json
├── package.nls.it.json
├── package.nls.ja.json
├── package.nls.json
├── package.nls.ko.json
├── package.nls.pl.json
├── package.nls.pt-br.json
├── package.nls.ru.json
├── package.nls.tr.json
├── package.nls.zh-cn.json
├── package.nls.zh-tw.json
├── resources/
│   ├── mathpreviewpanel/
│   │   └── mathpreview.js
│   ├── snippetview/
│   │   ├── README.md
│   │   ├── pdfrenderer.js
│   │   ├── snippetpanel.json
│   │   ├── snippetview.css
│   │   ├── snippetview.html
│   │   └── snippetview.js
│   └── unified.js
├── samples/
│   ├── docker/
│   │   ├── .devcontainer/
│   │   │   ├── Dockerfile
│   │   │   └── devcontainer.json
│   │   ├── README.md
│   │   └── t.tex
│   ├── multi-root/
│   │   ├── README.md
│   │   ├── a01/
│   │   │   └── a01.tex
│   │   ├── b01/
│   │   │   └── b01.tex
│   │   └── m.code-workspace
│   └── sample/
│       └── t.tex
├── scripts/
│   ├── latexindent
│   ├── latexindent.bat
│   ├── latexmk
│   ├── latexmk.bat
│   ├── synctex
│   ├── synctex.bat
│   ├── texcount
│   └── texcount.bat
├── src/
│   ├── README.md
│   ├── compile/
│   │   ├── build.ts
│   │   ├── external.ts
│   │   ├── index.ts
│   │   ├── queue.ts
│   │   ├── recipe.ts
│   │   └── terminate.ts
│   ├── completion/
│   │   ├── bibtex.ts
│   │   ├── completer/
│   │   │   ├── argument.ts
│   │   │   ├── atsuggestion.ts
│   │   │   ├── citation.ts
│   │   │   ├── class.ts
│   │   │   ├── closeenv.ts
│   │   │   ├── completerutils.ts
│   │   │   ├── environment.ts
│   │   │   ├── glossary.ts
│   │   │   ├── input.ts
│   │   │   ├── macro.ts
│   │   │   ├── package.ts
│   │   │   ├── reference.ts
│   │   │   └── subsuperscript.ts
│   │   ├── index.ts
│   │   └── latex.ts
│   ├── core/
│   │   ├── cache.ts
│   │   ├── commands.ts
│   │   ├── event.ts
│   │   ├── file.ts
│   │   ├── root.ts
│   │   └── watcher.ts
│   ├── extras/
│   │   ├── activity-bar.ts
│   │   ├── checkcites.ts
│   │   ├── cleaner.ts
│   │   ├── counter.ts
│   │   ├── index.ts
│   │   ├── liveshare.ts
│   │   ├── math-fixer.ts
│   │   ├── quote-fixer.ts
│   │   ├── section.ts
│   │   ├── snippet-view.ts
│   │   ├── texdoc.ts
│   │   └── texroot.ts
│   ├── language/
│   │   ├── definition.ts
│   │   ├── folding.ts
│   │   ├── index.ts
│   │   ├── l10n.ts
│   │   ├── selection.ts
│   │   ├── symbol-document.ts
│   │   └── symbol-project.ts
│   ├── lint/
│   │   ├── bibtex-formatter/
│   │   │   └── utils.ts
│   │   ├── bibtex-formatter.ts
│   │   ├── duplicate-label.ts
│   │   ├── index.ts
│   │   ├── latex-code-actions.ts
│   │   ├── latex-formatter/
│   │   │   ├── latexindent.ts
│   │   │   └── tex-fmt.ts
│   │   ├── latex-formatter.ts
│   │   ├── latex-linter/
│   │   │   ├── chktex.ts
│   │   │   ├── lacheck.ts
│   │   │   └── utils.ts
│   │   └── latex-linter.ts
│   ├── locate/
│   │   ├── index.ts
│   │   ├── pair.ts
│   │   ├── synctex/
│   │   │   ├── synctexjs.ts
│   │   │   └── worker.ts
│   │   └── synctex.ts
│   ├── lw.ts
│   ├── main.ts
│   ├── outline/
│   │   ├── index.ts
│   │   ├── structure/
│   │   │   ├── bibtex.ts
│   │   │   ├── doctex.ts
│   │   │   └── latex.ts
│   │   └── structure.ts
│   ├── parse/
│   │   ├── find.ts
│   │   ├── index.ts
│   │   ├── newcommandfinder.ts
│   │   ├── parser/
│   │   │   ├── biberlog.ts
│   │   │   ├── bibtexlog.ts
│   │   │   ├── latexlog.ts
│   │   │   ├── parserutils.ts
│   │   │   ├── unified-defs.ts
│   │   │   └── unified.ts
│   │   └── parser.ts
│   ├── preview/
│   │   ├── hover/
│   │   │   ├── cursor.ts
│   │   │   ├── ongraphics.ts
│   │   │   ├── onmath.ts
│   │   │   ├── onref.ts
│   │   │   └── utils.ts
│   │   ├── hover.ts
│   │   ├── index.ts
│   │   ├── math-preview-panel.ts
│   │   ├── mathjax/
│   │   │   └── mathjax.ts
│   │   ├── mathjax.ts
│   │   ├── server.ts
│   │   ├── viewer/
│   │   │   ├── client.ts
│   │   │   ├── pdfviewerhook.ts
│   │   │   ├── pdfviewermanager.ts
│   │   │   └── pdfviewerpanel.ts
│   │   └── viewer.ts
│   ├── types.ts
│   └── utils/
│       ├── convertfilename.ts
│       ├── inputfilepath.ts
│       ├── logger.ts
│       ├── parser.ts
│       ├── pathnormalize.ts
│       ├── quick-pick.ts
│       ├── tokenizer.ts
│       ├── utils.ts
│       └── webview.ts
├── syntax/
│   ├── BibTeX-style.tmLanguage.json
│   ├── Bibtex.tmLanguage.json
│   ├── DocTeX.tmLanguage.json
│   ├── JLweave.tmLanguage.json
│   ├── LaTeX-Workshop-Log.tmLanguage.json
│   ├── LaTeX.tmLanguage.json
│   ├── Pweave.tmLanguage.json
│   ├── README.md
│   ├── RSweave.tmLanguage.json
│   ├── TeX.tmLanguage.json
│   ├── bibtex-language-configuration.json
│   ├── bibtex-style-language-configuration.json
│   ├── cpp-bailout-license.txt
│   ├── cpp-grammar-bailout.tmLanguage.json
│   ├── doctex-language-configuration.json
│   ├── latex-cpp-embedded-language-configuration.json
│   ├── latex-language-configuration.json
│   ├── latex-workshop-log-language-configuration.json
│   ├── latex3-language-configuration.json
│   ├── markdown-latex-combined-language-configuration.json
│   ├── markdown-latex-combined-license.txt
│   ├── markdown-latex-combined.tmLanguage.json
│   └── src/
│       ├── bibtex-language-configuration.json
│       ├── bibtex-style-language-configuration.json
│       ├── doctex-language-configuration.json
│       ├── latex-cpp-embedded-language-configuration.json
│       ├── latex-language-configuration.json
│       ├── latex3-language-configuration.json
│       └── markdown-latex-combined-language-configuration.json
├── test/
│   ├── README.md
│   ├── config/
│   │   ├── texlive_linux.profile
│   │   ├── texlive_mac.profile
│   │   └── texlive_windows.profile
│   ├── fixtures/
│   │   ├── armory/
│   │   │   ├── base.bib
│   │   │   ├── base.tex
│   │   │   ├── bibtex_base.tex
│   │   │   ├── build/
│   │   │   │   ├── markdown_base.tex
│   │   │   │   └── markdown_sub.md
│   │   │   ├── empty
│   │   │   ├── env_pair.tex
│   │   │   ├── formatter/
│   │   │   │   ├── bibtex_base.bib
│   │   │   │   ├── bibtex_dup.bib
│   │   │   │   ├── bibtex_sortfield.bib
│   │   │   │   └── latex_base.tex
│   │   │   ├── import_base.tex
│   │   │   ├── import_sub.tex
│   │   │   ├── include_base.tex
│   │   │   ├── include_sub.tex
│   │   │   ├── input_base.tex
│   │   │   ├── input_macro.tex
│   │   │   ├── input_parentsub.tex
│   │   │   ├── intellisense/
│   │   │   │   ├── base.tex
│   │   │   │   ├── citation.tex
│   │   │   │   ├── class_option_with_brace.tex
│   │   │   │   ├── glossary.bib
│   │   │   │   ├── glossary.tex
│   │   │   │   ├── glossary_bib.tex
│   │   │   │   ├── glossaryentries.tex
│   │   │   │   ├── koma.tex
│   │   │   │   ├── label.tex
│   │   │   │   ├── newcommand.tex
│   │   │   │   ├── newdocumentcommand.tex
│   │   │   │   ├── package_on_cmd_1.tex
│   │   │   │   ├── package_on_cmd_2.tex
│   │   │   │   ├── package_on_env_1.tex
│   │   │   │   ├── package_on_env_2.tex
│   │   │   │   ├── package_option_on_cmd.tex
│   │   │   │   ├── package_option_on_env.tex
│   │   │   │   ├── sub.tex
│   │   │   │   ├── xr_base.tex
│   │   │   │   ├── xr_dup.tex
│   │   │   │   └── xr_sub.tex
│   │   │   ├── invalid_cmd.tex
│   │   │   ├── linter_base.tex
│   │   │   ├── linter_sub.tex
│   │   │   ├── magic_invalid.tex
│   │   │   ├── magic_option.tex
│   │   │   ├── magic_program.tex
│   │   │   ├── magic_recipe.tex
│   │   │   ├── magic_root.tex
│   │   │   ├── makeindex_base.tex
│   │   │   ├── makeindex_subfile.tex
│   │   │   ├── mathpreview/
│   │   │   │   └── base.tex
│   │   │   ├── plain.bib
│   │   │   ├── plain.tex
│   │   │   ├── plain_verbatim.tex
│   │   │   ├── structure/
│   │   │   │   ├── commands.tex
│   │   │   │   ├── float_nest.tex
│   │   │   │   ├── floats.tex
│   │   │   │   ├── frame_title.tex
│   │   │   │   ├── frames.tex
│   │   │   │   ├── labels.tex
│   │   │   │   ├── section_asterisk.tex
│   │   │   │   ├── section_before_root_level.tex
│   │   │   │   ├── section_custom.tex
│   │   │   │   ├── section_nest.tex
│   │   │   │   ├── section_nest_gap.tex
│   │   │   │   ├── section_title.tex
│   │   │   │   ├── sections.tex
│   │   │   │   ├── subfiles.tex
│   │   │   │   ├── subfiles_s1.tex
│   │   │   │   ├── subfiles_s2.tex
│   │   │   │   └── subfiles_s3.tex
│   │   │   ├── subfile_base.tex
│   │   │   ├── subfile_sub.tex
│   │   │   └── subfile_subsub.tex
│   │   └── unittest/
│   │       ├── .vscode/
│   │       │   └── settings.json
│   │       ├── 01_core_file/
│   │       │   ├── another.bib
│   │       │   ├── auxfiles/
│   │       │   │   └── another.fls
│   │       │   ├── main.bib
│   │       │   ├── main.fls
│   │       │   ├── main.tex
│   │       │   ├── output/
│   │       │   │   └── main.fls
│   │       │   └── subdir/
│   │       │       └── sub.bib
│   │       ├── 03_core_cache/
│   │       │   ├── another.tex
│   │       │   ├── included_bib/
│   │       │   │   ├── another.tex
│   │       │   │   ├── circular_1.tex
│   │       │   │   ├── circular_2.tex
│   │       │   │   ├── duplicate_1.tex
│   │       │   │   ├── duplicate_2.tex
│   │       │   │   └── main.tex
│   │       │   ├── included_tex/
│   │       │   │   ├── another.tex
│   │       │   │   ├── circular_1.tex
│   │       │   │   ├── circular_2.tex
│   │       │   │   ├── duplicate_1.tex
│   │       │   │   ├── duplicate_2.tex
│   │       │   │   └── main.tex
│   │       │   ├── load_aux_file/
│   │       │   │   ├── main.aux
│   │       │   │   ├── main.bib
│   │       │   │   ├── main.fls
│   │       │   │   ├── main.tex
│   │       │   │   ├── nothing.aux
│   │       │   │   ├── nothing.fls
│   │       │   │   └── nothing.tex
│   │       │   ├── load_fls_file/
│   │       │   │   ├── aux_out_input.fls
│   │       │   │   ├── aux_out_input.tex
│   │       │   │   ├── both_input_output.fls
│   │       │   │   ├── both_input_output.tex
│   │       │   │   ├── excluded_file.fls
│   │       │   │   ├── excluded_file.tex
│   │       │   │   ├── file_not_exist.fls
│   │       │   │   ├── file_not_exist.tex
│   │       │   │   ├── include_main.fls
│   │       │   │   ├── include_main.tex
│   │       │   │   ├── include_many.fls
│   │       │   │   ├── include_many.tex
│   │       │   │   ├── main.aux
│   │       │   │   ├── non_tex_input.fls
│   │       │   │   ├── non_tex_input.tex
│   │       │   │   ├── self_include.fls
│   │       │   │   └── self_include.tex
│   │       │   ├── main.bbl
│   │       │   ├── main.bib
│   │       │   ├── main.fls
│   │       │   ├── main.tex
│   │       │   ├── update_bibfiles/
│   │       │   │   ├── bib/
│   │       │   │   │   ├── 1.bib
│   │       │   │   │   ├── 2.bib
│   │       │   │   │   ├── 3.bib
│   │       │   │   │   ├── 4.bib
│   │       │   │   │   └── 5.bib
│   │       │   │   ├── file_excluded.tex
│   │       │   │   ├── file_not_exist.tex
│   │       │   │   ├── main.tex
│   │       │   │   └── same_macro.tex
│   │       │   ├── update_children/
│   │       │   │   ├── file_not_exist.tex
│   │       │   │   ├── input_main.tex
│   │       │   │   ├── two_inputs.tex
│   │       │   │   └── two_same_inputs.tex
│   │       │   └── update_children_xr/
│   │       │       ├── file_not_exist.tex
│   │       │       ├── input_main.tex
│   │       │       ├── input_main_prefix.tex
│   │       │       ├── input_sub.tex
│   │       │       └── sub/
│   │       │           ├── main.tex
│   │       │           └── sub.tex
│   │       ├── 04_core_root/
│   │       │   ├── find_active/
│   │       │   │   └── main.tex
│   │       │   ├── find_magic/
│   │       │   │   ├── chain.tex
│   │       │   │   ├── chain_file_not_exist.tex
│   │       │   │   ├── loop_1.tex
│   │       │   │   ├── loop_2.tex
│   │       │   │   ├── main.jnw
│   │       │   │   ├── main.jtexw
│   │       │   │   ├── main.rnw
│   │       │   │   ├── main.rtex
│   │       │   │   ├── main.snw
│   │       │   │   ├── main.tex
│   │       │   │   └── more_chain.tex
│   │       │   ├── find_root/
│   │       │   │   ├── root.tex
│   │       │   │   └── root_no_input.tex
│   │       │   ├── find_workspace/
│   │       │   │   ├── another.tex
│   │       │   │   ├── comment.tex
│   │       │   │   ├── main.fls
│   │       │   │   ├── main.tex
│   │       │   │   └── parent.tex
│   │       │   └── main.tex
│   │       ├── 14_completion_citation/
│   │       │   ├── bibfile.bib
│   │       │   └── bibitems.tex
│   │       ├── 21_completion_input/
│   │       │   ├── main.tex
│   │       │   └── sub/
│   │       │       ├── sub1.tex
│   │       │       └── sub2.tex
│   │       └── 22_completion_glossary/
│   │           └── glossary.bib
│   ├── runTest.ts
│   ├── suites/
│   │   ├── 01_build.test.ts
│   │   ├── 02_autobuild.test.ts
│   │   ├── 03_findroot.test.ts
│   │   ├── 04_intellisense.test.ts
│   │   ├── 05_viewer.test.ts
│   │   ├── 06_structure.test.ts
│   │   ├── 07_mathpreview.test.ts
│   │   ├── 08_linter.test.ts
│   │   ├── 09_formatter.test.ts
│   │   ├── 10_cleaner.test.ts
│   │   ├── 11_snippet.test.ts
│   │   ├── 12_envpair.test.ts
│   │   ├── 99_multiroot.test.ts
│   │   ├── index.ts
│   │   └── utils.ts
│   └── units/
│       ├── 01_core_file.test.ts
│       ├── 02_core_watcher.test.ts
│       ├── 03_core_cache.test.ts
│       ├── 04_core_root.test.ts
│       ├── 05_compile_queue.test.ts
│       ├── 06_compile_recipe.test.ts
│       ├── 07_compile_external.test.ts
│       ├── 08_compile_build.test.ts
│       ├── 09_viewer_server.test.ts
│       ├── 10_viewer_pdf_server.test.ts
│       ├── 11_parser_tex.test.ts
│       ├── 12_parser_log.test.ts
│       ├── 13_completion_latex.test.ts
│       ├── 14_completion_citation.test.ts
│       ├── 15_completion_macro.test.ts
│       ├── 16_completion_reference.test.ts
│       ├── 17_completion_environment.test.ts
│       ├── 18_completion_package.test.ts
│       ├── 19_completion_argument.test.ts
│       ├── 20_completion_documentclass.test.ts
│       ├── 21_completion_input.test.ts
│       ├── 22_completion_glossary.test.ts
│       ├── 23_completion_at.test.ts
│       ├── 24_formatter_fixer.test.ts
│       ├── index.ts
│       └── utils.ts
├── tsconfig.eslint.json
├── tsconfig.eslint.viewer.json
├── tsconfig.json
├── types/
│   ├── latex-workshop-protocol-types/
│   │   └── index.d.ts
│   └── mathjax-full/
│       └── index.d.ts
└── viewer/
    ├── README.md
    ├── components/
    │   ├── connection.ts
    │   ├── gui.ts
    │   ├── interface.ts
    │   ├── l10n.ts
    │   ├── refresh.ts
    │   ├── state.ts
    │   ├── synctex.ts
    │   ├── trimming.ts
    │   ├── utils.ts
    │   └── viewerhistory.ts
    ├── latexworkshop.css
    ├── latexworkshop.ts
    ├── locale/
    │   ├── ach/
    │   │   └── viewer.ftl
    │   ├── af/
    │   │   └── viewer.ftl
    │   ├── an/
    │   │   └── viewer.ftl
    │   ├── ar/
    │   │   └── viewer.ftl
    │   ├── ast/
    │   │   └── viewer.ftl
    │   ├── az/
    │   │   └── viewer.ftl
    │   ├── be/
    │   │   └── viewer.ftl
    │   ├── bg/
    │   │   └── viewer.ftl
    │   ├── bn/
    │   │   └── viewer.ftl
    │   ├── bo/
    │   │   └── viewer.ftl
    │   ├── br/
    │   │   └── viewer.ftl
    │   ├── brx/
    │   │   └── viewer.ftl
    │   ├── bs/
    │   │   └── viewer.ftl
    │   ├── ca/
    │   │   └── viewer.ftl
    │   ├── cak/
    │   │   └── viewer.ftl
    │   ├── ckb/
    │   │   └── viewer.ftl
    │   ├── cs/
    │   │   └── viewer.ftl
    │   ├── cy/
    │   │   └── viewer.ftl
    │   ├── da/
    │   │   └── viewer.ftl
    │   ├── de/
    │   │   └── viewer.ftl
    │   ├── dsb/
    │   │   └── viewer.ftl
    │   ├── el/
    │   │   └── viewer.ftl
    │   ├── en-CA/
    │   │   └── viewer.ftl
    │   ├── en-GB/
    │   │   └── viewer.ftl
    │   ├── en-US/
    │   │   └── viewer.ftl
    │   ├── eo/
    │   │   └── viewer.ftl
    │   ├── es-AR/
    │   │   └── viewer.ftl
    │   ├── es-CL/
    │   │   └── viewer.ftl
    │   ├── es-ES/
    │   │   └── viewer.ftl
    │   ├── es-MX/
    │   │   └── viewer.ftl
    │   ├── et/
    │   │   └── viewer.ftl
    │   ├── eu/
    │   │   └── viewer.ftl
    │   ├── fa/
    │   │   └── viewer.ftl
    │   ├── ff/
    │   │   └── viewer.ftl
    │   ├── fi/
    │   │   └── viewer.ftl
    │   ├── fr/
    │   │   └── viewer.ftl
    │   ├── fur/
    │   │   └── viewer.ftl
    │   ├── fy-NL/
    │   │   └── viewer.ftl
    │   ├── ga-IE/
    │   │   └── viewer.ftl
    │   ├── gd/
    │   │   └── viewer.ftl
    │   ├── gl/
    │   │   └── viewer.ftl
    │   ├── gn/
    │   │   └── viewer.ftl
    │   ├── gu-IN/
    │   │   └── viewer.ftl
    │   ├── he/
    │   │   └── viewer.ftl
    │   ├── hi-IN/
    │   │   └── viewer.ftl
    │   ├── hr/
    │   │   └── viewer.ftl
    │   ├── hsb/
    │   │   └── viewer.ftl
    │   ├── hu/
    │   │   └── viewer.ftl
    │   ├── hy-AM/
    │   │   └── viewer.ftl
    │   ├── hye/
    │   │   └── viewer.ftl
    │   ├── ia/
    │   │   └── viewer.ftl
    │   ├── id/
    │   │   └── viewer.ftl
    │   ├── is/
    │   │   └── viewer.ftl
    │   ├── it/
    │   │   └── viewer.ftl
    │   ├── ja/
    │   │   └── viewer.ftl
    │   ├── ka/
    │   │   └── viewer.ftl
    │   ├── kab/
    │   │   └── viewer.ftl
    │   ├── kk/
    │   │   └── viewer.ftl
    │   ├── km/
    │   │   └── viewer.ftl
    │   ├── kn/
    │   │   └── viewer.ftl
    │   ├── ko/
    │   │   └── viewer.ftl
    │   ├── lij/
    │   │   └── viewer.ftl
    │   ├── lo/
    │   │   └── viewer.ftl
    │   ├── locale.json
    │   ├── lt/
    │   │   └── viewer.ftl
    │   ├── ltg/
    │   │   └── viewer.ftl
    │   ├── lv/
    │   │   └── viewer.ftl
    │   ├── meh/
    │   │   └── viewer.ftl
    │   ├── mk/
    │   │   └── viewer.ftl
    │   ├── ml/
    │   │   └── viewer.ftl
    │   ├── mr/
    │   │   └── viewer.ftl
    │   ├── ms/
    │   │   └── viewer.ftl
    │   ├── my/
    │   │   └── viewer.ftl
    │   ├── nb-NO/
    │   │   └── viewer.ftl
    │   ├── ne-NP/
    │   │   └── viewer.ftl
    │   ├── nl/
    │   │   └── viewer.ftl
    │   ├── nn-NO/
    │   │   └── viewer.ftl
    │   ├── oc/
    │   │   └── viewer.ftl
    │   ├── pa-IN/
    │   │   └── viewer.ftl
    │   ├── pl/
    │   │   └── viewer.ftl
    │   ├── pt-BR/
    │   │   └── viewer.ftl
    │   ├── pt-PT/
    │   │   └── viewer.ftl
    │   ├── rm/
    │   │   └── viewer.ftl
    │   ├── ro/
    │   │   └── viewer.ftl
    │   ├── ru/
    │   │   └── viewer.ftl
    │   ├── sat/
    │   │   └── viewer.ftl
    │   ├── sc/
    │   │   └── viewer.ftl
    │   ├── scn/
    │   │   └── viewer.ftl
    │   ├── sco/
    │   │   └── viewer.ftl
    │   ├── si/
    │   │   └── viewer.ftl
    │   ├── sk/
    │   │   └── viewer.ftl
    │   ├── skr/
    │   │   └── viewer.ftl
    │   ├── sl/
    │   │   └── viewer.ftl
    │   ├── son/
    │   │   └── viewer.ftl
    │   ├── sq/
    │   │   └── viewer.ftl
    │   ├── sr/
    │   │   └── viewer.ftl
    │   ├── sv-SE/
    │   │   └── viewer.ftl
    │   ├── szl/
    │   │   └── viewer.ftl
    │   ├── ta/
    │   │   └── viewer.ftl
    │   ├── te/
    │   │   └── viewer.ftl
    │   ├── tg/
    │   │   └── viewer.ftl
    │   ├── th/
    │   │   └── viewer.ftl
    │   ├── tl/
    │   │   └── viewer.ftl
    │   ├── tr/
    │   │   └── viewer.ftl
    │   ├── trs/
    │   │   └── viewer.ftl
    │   ├── uk/
    │   │   └── viewer.ftl
    │   ├── ur/
    │   │   └── viewer.ftl
    │   ├── uz/
    │   │   └── viewer.ftl
    │   ├── vi/
    │   │   └── viewer.ftl
    │   ├── wo/
    │   │   └── viewer.ftl
    │   ├── xh/
    │   │   └── viewer.ftl
    │   ├── zh-CN/
    │   │   └── viewer.ftl
    │   └── zh-TW/
    │       └── viewer.ftl
    ├── tsconfig.json
    ├── viewer.css
    ├── viewer.html
    └── viewer.mjs
Download .txt
SYMBOL INDEX (2466 symbols across 146 files)

FILE: dev/createSymbolSvgs.ts
  type SnippetPanelJsonType (line 4) | type SnippetPanelJsonType = typeof import('../resources/snippetview/snip...
  type IMathSymbol (line 6) | type IMathSymbol = {
  function loadSnippets (line 50) | function loadSnippets() {

FILE: dev/latex3command.py
  function exclude (line 28) | def exclude(entry: str) -> bool:
  function expand_variants (line 31) | def expand_variants(entry: str, options):
  function parse_doc_block (line 52) | def parse_doc_block(block_content: str, _type: str):
  function parse_file (line 63) | def parse_file(fpath, _type):
  function parse_all_files (line 86) | def parse_all_files():

FILE: dev/parse-cwl.ts
  function isDefaultMacro (line 13) | function isDefaultMacro(macro: string, defaults?: string[]): boolean {
  function getUnimathSymbol (line 33) | function getUnimathSymbol(macro: string, defaults?: typeof _unimathSymbo...
  function isSkipLine (line 49) | function isSkipLine(line: string): boolean {
  function parseLines (line 72) | function parseLines(pkg: PackageRaw, lines: string[], ifCond?: string): ...
  function parseInclude (line 115) | function parseInclude(pkg: PackageRaw, line: string, ifCond?: string): v...
  function parseKeys (line 130) | function parseKeys(pkg: PackageRaw, lines: string[], tag: string): void {
  function assignKeys (line 167) | function assignKeys(pkg: PackageRaw, tag: string) {
  function findKeyPos (line 203) | function findKeyPos(snippet: string): number {
  function parseEnv (line 239) | function parseEnv(pkg: PackageRaw, line: string, ifCond?: string): void {
  function parseMacro (line 281) | function parseMacro(pkg: PackageRaw, line: string, ifCond?: string): void {
  function handleBigMacros (line 317) | function handleBigMacros(pkg: PackageRaw, line: string): void {
  function constructMacroEnv (line 345) | function constructMacroEnv(
  function createSnippet (line 380) | function createSnippet(arg: string): string {
  function findArg (line 441) | function findArg(arg: string, regexp: RegExp, index: number): string | f...
  function parsePkg (line 458) | function parsePkg(pkgName: string): PackageRaw {
  function handleKomaClasses (line 466) | function handleKomaClasses(pkgName: string, content: string): string {
  function parseFiles (line 483) | function parseFiles(files: string[], folder: string) {
  function parseExpl3 (line 507) | function parseExpl3() {
  function parseEssential (line 522) | function parseEssential() {
  function parseAll (line 531) | function parseAll() {

FILE: dev/pkgcommand.py
  function get_cwl_files (line 39) | def get_cwl_files() -> List[Path]:
  function dump_dict (line 49) | def dump_dict(dictionary, out_json):
  function parse_cwl_files (line 54) | def parse_cwl_files(cwl_files):
  function change_json_name (line 68) | def change_json_name(file_stem):

FILE: dev/pyintel/ctanpkg.py
  class CtanPkg (line 16) | class CtanPkg:
    method __init__ (line 27) | def __init__(self, extra_packages_file=None, ctan_source='https://ctan...
    method _load_extra_packages (line 42) | def _load_extra_packages(self, extra_packages_file):
    method _build_ctan_dict (line 50) | def _build_ctan_dict(self, ctan_source):
    method _read_tlpdb (line 64) | def _read_tlpdb(self, tlpdb_url):
    method package2sty (line 76) | def package2sty(self, pkgname):
    method pkg_exists (line 96) | def pkg_exists(self, pkgname, suffix):
    method get_classes (line 110) | def get_classes(self):
    method get_packages (line 131) | def get_packages(self):

FILE: dev/pyintel/parse_tlpdb.py
  class TLPackage (line 52) | class TLPackage(object):
    method __init__ (line 61) | def __init__(self):
    method add_pair (line 97) | def add_pair(self, key, value):
    method __str__ (line 101) | def __str__(self):
    method __repr__ (line 104) | def __repr__(self):
    method dictionary_value (line 116) | def dictionary_value(self):
    method insert_in_packages (line 140) | def insert_in_packages(self, conn):
  function _attributes_from_line (line 147) | def _attributes_from_line(line):
  function packages_from_tlpdb (line 207) | def packages_from_tlpdb(flat_tlpdb, allow_partial=False):
  function _save_as_sqlite (line 350) | def _save_as_sqlite(packages, absolute_path):
  function _save_as_plist (line 395) | def _save_as_plist(packages, path_or_file):

FILE: dev/pyintel/pkgcommand.py
  class KeyVal (line 11) | class KeyVal:
  class Cmd (line 16) | class Cmd:
  class Env (line 25) | class Env:
  class Pkg (line 33) | class Pkg:
  function create_snippet (line 40) | def create_snippet(line: str) -> str:
  class TabStop (line 80) | class TabStop:
    method __init__ (line 88) | def __init__(self):
    method sub (line 91) | def sub(self, _matchObject) -> str:
  class PlaceHolder (line 96) | class PlaceHolder:
    method __init__ (line 105) | def __init__(self):
    method setUsePlaceHolders (line 110) | def setUsePlaceHolders(self, trueOrFalse: bool):
    method setKeepDelimiters (line 113) | def setKeepDelimiters(self, trueOrFalse: bool):
    method isToSkip (line 116) | def isToSkip(self, delimiters: str, string: str):
    method sub (line 122) | def sub(self, matchObject) -> str:
  function apply_caption_tweaks (line 135) | def apply_caption_tweaks(content: List[str]) -> List[str]:
  function parse_keyvals (line 138) | def parse_keyvals(line: str):
  class CwlIntel (line 151) | class CwlIntel:
    method __init__ (line 158) | def __init__(self, commands_file: Union[Path, str], envs_file: Union[P...
    method compute_unimathsymbols (line 181) | def compute_unimathsymbols(self) -> Dict[str, Dict[str, str]]:
    method parse_cwl_file (line 209) | def parse_cwl_file(self, file_path: Union[Path, str], remove_spaces: b...

FILE: dev/pyintel/uni.py
  function remove_relation_character (line 10) | def remove_relation_character(description):
  function generate_unimathsymbols_intel (line 39) | def generate_unimathsymbols_intel(infile, json_out):

FILE: dev/update-grammar.mjs
  function downloadFile (line 15) | async function downloadFile(repo, file, version='main') {
  function updateGrammars (line 27) | async function updateGrammars() {
  function main (line 54) | async function main() {

FILE: resources/snippetview/pdfrenderer.js
  function createPdfWorker (line 24) | async function createPdfWorker() {
  function renderPdfFile (line 31) | async function renderPdfFile(url, opts) {

FILE: resources/snippetview/snippetview.js
  function loadMathSymbols (line 10) | async function loadMathSymbols() {
  function processMathSymbol (line 22) | function processMathSymbol(mathSymbol) {
  function mathSymbolSearch (line 50) | function mathSymbolSearch() {
  function getSearchText (line 78) | function getSearchText(symbol) {

FILE: resources/unified.js
  method "../node_modules/is-buffer/index.js" (line 31) | "../node_modules/is-buffer/index.js"(exports, module) {
  method "../node_modules/extend/index.js" (line 40) | "../node_modules/extend/index.js"(exports, module) {
  method "../node_modules/trie-prefix-tree/dist/config.js" (line 131) | "../node_modules/trie-prefix-tree/dist/config.js"(exports, module) {
  method "../node_modules/trie-prefix-tree/dist/append.js" (line 147) | "../node_modules/trie-prefix-tree/dist/append.js"(exports, module) {
  method "../node_modules/trie-prefix-tree/dist/create.js" (line 180) | "../node_modules/trie-prefix-tree/dist/create.js"(exports, module) {
  method "../node_modules/trie-prefix-tree/dist/utils.js" (line 212) | "../node_modules/trie-prefix-tree/dist/utils.js"(exports, module) {
  method "../node_modules/trie-prefix-tree/dist/checkPrefix.js" (line 238) | "../node_modules/trie-prefix-tree/dist/checkPrefix.js"(exports, module) {
  method "../node_modules/trie-prefix-tree/dist/recursePrefix.js" (line 268) | "../node_modules/trie-prefix-tree/dist/recursePrefix.js"(exports, module) {
  method "../node_modules/trie-prefix-tree/dist/recurseRandomWord.js" (line 315) | "../node_modules/trie-prefix-tree/dist/recurseRandomWord.js"(exports, mo...
  method "../node_modules/trie-prefix-tree/dist/permutations.js" (line 341) | "../node_modules/trie-prefix-tree/dist/permutations.js"(exports, module) {
  method "../node_modules/trie-prefix-tree/dist/index.js" (line 395) | "../node_modules/trie-prefix-tree/dist/index.js"(exports, module) {
  method "../node_modules/color-name/index.js" (line 592) | "../node_modules/color-name/index.js"(exports, module) {
  method "../node_modules/is-arrayish/index.js" (line 749) | "../node_modules/is-arrayish/index.js"(exports, module) {
  method "../node_modules/simple-swizzle/index.js" (line 761) | "../node_modules/simple-swizzle/index.js"(exports, module) {
  method "../node_modules/color-string/index.js" (line 788) | "../node_modules/color-string/index.js"(exports, module) {
  method "../node_modules/color/node_modules/color-name/index.js" (line 973) | "../node_modules/color/node_modules/color-name/index.js"(exports, module) {
  method "../node_modules/color/node_modules/color-convert/conversions.js" (line 1130) | "../node_modules/color/node_modules/color-convert/conversions.js"(export...
  method "../node_modules/color/node_modules/color-convert/route.js" (line 1801) | "../node_modules/color/node_modules/color-convert/route.js"(exports, mod...
  method "../node_modules/color/node_modules/color-convert/index.js" (line 1871) | "../node_modules/color/node_modules/color-convert/index.js"(exports, mod...
  method "../node_modules/color/index.js" (line 1932) | "../node_modules/color/index.js"(exports, module) {
  method "../node_modules/prettier/standalone.js" (line 2319) | "../node_modules/prettier/standalone.js"(exports, module) {
  function bail (line 13089) | function bail(error) {
  function isPlainObject (line 13100) | function isPlainObject(value) {
  function trough (line 13109) | function trough() {
  function wrap (line 13150) | function wrap(middleware, callback) {
  function stringifyPosition (line 13196) | function stringifyPosition(value) {
  function point (line 13211) | function point(point2) {
  function position (line 13214) | function position(pos) {
  function index (line 13217) | function index(value) {
  method constructor (line 13241) | constructor(reason, place, origin) {
  function basename (line 13308) | function basename(path2, ext) {
  function dirname (line 13366) | function dirname(path2) {
  function extname (line 13386) | function extname(path2) {
  function join (line 13424) | function join(...segments) {
  function normalize (line 13435) | function normalize(path2) {
  function normalizeString (line 13447) | function normalizeString(path2, allowAboveRoot) {
  function assertPath (line 13511) | function assertPath(path2) {
  function cwd (line 13521) | function cwd() {
  function isUrl (line 13526) | function isUrl(fileUrlOrPath) {
  function urlToPath (line 13533) | function urlToPath(path2) {
  function getPathFromURLPosix (line 13550) | function getPathFromURLPosix(url) {
  method constructor (line 13600) | constructor(value) {
  method path (line 13638) | get path() {
  method path (line 13650) | set path(path2) {
  method dirname (line 13662) | get dirname() {
  method dirname (line 13670) | set dirname(dirname2) {
  method basename (line 13677) | get basename() {
  method basename (line 13687) | set basename(basename2) {
  method extname (line 13695) | get extname() {
  method extname (line 13705) | set extname(extname2) {
  method stem (line 13721) | get stem() {
  method stem (line 13731) | set stem(stem) {
  method toString (line 13745) | toString(encoding) {
  method message (line 13764) | message(reason, place, origin) {
  method info (line 13790) | info(reason, place, origin) {
  method fail (line 13815) | fail(reason, place, origin) {
  function assertPart (line 13821) | function assertPart(part, name) {
  function assertNonEmpty (line 13828) | function assertNonEmpty(part, name) {
  function assertPath2 (line 13833) | function assertPath2(path2, name) {
  function buffer (line 13838) | function buffer(value) {
  function base (line 13845) | function base() {
  function newable (line 14088) | function newable(value, name) {
  function keys (line 14097) | function keys(value) {
  function assertParser (line 14106) | function assertParser(name, value) {
  function assertCompiler (line 14111) | function assertCompiler(name, value) {
  function assertUnfrozen (line 14116) | function assertUnfrozen(name, frozen) {
  function assertNode (line 14123) | function assertNode(node) {
  function assertDone (line 14128) | function assertDone(name, asyncName, complete) {
  function vfile (line 14135) | function vfile(value) {
  function looksLikeAVFile (line 14138) | function looksLikeAVFile(value) {
  function looksLikeAVFileValue (line 14143) | function looksLikeAVFileValue(value) {
  function bracesToOpenAndCloseMarks (line 14214) | function bracesToOpenAndCloseMarks(braces) {
  function arg (line 14228) | function arg(args2, special) {
  function s (line 14252) | function s(value) {
  function _printRaw (line 14262) | function _printRaw(node) {
  function printRaw (line 14338) | function printRaw(node, options) {
  function createMacroMatcher (line 14348) | function createMacroMatcher(macros18) {
  function createEnvironmentMatcher (line 14384) | function createEnvironmentMatcher(macros18) {
  method macro (line 14403) | macro(node, macroName) {
  method anyMacro (line 14409) | anyMacro(node) {
  method environment (line 14412) | environment(node, envName) {
  method anyEnvironment (line 14418) | anyEnvironment(node) {
  method comment (line 14421) | comment(node) {
  method parbreak (line 14427) | parbreak(node) {
  method whitespace (line 14433) | whitespace(node) {
  method whitespaceLike (line 14442) | whitespaceLike(node) {
  method string (line 14448) | string(node, value) {
  method anyString (line 14454) | anyString(node) {
  method group (line 14457) | group(node) {
  method argument (line 14463) | argument(node) {
  method blankArgument (line 14469) | blankArgument(node) {
  method math (line 14475) | math(node) {
  function listMathChildren (line 14501) | function listMathChildren(node) {
  function visit (line 14536) | function visit(tree, visitor, options) {
  function toResult (line 14649) | function toResult(value) {
  function updateRenderInfo (line 14663) | function updateRenderInfo(node, renderInfo) {
  function trim (line 14671) | function trim(nodes) {
  function trimStart (line 14680) | function trimStart(nodes) {
  function trimEnd (line 14696) | function trimEnd(nodes) {
  function amountOfLeadingAndTrailingWhitespace (line 14711) | function amountOfLeadingAndTrailingWhitespace(ast) {
  function splitOnCondition (line 14759) | function splitOnCondition(nodes, splitFunc = () => false, options) {
  function splitOnMacro (line 14786) | function splitOnMacro(ast, macroName) {
  function lastSignificantNodeIndex (line 14799) | function lastSignificantNodeIndex(nodes, parbreaksAreInsignificant) {
  function cleanEnumerateBody (line 14811) | function cleanEnumerateBody(ast, itemName = "item") {
  function popTrailingComments (line 14860) | function popTrailingComments(nodes) {
  function decorateArrayForPegjs (line 15314) | function decorateArrayForPegjs(array) {
  function peg$subclass (line 15333) | function peg$subclass(child, parent) {
  function peg$SyntaxError (line 15340) | function peg$SyntaxError(message, expected, found, location) {
  function peg$padEnd (line 15352) | function peg$padEnd(str, targetLength, padString) {
  function hex (line 15409) | function hex(ch) {
  function literalEscape (line 15412) | function literalEscape(s2) {
  function classEscape (line 15419) | function classEscape(s2) {
  function describeExpectation (line 15426) | function describeExpectation(expectation) {
  function describeExpected (line 15429) | function describeExpected(expected2) {
  function describeFound (line 15451) | function describeFound(found2) {
  function peg$parse (line 15456) | function peg$parse(input, options) {
  function peg$subclass (line 20202) | function peg$subclass(child, parent) {
  function peg$SyntaxError (line 20209) | function peg$SyntaxError(message, expected, found, location) {
  function peg$padEnd (line 20221) | function peg$padEnd(str, targetLength, padString) {
  function hex (line 20278) | function hex(ch) {
  function literalEscape (line 20281) | function literalEscape(s2) {
  function classEscape (line 20288) | function classEscape(s2) {
  function describeExpectation (line 20295) | function describeExpectation(expectation) {
  function describeExpected (line 20298) | function describeExpected(expected2) {
  function describeFound (line 20320) | function describeFound(found2) {
  function peg$parse (line 20325) | function peg$parse(input, options) {
  function peg$subclass (line 20937) | function peg$subclass(child, parent) {
  function peg$SyntaxError (line 20944) | function peg$SyntaxError(message, expected, found, location) {
  function peg$padEnd (line 20956) | function peg$padEnd(str, targetLength, padString) {
  function hex (line 21013) | function hex(ch) {
  function literalEscape (line 21016) | function literalEscape(s2) {
  function classEscape (line 21023) | function classEscape(s2) {
  function describeExpectation (line 21030) | function describeExpectation(expectation) {
  function describeExpected (line 21033) | function describeExpected(expected2) {
  function describeFound (line 21055) | function describeFound(found2) {
  function peg$parse (line 21060) | function peg$parse(input, options) {
  function peg$subclass (line 22359) | function peg$subclass(child, parent) {
  function peg$SyntaxError (line 22366) | function peg$SyntaxError(message, expected, found, location) {
  function peg$padEnd (line 22378) | function peg$padEnd(str, targetLength, padString) {
  function hex (line 22435) | function hex(ch) {
  function literalEscape (line 22438) | function literalEscape(s2) {
  function classEscape (line 22445) | function classEscape(s2) {
  function describeExpectation (line 22452) | function describeExpectation(expectation) {
  function describeExpected (line 22455) | function describeExpected(expected2) {
  function describeFound (line 22477) | function describeFound(found2) {
  function peg$parse (line 22482) | function peg$parse(input, options) {
  function peg$subclass (line 23562) | function peg$subclass(child, parent) {
  function peg$SyntaxError (line 23569) | function peg$SyntaxError(message, expected, found, location) {
  function peg$padEnd (line 23581) | function peg$padEnd(str, targetLength, padString) {
  function hex (line 23638) | function hex(ch) {
  function literalEscape (line 23641) | function literalEscape(s2) {
  function classEscape (line 23648) | function classEscape(s2) {
  function describeExpectation (line 23655) | function describeExpectation(expectation) {
  function describeExpected (line 23658) | function describeExpected(expected2) {
  function describeFound (line 23680) | function describeFound(found2) {
  function peg$parse (line 23685) | function peg$parse(input, options) {
  function peg$subclass (line 24022) | function peg$subclass(child, parent) {
  function peg$SyntaxError (line 24029) | function peg$SyntaxError(message, expected, found, location) {
  function peg$padEnd (line 24041) | function peg$padEnd(str, targetLength, padString) {
  function hex (line 24098) | function hex(ch) {
  function literalEscape (line 24101) | function literalEscape(s2) {
  function classEscape (line 24108) | function classEscape(s2) {
  function describeExpectation (line 24115) | function describeExpectation(expectation) {
  function describeExpected (line 24118) | function describeExpected(expected2) {
  function describeFound (line 24140) | function describeFound(found2) {
  function peg$parse (line 24145) | function peg$parse(input, options) {
  function peg$subclass (line 24752) | function peg$subclass(child, parent) {
  function peg$SyntaxError (line 24759) | function peg$SyntaxError(message, expected, found, location) {
  function peg$padEnd (line 24771) | function peg$padEnd(str, targetLength, padString) {
  function hex (line 24828) | function hex(ch) {
  function literalEscape (line 24831) | function literalEscape(s2) {
  function classEscape (line 24838) | function classEscape(s2) {
  function describeExpectation (line 24845) | function describeExpectation(expectation) {
  function describeExpected (line 24848) | function describeExpected(expected2) {
  function describeFound (line 24870) | function describeFound(found2) {
  function peg$parse (line 24875) | function peg$parse(input, options) {
  function peg$subclass (line 26781) | function peg$subclass(child, parent) {
  function peg$SyntaxError (line 26788) | function peg$SyntaxError(message, expected, found, location) {
  function peg$padEnd (line 26800) | function peg$padEnd(str, targetLength, padString) {
  function hex (line 26857) | function hex(ch) {
  function literalEscape (line 26860) | function literalEscape(s2) {
  function classEscape (line 26867) | function classEscape(s2) {
  function describeExpectation (line 26874) | function describeExpectation(expectation) {
  function describeExpected (line 26877) | function describeExpected(expected2) {
  function describeFound (line 26899) | function describeFound(found2) {
  function peg$parse (line 26904) | function peg$parse(input, options) {
  function peg$subclass (line 28154) | function peg$subclass(child, parent) {
  function peg$SyntaxError (line 28161) | function peg$SyntaxError(message, expected, found, location) {
  function peg$padEnd (line 28173) | function peg$padEnd(str, targetLength, padString) {
  function hex (line 28230) | function hex(ch) {
  function literalEscape (line 28233) | function literalEscape(s2) {
  function classEscape (line 28240) | function classEscape(s2) {
  function describeExpectation (line 28247) | function describeExpectation(expectation) {
  function describeExpected (line 28250) | function describeExpected(expected2) {
  function describeFound (line 28272) | function describeFound(found2) {
  function peg$parse (line 28277) | function peg$parse(input, options) {
  function peg$subclass (line 29370) | function peg$subclass(child, parent) {
  function peg$SyntaxError (line 29377) | function peg$SyntaxError(message, expected, found, location) {
  function peg$padEnd (line 29389) | function peg$padEnd(str, targetLength, padString) {
  function hex (line 29446) | function hex(ch) {
  function literalEscape (line 29449) | function literalEscape(s2) {
  function classEscape (line 29456) | function classEscape(s2) {
  function describeExpectation (line 29463) | function describeExpectation(expectation) {
  function describeExpected (line 29466) | function describeExpected(expected2) {
  function describeFound (line 29488) | function describeFound(found2) {
  function peg$parse (line 29493) | function peg$parse(input, options) {
  function peg$subclass (line 30166) | function peg$subclass(child, parent) {
  function peg$SyntaxError (line 30173) | function peg$SyntaxError(message, expected, found, location) {
  function peg$padEnd (line 30185) | function peg$padEnd(str, targetLength, padString) {
  function hex (line 30242) | function hex(ch) {
  function literalEscape (line 30245) | function literalEscape(s2) {
  function classEscape (line 30252) | function classEscape(s2) {
  function describeExpectation (line 30259) | function describeExpectation(expectation) {
  function describeExpected (line 30262) | function describeExpected(expected2) {
  function describeFound (line 30284) | function describeFound(found2) {
  function peg$parse (line 30289) | function peg$parse(input, options) {
  function parse (line 31986) | function parse(str = "") {
  function scan (line 31994) | function scan(nodes, token, options) {
  function gobbleSingleArgument (line 32042) | function gobbleSingleArgument(nodes, argSpec, startPos = 0) {
  function cloneStringNode (line 32195) | function cloneStringNode(node, content) {
  function findBracePositions (line 32198) | function findBracePositions(nodes, startPos, openMark, closeMark) {
  function gobbleArguments (line 32274) | function gobbleArguments(nodes, argSpec, startPos = 0) {
  function embellishmentSpec (line 32324) | function embellishmentSpec(tokens) {
  function emptyArg (line 32330) | function emptyArg(defaultArg) {
  function attachMacroArgsInArray (line 32337) | function attachMacroArgsInArray(nodes, macros18) {
  function attachMacroArgs (line 32371) | function attachMacroArgs(tree, macros18) {
  function blankArg (line 32812) | function blankArg() {
  function eatAllAnimationSpecs (line 32869) | function eatAllAnimationSpecs(nodes, startPos) {
  function processTikzEnvironmentContent (line 32986) | function processTikzEnvironmentContent(nodes) {
  function createMatchers2 (line 33277) | function createMatchers2() {
  function parse2 (line 33290) | function parse2(ast, options) {
  function processEnvironment (line 34310) | function processEnvironment(envNode, envInfo) {
  function findRegionInArray (line 34322) | function findRegionInArray(tree, start, end) {
  function refineRegions (line 34341) | function refineRegions(regions) {
  function splitByRegions (line 34380) | function splitByRegions(array, regionsRecord) {
  function escapeRegExp (line 34404) | function escapeRegExp(str) {
  function buildWordRegex (line 34407) | function buildWordRegex(allowedSet) {
  function hasReparsableMacroNamesInArray (line 34411) | function hasReparsableMacroNamesInArray(tree, allowedTokens) {
  function hasReparsableMacroNames (line 34425) | function hasReparsableMacroNames(tree, allowedTokens) {
  function reparseMacroNamesInArray (line 34450) | function reparseMacroNamesInArray(tree, allowedTokens) {
  function reparseMacroNames (line 34493) | function reparseMacroNames(tree, allowedTokens) {
  function findExpl3AndAtLetterRegionsInArray (line 34521) | function findExpl3AndAtLetterRegionsInArray(tree) {
  function reparseExpl3AndAtLetterRegions (line 34562) | function reparseExpl3AndAtLetterRegions(tree) {
  function parseMinimal (line 34610) | function parseMinimal(str) {
  function parseMathMinimal (line 34613) | function parseMathMinimal(str) {
  function unifiedLatexReparseMathConstructPlugin (line 34629) | function unifiedLatexReparseMathConstructPlugin({
  function wasParsedInMathMode (line 34660) | function wasParsedInMathMode(nodes) {
  function getParser (line 34811) | function getParser(options) {
  function getDocType (line 34860) | function getDocType(doc) {
  function getDocErrorMessage (line 34877) | function getDocErrorMessage(doc) {
  method constructor (line 34898) | constructor(doc) {
  function traverseDoc (line 34905) | function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGrou...
  function indent (line 34987) | function indent(contents) {
  function align (line 34991) | function align(widthOrString, contents) {
  function group2 (line 34995) | function group2(contents, opts = {}) {
  function dedentToRoot (line 35010) | function dedentToRoot(contents) {
  function markAsRoot (line 35013) | function markAsRoot(contents) {
  function dedent (line 35016) | function dedent(contents) {
  function conditionalGroup (line 35019) | function conditionalGroup(states, opts) {
  function fill (line 35022) | function fill(parts) {
  function ifBreak (line 35026) | function ifBreak(breakContents, flatContents = "", opts = {}) {
  function indentIfBreak (line 35038) | function indentIfBreak(contents, opts) {
  function lineSuffix (line 35047) | function lineSuffix(contents) {
  function join2 (line 35065) | function join2(separator, docs) {
  function addAlignmentToDoc (line 35077) | function addAlignmentToDoc(doc, size, tabWidth) {
  function label (line 35089) | function label(label2, contents) {
  function convertEndOfLineToChars (line 35116) | function convertEndOfLineToChars(value) {
  function isFullWidth (line 35129) | function isFullWidth(x) {
  function isWide (line 35132) | function isWide(x) {
  function getStringWidth (line 35137) | function getStringWidth(text) {
  function mapDoc (line 35159) | function mapDoc(doc, cb) {
  function findInDoc (line 35226) | function findInDoc(doc, fn, defaultValue) {
  function willBreakFn (line 35242) | function willBreakFn(doc) {
  function willBreak (line 35253) | function willBreak(doc) {
  function breakParentGroup (line 35256) | function breakParentGroup(groupStack) {
  function propagateBreaks (line 35270) | function propagateBreaks(doc) {
  function removeLinesFn (line 35301) | function removeLinesFn(doc) {
  function removeLines (line 35310) | function removeLines(doc) {
  function stripTrailingHardlineFromParts (line 35313) | function stripTrailingHardlineFromParts(parts) {
  function stripTrailingHardlineFromDoc (line 35339) | function stripTrailingHardlineFromDoc(doc) {
  function stripTrailingHardline (line 35379) | function stripTrailingHardline(doc) {
  function cleanDocFn (line 35382) | function cleanDocFn(doc) {
  function cleanDoc (line 35450) | function cleanDoc(doc) {
  function replaceEndOfLine (line 35453) | function replaceEndOfLine(doc, replacement = literalline) {
  function canBreakFn (line 35456) | function canBreakFn(doc) {
  function canBreak (line 35461) | function canBreak(doc) {
  function rootIndent (line 35467) | function rootIndent() {
  function makeIndent (line 35474) | function makeIndent(ind, options) {
  function makeAlign (line 35479) | function makeAlign(indent22, widthOrDoc, options) {
  function generateInd (line 35503) | function generateInd(ind, newPart, options) {
  function trim22 (line 35571) | function trim22(out) {
  function fits (line 35602) | function fits(next, restCommands, width, hasLineSuffix, groupModeMap, mu...
  function printDocToString (line 35699) | function printDocToString(doc, options) {
  function createMatchers3 (line 36069) | function createMatchers3() {
  function parsePgfkeys (line 36080) | function parsePgfkeys(ast, options) {
  function createMatchers4 (line 36093) | function createMatchers4(rowSepMacros, colSep) {
  function parseAlignEnvironment (line 36103) | function parseAlignEnvironment(ast, colSep = ["&"], rowSepMacros = ["\\"...
  function formatEnvSurround (line 36124) | function formatEnvSurround(node) {
  function isLineType (line 36132) | function isLineType(elm) {
  function joinWithSoftline (line 36144) | function joinWithSoftline(arr) {
  function getNodeInfo (line 36159) | function getNodeInfo(node, options) {
  function formatDocArray (line 36190) | function formatDocArray(nodes, docArray, options) {
  function zip (line 36265) | function zip(array1, array2) {
  function printMacro (line 36273) | function printMacro(path2, print, options) {
  function printArgumentPgfkeys (line 36298) | function printArgumentPgfkeys(nodes, options) {
  function printTikzArgument (line 36351) | function printTikzArgument(path2, print, options) {
  function printFragment (line 36374) | function printFragment(fragment, path2, print) {
  function printTikzPathSpecNode (line 36387) | function printTikzPathSpecNode(node, path2, print) {
  function printOptionalArgs (line 36521) | function printOptionalArgs(nodes) {
  method constructor (line 36528) | constructor(spec, path2, print) {
  method nodeToDoc (line 36535) | nodeToDoc(node) {
  method toDoc (line 36538) | toDoc() {
  method peek (line 36618) | peek() {
  method eatOptionalArg (line 36643) | eatOptionalArg() {
  method eatNode (line 36669) | eatNode() {
  method eatOperation (line 36765) | eatOperation() {
  function isPathJoinOperation (line 36792) | function isPathJoinOperation(node) {
  function printArgument (line 36805) | function printArgument(path2, print, options) {
  function hasPreambleCode (line 36845) | function hasPreambleCode(nodes) {
  function printRoot (line 36848) | function printRoot(path2, print, options) {
  function printComment (line 36859) | function printComment(path2, _print2, _options) {
  function printInlineMath (line 36868) | function printInlineMath(path2, print, options) {
  function printDisplayMath (line 36881) | function printDisplayMath(path2, print, options) {
  function printVerbatimEnvironment (line 36897) | function printVerbatimEnvironment(path2, print, options) {
  function printEnvironment (line 36902) | function printEnvironment(path2, print, options) {
  function printAlignedEnvironment (line 36927) | function printAlignedEnvironment(path2, print, options) {
  function formatAlignedContent (line 36977) | function formatAlignedContent(nodes) {
  method constructor (line 37016) | constructor(ast) {
  method setRenderCache (line 37040) | setRenderCache(node, data) {
  method getRenderCache (line 37051) | getRenderCache(node) {
  method getPreviousNode (line 37055) | getPreviousNode(node) {
  method getNextNode (line 37058) | getNextNode(node) {
  function printLatexAst (line 37062) | function printLatexAst(path2, options, print) {
  function readableType (line 37122) | function readableType(obj) {
  function toString (line 37186) | function toString(ast) {

FILE: src/compile/build.ts
  function autoBuild (line 34) | function autoBuild(file: string, type: 'onFileChange' | 'onSave', bibCha...
  function canAutoBuild (line 61) | function canAutoBuild(): boolean {
  function isFileExcludedFromBuildOnSave (line 74) | function isFileExcludedFromBuildOnSave(filePath: string): boolean {
  function build (line 102) | async function build(skipSelection: boolean = false, rootFile: string | ...
  function buildLoop (line 161) | async function buildLoop() {
  function normalizeArgForCwd (line 199) | function normalizeArgForCwd(arg: string, cwd: string, rootDir: string): ...
  function spawnProcess (line 238) | function spawnProcess(step: Step): ProcessEnv {
  function monitorProcess (line 295) | async function monitorProcess(step: Step, env: ProcessEnv): Promise<bool...
  function handleProcessError (line 358) | function handleProcessError(env: ProcessEnv, stderr: string, err: Error) {
  function handleExitCodeError (line 380) | function handleExitCodeError(step: Step, env: ProcessEnv, stderr: string...
  function handleRetryError (line 408) | function handleRetryError(step: RecipeStep) {
  function handleNoRetryError (line 426) | function handleNoRetryError(configuration: vscode.WorkspaceConfiguration...
  function handleExternalCommandError (line 439) | function handleExternalCommandError() {
  function handleUserTermination (line 450) | function handleUserTermination() {
  function afterSuccessfulBuilt (line 464) | async function afterSuccessfulBuilt(lastStep: Step, skipped: boolean) {

FILE: src/compile/external.ts
  function build (line 20) | async function build(command: string, args: string[], pwd: string, build...

FILE: src/compile/queue.ts
  function add (line 22) | function add(tool: Tool, rootFile: string | undefined, recipeName: strin...
  function prepend (line 61) | function prepend(step: Step) {
  function clear (line 68) | function clear() {
  function isLastStep (line 79) | function isLastStep(step: Step): boolean {
  function getStepString (line 89) | function getStepString(step: Step): string {
  function getStep (line 121) | function getStep(): Step | undefined {

FILE: src/compile/recipe.ts
  function initialize (line 18) | function initialize() {
  function setDockerImage (line 28) | function setDockerImage() {
  function setDockerPath (line 36) | function setDockerPath() {
  function build (line 54) | async function build(rootFile: string, langId: string, buildLoop: () => ...
  function createAuxSubFolders (line 105) | async function createAuxSubFolders(rootFile: string) {
  function createBuildTools (line 151) | async function createBuildTools(rootFile: string, langId: string, recipe...
  function findMagicComments (line 206) | async function findMagicComments(rootFile: string): Promise<{tex?: Tool,...
  function createBuildMagic (line 269) | function createBuildMagic(rootFile: string, magicTex: Tool, magicBib?: T...
  function findRecipe (line 297) | function findRecipe(rootFile: string, langId: string, recipeName?: strin...
  function populateTools (line 353) | function populateTools(rootFile: string, buildTools: Tool[]): Tool[] {
  function isMikTeX (line 415) | function isMikTeX(): boolean {

FILE: src/compile/terminate.ts
  function terminate (line 15) | function terminate() {

FILE: src/completion/bibtex.ts
  type DataBibtexJsonType (line 9) | type DataBibtexJsonType = typeof import('../../data/bibtex-entries.json')
  type DataBibtexOptionalJsonType (line 10) | type DataBibtexOptionalJsonType = typeof import('../../data/bibtex-optio...
  class BibProvider (line 12) | class BibProvider implements vscode.CompletionItemProvider {
    method constructor (line 18) | constructor() {
    method initialize (line 42) | private initialize() {
    method loadDefaultItems (line 70) | private loadDefaultItems(entriesFile: string, optEntriesFile: string, ...
    method entryToCompletion (line 110) | private entryToCompletion(itemName: string, itemFields: string[], conf...
    method fieldsToCompletion (line 130) | private fieldsToCompletion(fields: string[], config: ReturnType<typeof...
    method provideCompletionItems (line 142) | provideCompletionItems(document: vscode.TextDocument, position: vscode...
    method provideOptFields (line 178) | private provideOptFields(document: vscode.TextDocument, position: vsco...
  function findFieldValues (line 193) | function findFieldValues(field: string, text: string) {

FILE: src/completion/completer/argument.ts
  function from (line 9) | function from(result: RegExpMatchArray, args: CompletionArgs) {
  function providePackageOptions (line 70) | function providePackageOptions(line: string): vscode.CompletionItem[] {
  function provideClassOptions (line 89) | function provideClassOptions(line: string): vscode.CompletionItem[] {
  function getArgumentIndex (line 109) | function getArgumentIndex(argstr: string) {

FILE: src/completion/completer/atsuggestion.ts
  type AtSuggestionItemEntry (line 18) | interface AtSuggestionItemEntry {
  function initialize (line 26) | function initialize(triggerCharacter?: string) {
  function from (line 57) | function from(result: RegExpMatchArray, args: CompletionArgs) {
  function provide (line 73) | function provide(line: string, position: vscode.Position): vscode.Comple...

FILE: src/completion/completer/citation.ts
  function readCitationFormat (line 33) | function readCitationFormat(configuration: vscode.WorkspaceConfiguration...
  function expandField (line 47) | function expandField(abbreviations: {[key: string]: string}, value: bibt...
  function deParenthesis (line 64) | function deParenthesis(str: string): string {
  function parseAbbrevations (line 70) | function parseAbbrevations(ast: bibtexParser.BibtexAst) {
  function from (line 93) | function from(_result: RegExpMatchArray, args: CompletionArgs) {
  function provide (line 97) | function provide(uri: vscode.Uri, line: string, position: vscode.Positio...
  function browser (line 165) | function browser(args?: CompletionArgs) {
  function getRawItem (line 199) | function getRawItem(key: string): CitationItem | undefined {
  function getItem (line 205) | function getItem(key: string, configurationScope?: vscode.ConfigurationS...
  function updateAll (line 221) | function updateAll(bibFiles?: string[]): CitationItem[] {
  function parseBibFile (line 249) | async function parseBibFile(fileName: string) {
  function removeEntriesInFile (line 293) | function removeEntriesInFile(file: string) {
  function parse (line 303) | function parse(cache: FileCache) {
  function parseContent (line 307) | function parseContent(file: string, content: string): CitationItem[] {
  class Fields (line 330) | class Fields extends Map<string, string> implements CitationField {
    method author (line 331) | get author() { return this.get('author') }
    method journal (line 332) | get journal() { return this.get('journal') }
    method journaltitle (line 333) | get journaltitle() { return this.get('journaltitle') }
    method title (line 334) | get title() { return this.get('title') }
    method publisher (line 335) | get publisher() { return this.get('publisher') }
    method join (line 344) | join(selectedFields: string[], prefixWithKeys: boolean, joinString: st...

FILE: src/completion/completer/class.ts
  type ClassItemEntry (line 12) | type ClassItemEntry = {
  function initialize (line 18) | function initialize(classes: {[key: string]: ClassItemEntry}) {
  function from (line 27) | function from(): vscode.CompletionItem[] {

FILE: src/completion/completer/closeenv.ts
  function from (line 6) | function from(result: RegExpMatchArray, _args: CompletionArgs): vscode.C...

FILE: src/completion/completer/completerutils.ts
  type CmdSignature (line 4) | interface CmdSignature {
  function splitSignatureString (line 14) | function splitSignatureString(signature: string): CmdSignature {
  class CmdEnvSuggestion (line 29) | class CmdEnvSuggestion extends vscode.CompletionItem implements Completi...
    method constructor (line 30) | constructor(public label: string, public packageName: string, public k...
    method signatureAsString (line 38) | signatureAsString(): string {
    method name (line 46) | name(): string {
    method hasOptionalArgs (line 50) | hasOptionalArgs(): boolean {
  function filterNonLetterSuggestions (line 55) | function filterNonLetterSuggestions(suggestions: CompletionItem[], typed...
  function computeFilteringRange (line 68) | function computeFilteringRange(line: string, position: vscode.Position):...
  function filterArgumentHint (line 78) | function filterArgumentHint(suggestions: vscode.CompletionItem[]) {

FILE: src/completion/completer/environment.ts
  function initialize (line 37) | function initialize() {
  function getDefaultEnvs (line 64) | function getDefaultEnvs(type: EnvSnippetType): CmdEnvSuggestion[] {
  function getPackageEnvs (line 80) | function getPackageEnvs(type?: EnvSnippetType): Map<string, CmdEnvSugges...
  function from (line 93) | function from(result: RegExpMatchArray, args: CompletionArgs) {
  function provide (line 99) | function provide(langId: string, line: string, position: vscode.Position...
  function provideEnvsAsMacroInPkg (line 162) | function provideEnvsAsMacroInPkg(
  function parse (line 202) | function parse(cache: FileCache) {
  function parseAst (line 210) | function parseAst(node: Ast.Node): CmdEnvSuggestion[] {
  function parseContent (line 243) | function parseContent(content: string): CmdEnvSuggestion[] {
  function getEnvFromPkg (line 272) | function getEnvFromPkg(packageName: string, type: EnvSnippetType): CmdEn...
  function envRawToInfo (line 295) | function envRawToInfo(packageName: string, env: EnvironmentRaw): Environ...
  function setPackageEnvs (line 304) | function setPackageEnvs(packageName: string, envs: EnvironmentRaw[]) {
  function entryEnvToCompletion (line 311) | function entryEnvToCompletion(item: EnvironmentInfo, type: EnvSnippetTyp...

FILE: src/completion/completer/glossary.ts
  function from (line 31) | function from(result: RegExpMatchArray): vscode.CompletionItem[] {
  function getItem (line 46) | function getItem(token: string): GlossaryItem | undefined {
  function updateAll (line 57) | function updateAll(bibFiles: string[]) {
  function parseBibFile (line 107) | async function parseBibFile(fileName: string) {
  function removeEntriesInFile (line 155) | function removeEntriesInFile(file: string) {
  function parse (line 160) | function parse(cache: FileCache) {
  function parseAst (line 168) | function parseAst(node: Ast.Node, filePath: string): GlossaryItem[] {
  function parseContent (line 225) | function parseContent(content: string, filePath: string): GlossaryItem[] {

FILE: src/completion/completer/input.ts
  method filterIgnoredFiles (line 38) | private filterIgnoredFiles(uri: vscode.Uri, files: string[], baseDir: st...
  method from (line 46) | from(result: RegExpMatchArray, args: CompletionArgs) {
  method provide (line 59) | private provide(uri: vscode.Uri, line: string, position: vscode.Position...
  class Input (line 116) | class Input extends InputAbstract {
    method parseGraphicsPath (line 122) | parseGraphicsPath(cache: FileCache) {
    method reset (line 134) | reset() {
    method provideDirOnly (line 138) | provideDirOnly(_importFromDir: string): boolean {
    method getBaseDir (line 142) | getBaseDir(currentFile: string, _importFromDir: string, macro: string)...
  class Import (line 176) | class Import extends InputAbstract {
    method provideDirOnly (line 177) | provideDirOnly(importFromDir: string): boolean {
    method getBaseDir (line 181) | getBaseDir(_currentFile: string, importFromDir: string, _macro: string...
  class SubImport (line 191) | class SubImport extends InputAbstract {
    method provideDirOnly (line 192) | provideDirOnly(importFromDir: string): boolean {
    method getBaseDir (line 197) | getBaseDir(currentFile: string, importFromDir: string, _macro: string)...

FILE: src/completion/completer/macro.ts
  function getData (line 21) | function getData() { return data }
  function initialize (line 33) | function initialize() {
  function isTriggerSuggestNeeded (line 72) | function isTriggerSuggestNeeded(name: string): boolean {
  function from (line 77) | function from(result: RegExpMatchArray, args: CompletionArgs) {
  function provide (line 90) | function provide(langId: string, line?: string, position?: vscode.Positi...
  function surround (line 155) | function surround(cmdItems?: CompletionItem[]) {
  function parse (line 202) | function parse(cache: FileCache) {
  function parseAst (line 216) | function parseAst(node: Ast.Node, filePath: string, defined?: Set<string...
  function parseContent (line 308) | function parseContent(content: string, filePath: string): CmdEnvSuggesti...
  function entryCmdToCompletion (line 397) | function entryCmdToCompletion(item: MacroRaw, packageName?: string, post...
  function setPackageCmds (line 444) | function setPackageCmds(packageName: string, macros: MacroRaw[]) {
  function getPackageCmds (line 448) | function getPackageCmds(packageName: string) {
  function provideCmdInPkg (line 452) | function provideCmdInPkg(packageName: string, options: string[], suggest...

FILE: src/completion/completer/package.ts
  type PackageItemEntry (line 29) | type PackageItemEntry = {
  function load (line 36) | function load(packageName: string) {
  function resolvePackageFile (line 72) | function resolvePackageFile(packageName: string): string | undefined {
  function initialize (line 111) | function initialize(defaultPackages: {[key: string]: PackageItemEntry}) {
  function from (line 120) | function from(): vscode.CompletionItem[] {
  function getArgs (line 128) | function getArgs(packageName: string) {
  function getDeps (line 132) | function getDeps(packageName: string): DependencyRaw[] {
  function getKeys (line 136) | function getKeys(packageName: string, key: string) {
  function getAll (line 140) | function getAll(languageId: string): {[packageName: string]: string[]} {
  function parse (line 187) | function parse(cache: FileCache) {
  function parseAst (line 195) | function parseAst(node: Ast.Node): {[pkgName: string]: string[]} {
  function parseContent (line 217) | function parseContent(content: string): {[pkgName: string]: string[]} {
  function toPackageObj (line 235) | function toPackageObj(packageName: string, options: string[], node?: Ast...

FILE: src/completion/completer/reference.ts
  function from (line 25) | function from(_result: RegExpMatchArray, args: CompletionArgs) {
  function provide (line 29) | function provide(line: string, position: vscode.Position): vscode.Comple...
  function getItem (line 41) | function getItem(token: string): ReferenceItem | undefined {
  function updateAll (line 46) | function updateAll(line?: string, position?: vscode.Position) {
  function parse (line 125) | function parse(cache: FileCache) {
  function parseAst (line 135) | function parseAst(node: Ast.Node, nodeStack: Ast.Node[], filePath: strin...
  function findMath (line 204) | function findMath(nodeStack: Ast.Node[]): TeXMathEnv | undefined {
  function parseContent (line 224) | function parseContent(content: string, filePath: string): ReferenceItem[] {
  function setNumbersFromAuxFile (line 256) | function setNumbersFromAuxFile(rootFile: string) {

FILE: src/completion/completer/subsuperscript.ts
  function from (line 13) | function from(result: RegExpMatchArray, _: CompletionArgs): CompletionIt...
  function parse (line 26) | function parse(cache: FileCache) {
  function parseAst (line 34) | function parseAst(node: Ast.Node, lines: string[], scripts: {sub: Comple...

FILE: src/completion/latex.ts
  class Provider (line 21) | class Provider implements vscode.CompletionItemProvider {
    method provideCompletionItems (line 22) | provideCompletionItems(
    method provide (line 38) | provide(args: CompletionArgs): vscode.CompletionItem[] {
    method resolveCompletionItem (line 57) | async resolveCompletionItem(item: vscode.CompletionItem, ctoken: vscod...
    method completion (line 91) | completion(type: string, args: CompletionArgs): vscode.CompletionItem[] {
  class AtProvider (line 172) | class AtProvider implements vscode.CompletionItemProvider {
    method constructor (line 175) | constructor() {
    method updateTrigger (line 179) | updateTrigger() {
    method provideCompletionItems (line 186) | provideCompletionItems(
    method provide (line 198) | provide(args: CompletionArgs): vscode.CompletionItem[] {

FILE: src/core/cache.ts
  function canCache (line 78) | function canCache(filePath: string): boolean {
  function isExcluded (line 96) | function isExcluded(filePath: string): boolean {
  function add (line 113) | function add(filePath: string) {
  function get (line 137) | function get(filePath: string): FileCache | undefined {
  function paths (line 151) | function paths(): string[] {
  function wait (line 172) | async function wait(filePath: string, seconds: number = 2): Promise<Prom...
  function reset (line 196) | function reset() {
  function refreshCache (line 234) | async function refreshCache(filePath: string, rootPath?: string): Promis...
  function refreshCacheAggressive (line 302) | function refreshCacheAggressive(filePath: string) {
  function updateAST (line 334) | async function updateAST(fileCache: FileCache): Promise<void> {
  function updateChildren (line 355) | async function updateChildren(fileCache: FileCache, rootPath: string | u...
  function updateChildrenInput (line 378) | async function updateChildrenInput(fileCache: FileCache, rootPath: strin...
  function updateChildrenXr (line 425) | async function updateChildrenXr(fileCache: FileCache, rootPath: string) {
  function updateElements (line 468) | async function updateElements(fileCache: FileCache): Promise<void> {
  function updateBibfiles (line 499) | async function updateBibfiles(fileCache: FileCache) {
  function updateGlossaryBibFiles (line 536) | async function updateGlossaryBibFiles(fileCache: FileCache) {
  function loadFlsFile (line 579) | async function loadFlsFile(filePath: string): Promise<void> {
  function parseFlsContent (line 654) | function parseFlsContent(content: string, rootDir: string): {input: stri...
  function parseAuxFile (line 699) | async function parseAuxFile(filePath: string, srcDir: string) {
  function getIncludedBibGeneric (line 750) | function getIncludedBibGeneric(bibType: 'bibtex' | 'glossary', filePath?...
  function getIncludedBib (line 785) | function getIncludedBib(filePath?: string): string[] {
  function getIncludedGlossaryBib (line 798) | function getIncludedGlossaryBib(filePath?: string): string[] {
  function getIncludedTeX (line 814) | function getIncludedTeX(filePath?: string): Set<string> {
  function getFlsChildren (line 848) | async function getFlsChildren(texFile: string): Promise<string[]> {

FILE: src/core/commands.ts
  function hostPort (line 8) | async function hostPort() {
  function build (line 18) | async function build(skipSelection: boolean = false, rootFile: string | ...
  function revealOutputDir (line 27) | async function revealOutputDir() {
  function recipes (line 42) | function recipes(recipe?: string) {
  function view (line 62) | async function view(mode?: 'tab' | 'browser' | 'external' | vscode.Uri) {
  function refresh (line 93) | function refresh() {
  function kill (line 98) | function kill() {
  function synctex (line 103) | function synctex() {
  function synctexonref (line 123) | function synctexonref(line: number, filePath: string) {
  function clean (line 132) | async function clean(): Promise<void> {
  function addTexRoot (line 151) | function addTexRoot() {
  function citation (line 160) | function citation() {
  function wordcount (line 165) | function wordcount() {
  function showLog (line 179) | function showLog(compiler?: string) {
  function gotoSection (line 188) | async function gotoSection(filePath: string, lineNumber: number) {
  function navigateToEnvPair (line 203) | function navigateToEnvPair() {
  function selectEnvContent (line 212) | function selectEnvContent(mode: 'content' | 'whole') {
  function selectEnvName (line 221) | function selectEnvName() {
  function multiCursorEnvName (line 230) | function multiCursorEnvName() {
  function toggleEquationEnv (line 239) | function toggleEquationEnv() {
  function closeEnv (line 248) | function closeEnv() {
  function changeHostName (line 257) | async function changeHostName() {
  function resetHostName (line 276) | function resetHostName() {
  function actions (line 282) | async function actions() {
  function insertSnippet (line 291) | async function insertSnippet(name: 'wrapEnv' | 'item') {
  function onEnterKey (line 314) | function onEnterKey(modifiers?: string) {
  function toggleSelectedKeyword (line 375) | async function toggleSelectedKeyword(keyword: string) {
  function shiftSectioningLevel (line 425) | function shiftSectioningLevel(change: 'promote' | 'demote') {
  function selectSection (line 429) | function selectSection() {
  function devParseLog (line 433) | function devParseLog() {
  function devParseTeX (line 440) | async function devParseTeX() {
  function devParseBib (line 448) | async function devParseBib() {
  function checkCitations (line 459) | async function checkCitations() {
  function devStripText (line 491) | async function devStripText() {
  function texdoc (line 499) | function texdoc(packageName?: string) {
  function texdocUsepackages (line 503) | function texdocUsepackages() {
  function saveActive (line 507) | async function saveActive() {
  function openMathPreviewPanel (line 512) | function openMathPreviewPanel() {
  function closeMathPreviewPanel (line 516) | function closeMathPreviewPanel() {
  function toggleMathPreviewPanel (line 520) | function toggleMathPreviewPanel() {
  function quickPickRootFile (line 524) | async function quickPickRootFile(rootFile: string, localRootFile: string...

FILE: src/core/event.ts
  type Events (line 9) | enum Events {
  type EventArgs (line 32) | type EventArgs = {
  function dispose (line 44) | function dispose() {
  function fire (line 51) | function fire(eventName: Events, arg?: any): void {
  function on (line 58) | function on(eventName: Events, cb: (arg?: any) => void): Disposable {

FILE: src/core/file.ts
  function initialize (line 37) | function initialize() {
  function setExtraTeXExts (line 43) | function setExtraTeXExts() {
  function createTmpDir (line 62) | function createTmpDir(): string {
  function handleTmpDirError (line 86) | function handleTmpDirError(error: Error) {
  function hasTeXExt (line 112) | function hasTeXExt(extname: string): boolean {
  function hasBinaryExt (line 139) | function hasBinaryExt(extname: string): boolean {
  function hasAlwaysRootExt (line 156) | function hasAlwaysRootExt(extname: string) {
  function hasLaTeXLangId (line 167) | function hasLaTeXLangId(langId: string): boolean {
  function hasLaTeXClassPackageLangId (line 178) | function hasLaTeXClassPackageLangId(langId: string): boolean {
  function hasTeXLangId (line 189) | function hasTeXLangId(langId: string): boolean {
  function hasBibLangId (line 199) | function hasBibLangId(langId: string): boolean {
  function hasDtxLangId (line 209) | function hasDtxLangId(langId: string): boolean {
  function hasLaTeXWorkshopLangId (line 213) | function hasLaTeXWorkshopLangId(langId: string): boolean {
  function setTeXDirs (line 248) | function setTeXDirs(tex: string, out?: string, aux?: string) {
  function getOutDir (line 283) | function getOutDir(texPath?: string): string {
  function getAuxDir (line 319) | function getAuxDir(texPath?: string): string {
  function getLangId (line 353) | function getLangId(filename: string): string | undefined {
  function getJobname (line 381) | function getJobname(texPath: string): string {
  function getPdfPath (line 399) | function getPdfPath(texPath: string): string {
  function getFlsPath (line 416) | async function getFlsPath(texPath: string): Promise<string | undefined> {
  function kpsewhich (line 457) | function kpsewhich(target: string, isBib: boolean = false): string | und...
  function getBibPath (line 510) | async function getBibPath(bib: string, baseDir: string): Promise<string[...
  function read (line 566) | async function read(filePathOrUri: string | vscode.Uri, raise?: boolean)...
  function exists (line 598) | async function exists(uri: vscode.Uri | string): Promise<vscode.FileStat...
  function toUri (line 615) | function toUri(filePath: string): vscode.Uri {

FILE: src/core/root.ts
  function find (line 43) | async function find(): Promise<undefined> {
  function getIndicator (line 97) | function getIndicator(): RegExp {
  function getWorkspace (line 129) | function getWorkspace(filePath?: string): vscode.Uri | undefined {
  function findFromMagic (line 157) | async function findFromMagic(): Promise<string | undefined> {
  function findFromRoot (line 208) | function findFromRoot(): string | undefined {
  function findFromActive (line 235) | async function findFromActive(): Promise<string | undefined> {
  function findSubfiles (line 275) | async function findSubfiles(content: string): Promise<string | undefined> {
  function findInWorkspace (line 299) | async function findInWorkspace(): Promise<string | undefined> {

FILE: src/core/watcher.ts
  class Watcher (line 7) | class Watcher {
    method watchers (line 12) | private get watchers() {
    method onCreateHandlers (line 20) | private get onCreateHandlers() {
    method onChangeHandlers (line 27) | private get onChangeHandlers() {
    method onDeleteHandlers (line 34) | private get onDeleteHandlers() {
    method constructor (line 50) | constructor(readonly fileExt: '.*' | '.bib' | '.pdf' = '.*') {}
    method onCreate (line 57) | onCreate(handler: (uri: vscode.Uri) => void) {
    method onChange (line 66) | onChange(handler: (uri: vscode.Uri) => void) {
    method onDelete (line 75) | onDelete(handler: (uri: vscode.Uri) => void) {
    method createWatcher (line 86) | private createWatcher(globPattern: vscode.GlobPattern): vscode.FileSys...
    method onDidChange (line 100) | private async onDidChange(event: 'create' | 'change', uri: vscode.Uri)...
    method handleNonBinaryFileChange (line 122) | private handleNonBinaryFileChange(event: string, uri: vscode.Uri): void {
    method initiatePolling (line 140) | private async initiatePolling(uri: vscode.Uri): Promise<void> {
    method handlePolling (line 166) | private async handlePolling(uri: vscode.Uri, firstChangeTime: number, ...
    method onDidDelete (line 202) | private async onDidDelete(uri: vscode.Uri): Promise<void> {
    method disposeWatcher (line 239) | private disposeWatcher(folder: string): void {
    method add (line 257) | add(uri: vscode.Uri) {
    method remove (line 280) | remove(uri: vscode.Uri) {
    method has (line 290) | has(uri: vscode.Uri): boolean {
    method reset (line 297) | reset() {

FILE: src/extras/activity-bar.ts
  function buildNode (line 6) | function buildNode(parent: LaTeXCommand, children: LaTeXCommand[]) {
  function buildCommandTree (line 15) | async function buildCommandTree(): Promise<LaTeXCommand[]> {
  function update (line 82) | async function update() {
  class CommandProvider (line 87) | class CommandProvider implements vscode.TreeDataProvider<LaTeXCommand> {
    method getTreeItem (line 91) | getTreeItem(element: LaTeXCommand): vscode.TreeItem {
    method getChildren (line 98) | async getChildren(element?: LaTeXCommand): Promise<LaTeXCommand[]> {
    method getParent (line 109) | getParent(element: LaTeXCommand) {
  class LaTeXCommand (line 114) | class LaTeXCommand {
    method constructor (line 120) | constructor(

FILE: src/extras/checkcites.ts
  function checkCitations (line 8) | function checkCitations() {

FILE: src/extras/cleaner.ts
  function unique (line 18) | function unique(sequence: string[]): string[] {
  function globAll (line 29) | function globAll(globs: string[], cwd: string): string[] {
  function globAllMultipleCwds (line 37) | function globAllMultipleCwds(globs: string[], cwds: string[]): string[] {
  function clean (line 44) | async function clean(rootFile?: string): Promise<void> {
  function splitGlobs (line 84) | function splitGlobs(globs: string[]): { fileOrFolderGlobs: string[], fol...
  function cleanGlob (line 111) | async function cleanGlob(rootFile: string): Promise<void> {
  function cleanCommand (line 161) | function cleanCommand(rootFile: string): Promise<void> {

FILE: src/extras/counter.ts
  function loadConfigs (line 36) | function loadConfigs(scope?: vscode.ConfigurationScope | undefined) {
  function updateWordCount (line 52) | function updateWordCount() {
  function count (line 62) | function count(file: string, merge: boolean = true, manual: boolean = fa...
  function runTeXCount (line 84) | function runTeXCount(file: string, merge: boolean = true): Promise<boole...

FILE: src/extras/liveshare.ts
  function isGuest (line 82) | function isGuest() {
  function isHost (line 86) | function isHost() {
  function getApi (line 90) | function getApi() {
  function setRole (line 98) | function setRole(role: vsls.Role) {
  function initGuest (line 110) | async function initGuest() {
  function initHost (line 115) | async function initHost() {
  function getHostServerPort (line 124) | async function getHostServerPort(reset: boolean = false): Promise<number> {
  function shareServer (line 143) | async function shareServer() {
  function connectHost (line 155) | async function connectHost() {
  function resetConnection (line 200) | function resetConnection() {
  function connectionHandler (line 206) | function connectionHandler(msg: string): void {
  function reconnect (line 229) | async function reconnect() {
  function register (line 251) | function register(client?: Client) {
  function sendToHost (line 261) | function sendToHost(message: ClientRequest) {
  function handleCommandSyncTeX (line 272) | function handleCommandSyncTeX(): boolean {
  function handleViewerRefresh (line 290) | function handleViewerRefresh(pdfFile?: string, clientSet?: Set<Client>) {
  function handleViewerReverseSyncTeX (line 302) | function handleViewerReverseSyncTeX(websocket: ws, uri: vscode.Uri, data...
  function handleViewerSyncTeX (line 326) | function handleViewerSyncTeX(websocket: ws, data: ClientRequest): boolean {
  function handleServerRequest (line 353) | async function handleServerRequest(request: http.IncomingMessage, respon...
  function sleep (line 399) | async function sleep(timeout: number) {

FILE: src/extras/math-fixer.ts
  type MathMode (line 7) | enum MathMode {
  class MathFixer (line 16) | class MathFixer {
    method getEdits (line 29) | public getEdits(text: string): vscode.TextEdit[] {
  function fixMath (line 115) | function fixMath(document: vscode.TextDocument, range: vscode.Range | un...

FILE: src/extras/quote-fixer.ts
  constant QUOTE_PATTERN (line 7) | const QUOTE_PATTERN = /"([^"]*)"/g
  class QuoteFixer (line 12) | class QuoteFixer {
    method getEdits (line 20) | public getEdits(text: string): vscode.TextEdit[] {
  function fixQuotes (line 81) | function fixQuotes(document: vscode.TextDocument, range: vscode.Range | ...

FILE: src/extras/section.ts
  type MatchSection (line 11) | interface MatchSection {
  function section (line 28) | function section(action: 'promote' | 'demote' | 'select') {
  function shiftSection (line 40) | function shiftSection(change: 'promote' | 'demote') {
  function searchLevelUp (line 131) | function searchLevelUp(pos: vscode.Position, doc: vscode.TextDocument): ...
  function searchLevelDown (line 154) | function searchLevelDown(remainlevels: string[], pos: vscode.Position, d...
  function selectSection (line 169) | function selectSection() {

FILE: src/extras/snippet-view.ts
  type SnippetViewResult (line 12) | type SnippetViewResult = RenderResult | {
  type RenderResult (line 17) | type RenderResult = {
  function render (line 23) | async function render(pdfFileUri: vscode.Uri, opts: { height: number, wi...
  function receive (line 55) | function receive(message: SnippetViewResult) {
  class SnippetViewProvider (line 66) | class SnippetViewProvider implements vscode.WebviewViewProvider {
    method resolveWebviewView (line 69) | public async resolveWebviewView(webviewView: vscode.WebviewView) {

FILE: src/extras/texdoc.ts
  function runTexdoc (line 11) | function runTexdoc(packageName: string) {
  function texdoc (line 52) | function texdoc(packageName?: string, useonly = false) {

FILE: src/extras/texroot.ts
  function getFileName (line 9) | function getFileName(file: string): string {
  function texroot (line 17) | function texroot() {

FILE: src/language/definition.ts
  class DefinitionProvider (line 9) | class DefinitionProvider implements vscode.DefinitionProvider {
    method onAFilename (line 10) | private async onAFilename(document: vscode.TextDocument, position: vsc...
    method provideDefinition (line 56) | async provideDefinition(document: vscode.TextDocument, position: vscod...

FILE: src/language/folding.ts
  class FoldingProvider (line 3) | class FoldingProvider implements vscode.FoldingRangeProvider {
    method constructor (line 6) | constructor() {
    method provideFoldingRanges (line 11) | public provideFoldingRanges(
    method buildSectionRegex (line 19) | protected buildSectionRegex(sections: string[]) {
    method getSectionFoldingRanges (line 23) | protected getSectionFoldingRanges(document: vscode.TextDocument) {
    method getEnvironmentFoldingRanges (line 85) | protected getEnvironmentFoldingRanges(document: vscode.TextDocument) {
  class DoctexFoldingProvider (line 133) | class DoctexFoldingProvider extends FoldingProvider {
    method buildSectionRegex (line 135) | protected buildSectionRegex(sections: string[]) {
    method getEnvironmentFoldingRanges (line 139) | protected getEnvironmentFoldingRanges(document: vscode.TextDocument) {
  class WeaveFoldingProvider (line 206) | class WeaveFoldingProvider implements vscode.FoldingRangeProvider {
    method provideFoldingRanges (line 207) | public provideFoldingRanges(

FILE: src/language/l10n.ts
  function retrieveLangString (line 7) | async function retrieveLangString() {
  function getLocaleString (line 16) | async function getLocaleString(key: string): Promise<string> {

FILE: src/language/selection.ts
  function inNode (line 8) | function inNode(position: vscode.Position, node: Ast.Node) {
  function findArg (line 27) | function findArg(position: vscode.Position, node: Ast.Node, stack: Ast.N...
  function findNode (line 43) | function findNode(position: vscode.Position, node: Ast.Node, stack: Ast....
  function nodeStackToSelectionRange (line 60) | function nodeStackToSelectionRange(stack: Ast.Node[]): vscode.SelectionR...
  class SelectionRangeProvider (line 70) | class SelectionRangeProvider implements vscode.SelectionRangeProvider {
    method provideSelectionRanges (line 71) | async provideSelectionRanges(document: vscode.TextDocument, positions:...

FILE: src/language/symbol-document.ts
  class DocSymbolProvider (line 8) | class DocSymbolProvider implements vscode.DocumentSymbolProvider {
    method provideDocumentSymbols (line 10) | async provideDocumentSymbols(document: vscode.TextDocument): Promise<v...
    method sectionToKind (line 23) | private sectionToKind(section: TeXElement): vscode.SymbolKind {
    method sectionToSymbols (line 45) | private sectionToSymbols(sections: TeXElement[]): vscode.DocumentSymbo...

FILE: src/language/symbol-project.ts
  class ProjectSymbolProvider (line 6) | class ProjectSymbolProvider implements vscode.WorkspaceSymbolProvider {
    method provideWorkspaceSymbols (line 8) | async provideWorkspaceSymbols(): Promise<vscode.SymbolInformation[]> {
    method sectionToSymbols (line 16) | private sectionToSymbols(sections: TeXElement[], containerName: string...

FILE: src/lint/bibtex-formatter.ts
  function format (line 18) | async function format(sort: boolean, align: boolean) {
  function formatDocument (line 52) | async function formatDocument(document: vscode.TextDocument, sort: boole...
  class FormattingProvider (line 146) | class FormattingProvider implements vscode.DocumentFormattingEditProvide...
    method provideDocumentFormattingEdits (line 147) | public provideDocumentFormattingEdits(document: vscode.TextDocument, _...
    method provideDocumentRangeFormattingEdits (line 153) | public provideDocumentRangeFormattingEdits(document: vscode.TextDocume...

FILE: src/lint/bibtex-formatter/utils.ts
  type BibtexEntry (line 8) | type BibtexEntry = bibtexParser.Entry | bibtexParser.StringEntry
  function getBibtexFormatTab (line 16) | function getBibtexFormatTab(tab: string): string | undefined {
  type BibtexFormatConfig (line 30) | type BibtexFormatConfig = {
  function getBibtexFormatConfig (line 46) | function getBibtexFormatConfig(scope: vscode.ConfigurationScope | undefi...
  function bibtexSort (line 78) | function bibtexSort(duplicates: Set<bibtexParser.Entry>, config: BibtexF...
  function bibtexSortSwitch (line 82) | function bibtexSortSwitch(a: BibtexEntry, b: BibtexEntry, duplicates: Se...
  function bibtexSortFirstEntries (line 123) | function bibtexSortFirstEntries(firstEntries: string[], a: BibtexEntry, ...
  function bibtexSortByField (line 148) | function bibtexSortByField(fieldName: string, a: BibtexEntry, b: BibtexE...
  function bibtexSortByKey (line 155) | function bibtexSortByKey(a: BibtexEntry, b: BibtexEntry): number {
  function bibtexSortByType (line 175) | function bibtexSortByType(a: BibtexEntry, b: BibtexEntry): number {
  function bibtexSortByMonth (line 179) | function bibtexSortByMonth(a: BibtexEntry, b: BibtexEntry, config: Bibte...
  function bibtexFormat (line 188) | function bibtexFormat(entry: bibtexParser.Entry, config: BibtexFormatCon...
  function getFieldString (line 232) | function getFieldString(entry: BibtexEntry, fieldName: string, config: B...
  function fieldToString (line 248) | function fieldToString(field: bibtexParser.FieldValue, prefix: string, c...
  function bibtexSortFields (line 277) | function bibtexSortFields(keys: string[]): (a: bibtexParser.Field, b: bi...

FILE: src/lint/duplicate-label.ts
  function computeDuplicates (line 15) | function computeDuplicates(): string[] {
  function check (line 43) | function check() {
  function showDiagnostics (line 52) | function showDiagnostics(duplicates: string[]) {
  function reset (line 87) | function reset() {

FILE: src/lint/latex-code-actions.ts
  constant CODE_TO_ACTION_STRING (line 12) | const CODE_TO_ACTION_STRING: {[key: number]: string} = {
  function characterBeforeRange (line 35) | function characterBeforeRange(document: vscode.TextDocument, range: vsco...
  function isOpeningQuote (line 39) | function isOpeningQuote(document: vscode.TextDocument, range: vscode.Ran...
  class CodeActionProvider (line 43) | class CodeActionProvider implements vscode.CodeActionProvider {
    method provideCodeActions (line 45) | provideCodeActions(document: vscode.TextDocument, _range: vscode.Range...
  function action (line 71) | function action(document: vscode.TextDocument, range: vscode.Range, code...
  function replaceWhitespaceOnLineBefore (line 151) | function replaceWhitespaceOnLineBefore(document: vscode.TextDocument, po...
  function replaceRangeWithString (line 165) | function replaceRangeWithString(document: vscode.TextDocument, range: vs...
  function replaceRangeWithRepeatedString (line 171) | function replaceRangeWithRepeatedString(document: vscode.TextDocument, r...
  function replaceMathDelimitersInRange (line 175) | function replaceMathDelimitersInRange(document: vscode.TextDocument, ran...

FILE: src/lint/latex-formatter.ts
  class FormattingProvider (line 15) | class FormattingProvider implements vscode.DocumentFormattingEditProvide...
    method formatter (line 16) | private get formatter(): LaTeXFormatter | undefined {
    method provideDocumentFormattingEdits (line 34) | public async provideDocumentFormattingEdits(document: vscode.TextDocum...
    method provideDocumentRangeFormattingEdits (line 47) | public async provideDocumentRangeFormattingEdits(document: vscode.Text...

FILE: src/lint/latex-formatter/latexindent.ts
  function formatDocument (line 28) | async function formatDocument(document: vscode.TextDocument, range?: vsc...
  function checkPath (line 56) | function checkPath(): Thenable<boolean> {
  function format (line 116) | function format(document: vscode.TextDocument, range?: vscode.Range): Th...

FILE: src/lint/latex-formatter/tex-fmt.ts
  function formatDocument (line 14) | async function formatDocument(document: vscode.TextDocument, range?: vsc...

FILE: src/lint/latex-linter.ts
  function getLinters (line 16) | function getLinters(scope?: vscode.ConfigurationScope): LaTeXLinter[] {
  function root (line 32) | function root() {
  function on (line 44) | function on(document: vscode.TextDocument) {

FILE: src/lint/latex-linter/chktex.ts
  function lintRootFile (line 24) | async function lintRootFile(rootPath: string) {
  function lintFile (line 36) | async function lintFile(document: vscode.TextDocument) {
  function chktexWrapper (line 50) | async function chktexWrapper(linterid: string, configScope: vscode.Confi...
  function getRcPath (line 78) | function getRcPath() {
  function globalRcPath (line 102) | function globalRcPath(): string | undefined {
  function getChktexrcTabSize (line 133) | function getChktexrcTabSize(file: string): number | undefined {
  function parseLog (line 169) | function parseLog(log: string, singleFileOriginalPath?: string, tabSizeA...
  function callConvertColumn (line 205) | function callConvertColumn(column: number, filePathArg: string, line: nu...
  function convertColumn (line 235) | function convertColumn(colArg: number, lineString: string, tabSize = 8):...
  function showLinterDiagnostics (line 254) | function showLinterDiagnostics(linterLog: ChkTeXLogEntry[]) {
  type ChkTeXLogEntry (line 287) | interface ChkTeXLogEntry {
  constant DIAGNOSTIC_SEVERITY (line 297) | const DIAGNOSTIC_SEVERITY: { [key: string]: vscode.DiagnosticSeverity } = {

FILE: src/lint/latex-linter/lacheck.ts
  function lintRootFile (line 23) | async function lintRootFile(rootPath: string) {
  function lintFile (line 32) | async function lintFile(document: vscode.TextDocument) {
  function lacheckWrapper (line 44) | async function lacheckWrapper(linterid: string, configScope: vscode.Conf...
  function parseLog (line 65) | function parseLog(log: string, filePath?: string) {
  function showLinterDiagnostics (line 106) | function showLinterDiagnostics(linterLog: LaCheckLogEntry[]) {
  type LaCheckLogEntry (line 138) | interface LaCheckLogEntry {

FILE: src/lint/latex-linter/utils.ts
  function processWrapper (line 7) | function processWrapper(linterId: string, proc: ChildProcessWithoutNullS...

FILE: src/locate/pair.ts
  type PairType (line 17) | enum PairType { ENVIRONMENT, DISPLAYMATH, INLINEMATH, MACRO}
  class MacroPair (line 30) | class MacroPair {
    method constructor (line 36) | constructor(
    method startContains (line 51) | startContains(pos: vscode.Position): boolean {
    method endContains (line 59) | endContains(pos: vscode.Position): boolean {
  function build (line 83) | async function build(document: vscode.TextDocument): Promise<MacroPair[]> {
  function buildMacroPairTreeFromNode (line 115) | function buildMacroPairTreeFromNode(doc: vscode.TextDocument, node: Ast....
  function locateSurroundingPair (line 240) | async function locateSurroundingPair(pos: vscode.Position, doc: vscode.T...
  function walkThruForSurroundingPairs (line 258) | function walkThruForSurroundingPairs(pos: vscode.Position, macroPairTree...
  function locatePairsAtDepth (line 287) | async function locatePairsAtDepth(pos: vscode.Position, doc: vscode.Text...
  function walkThruForPairsNextToPosition (line 305) | function walkThruForPairsNextToPosition(pos: vscode.Position, macroPairT...
  function goto (line 343) | async function goto() {
  function name (line 395) | async function name(action: 'selection'|'cursor'|'equationToggle') {
  function select (line 480) | async function select(mode: 'content' | 'whole') {
  function close (line 518) | async function close() {

FILE: src/locate/synctex.ts
  function parseToPDF (line 38) | function parseToPDF(result: string): SyncTeXRecordToPDF {
  function parseToPDFList (line 84) | function parseToPDFList(result: string): SyncTeXRecordToPDFAll[] {
  function getCurrentEditorCoordinates (line 187) | function getCurrentEditorCoordinates(): {line: number, column: number, i...
  function synctexToPDFCombined (line 225) | async function synctexToPDFCombined(line: number, col: number, filePath:...
  function toPDF (line 253) | function toPDF(pdfUri?: vscode.Uri, args?: {line: number, filePath: stri...
  function callSyncTeXToPDF (line 320) | function callSyncTeXToPDF(line: number, col: number, filePath: string, p...
  function toPDFFromRef (line 387) | function toPDFFromRef(args: {line: number, filePath: string}) {
  function toTeX (line 474) | async function toTeX(data: Extract<ClientRequest, {type: 'reverse_syncte...
  function computeToTeX (line 487) | async function computeToTeX(data: Extract<ClientRequest, {type: 'reverse...
  function openTeX (line 540) | async function openTeX(input: string, line: number, column: number, text...
  function findTab (line 580) | function findTab(doc: vscode.TextDocument): vscode.Tab | undefined {
  function getViewColumnOfVisibleTextEditor (line 609) | function getViewColumnOfVisibleTextEditor(): vscode.ViewColumn | undefin...
  function getRowAndColumn (line 629) | function getRowAndColumn(doc: vscode.TextDocument, row: number, textBefo...
  function getColumnBySurroundingText (line 663) | function getColumnBySurroundingText(line: string, textBeforeSelectionFul...
  function indexes (line 714) | function indexes(source: string, find: string) {
  function animateToNotify (line 734) | function animateToNotify(editor: vscode.TextEditor, position: vscode.Pos...
  function syncTeXExternal (line 761) | function syncTeXExternal(line: number, pdfUri: vscode.Uri, rootFile: str...

FILE: src/locate/synctex/synctexjs.ts
  type Block (line 31) | type Block = {
  function isBlock (line 47) | function isBlock(b: Block | Page): b is Block {
  type InputFile (line 51) | type InputFile = {
  type InputFiles (line 55) | type InputFiles = { [fileNumber: string]: InputFile }
  type Page (line 57) | type Page = {
  type Pages (line 63) | type Pages = { [pageNum: string]: Page }
  type BlockNumberLine (line 65) | type BlockNumberLine = {
  type PdfSyncObject (line 73) | type PdfSyncObject = {
  function parseSyncTex (line 86) | function parseSyncTex(pdfsyncBody: string): PdfSyncObject | undefined {

FILE: src/locate/synctex/worker.ts
  class Rectangle (line 19) | class Rectangle {
    method constructor (line 25) | constructor( {top, bottom, left, right}: { top: number, bottom: number...
    method include (line 32) | include(rect: Rectangle): boolean {
    method distanceY (line 36) | distanceY(y: number): number {
    method distanceXY (line 40) | distanceXY(x: number, y: number): number {
    method distanceFromCenter (line 44) | distanceFromCenter(x: number, y: number): number {
  function getBlocks (line 49) | function getBlocks(linePageBlocks: { [inputLineNum: number]: { [pageNum:...
  function toRect (line 62) | function toRect(blocks: any): Rectangle {
  function parseSyncTexForPdf (line 95) | async function parseSyncTexForPdf(pdfUri: vscode.Uri): Promise<PdfSyncOb...
  function findInputFilePathForward (line 124) | function findInputFilePathForward(filePath: string, pdfSyncObject: PdfSy...
  function syncTeXToPDF (line 146) | async function syncTeXToPDF(line: number, filePath: string, pdfUri: vsco...
  function syncTeXToTeX (line 181) | async function syncTeXToTeX(page: number, x: number, y: number, pdfUri: ...
  function convInputFilePath (line 240) | function convInputFilePath(inputFilePath: string): string | undefined {

FILE: src/lw.ts
  function onConfigChange (line 104) | function onConfigChange(configs?: string | string[], callback?: () => vo...
  function onDispose (line 127) | function onDispose(disposable?: vscode.Disposable, extensionDisposables?...

FILE: src/main.ts
  function activate (line 45) | function activate(extensionContext: vscode.ExtensionContext) {
  function registerLatexWorkshopCommands (line 167) | function registerLatexWorkshopCommands(extensionContext: vscode.Extensio...
  function registerProviders (line 247) | function registerProviders(extensionContext: vscode.ExtensionContext) {
  function conflictCheck (line 341) | function conflictCheck() {
  function selectDocumentsWithId (line 350) | function selectDocumentsWithId(ids: string[]): vscode.DocumentSelector {

FILE: src/outline/structure.ts
  function reconstruct (line 27) | async function reconstruct() {
  function refresh (line 34) | async function refresh(fireChangedEvent: boolean = true) {
  function reveal (line 43) | function reveal(e: vscode.TextEditorSelectionChangeEvent) {
  function build (line 58) | async function build(force: boolean): Promise<TeXElement[]> {
  function getCachedDataRootFileName (line 88) | function getCachedDataRootFileName(sections: TeXElement[]): string | und...
  function getChildPaths (line 92) | function getChildPaths(section: TeXElement, paths: Set<string> = new Set...
  function traverseSectionTree (line 100) | function traverseSectionTree(sections: TeXElement[], filePath: string, l...
  class StructureProvider (line 112) | class StructureProvider implements vscode.TreeDataProvider<TeXElement> {
    method getTreeItem (line 116) | getTreeItem(element: TeXElement): vscode.TreeItem {
    method getChildren (line 132) | getChildren(element?: TeXElement): vscode.ProviderResult<TeXElement[]> {
    method getParent (line 139) | getParent(element?: TeXElement): TeXElement | undefined {

FILE: src/outline/structure/bibtex.ts
  function fieldValueToString (line 14) | function fieldValueToString(field: bibtexParser.FieldValue, abbreviation...
  function buildBibTeX (line 24) | async function buildBibTeX(document: vscode.TextDocument): Promise<TeXEl...

FILE: src/outline/structure/doctex.ts
  function construct (line 9) | async function construct(document: vscode.TextDocument): Promise<TeXElem...
  function getDoc (line 21) | function getDoc(content: string) {
  function getToC (line 48) | async function getToC(document: vscode.TextDocument, docContent: string) {

FILE: src/outline/structure/latex.ts
  type StructureConfig (line 14) | type StructureConfig = {
  type FileStructureCache (line 25) | type FileStructureCache = {
  function construct (line 30) | async function construct(filePath: string | undefined = undefined, subFi...
  function constructFile (line 55) | async function constructFile(filePath: string, config: StructureConfig, ...
  function chooseCaption (line 86) | function chooseCaption(...args: (Ast.Argument | undefined)[]): string {
  function parseNode (line 95) | async function parseNode(
  function insertSubFile (line 247) | function insertSubFile(structs: FileStructureCache, struct?: TeXElement[...
  function nestNonSection (line 269) | function nestNonSection(struct: TeXElement[]): TeXElement[] {
  function nestSection (line 288) | function nestSection(struct: TeXElement[], config: StructureConfig): TeX...
  function fixSectionToLine (line 315) | function fixSectionToLine(structure: TeXElement[], config: StructureConf...
  function addFloatNumber (line 336) | function addFloatNumber(struct: TeXElement[], counter: {[env: string]: n...
  function addSectionNumber (line 351) | function addSectionNumber(struct: TeXElement[], config: StructureConfig,...
  function parseRnwChildMacro (line 385) | async function parseRnwChildMacro(content: string, file: string, rootFil...
  function refreshLaTeXModelConfig (line 399) | function refreshLaTeXModelConfig(subFile: boolean = true, defaultFloats ...

FILE: src/parse/find.ts
  constant ENV_NAMES (line 5) | const ENV_NAMES = [
  function findTeX (line 9) | function findTeX(document: vscode.TextDocument, position: vscode.Positio...
  function findHoverOnEnv (line 28) | function findHoverOnEnv(document: vscode.TextDocument, envname: string, ...
  function findHoverOnParen (line 42) | function findHoverOnParen(document: vscode.TextDocument, envname: string...
  function findHoverOnInline (line 53) | function findHoverOnInline(document: vscode.TextDocument, position: vsco...
  function findEndPair (line 81) | function findEndPair(document: vscode.TextDocument, endPat: RegExp, star...
  function getFirstRememberedSubstring (line 100) | function getFirstRememberedSubstring(s: string, pat: RegExp): string {
  constant MATH_ENV_NAMES (line 108) | const MATH_ENV_NAMES = [
  function findMath (line 112) | function findMath(document: vscode.TextDocument, position: vscode.Positi...
  function findBeginPair (line 137) | function findBeginPair(document: vscode.TextDocument, beginPat: RegExp, ...

FILE: src/parse/newcommandfinder.ts
  function findMacros (line 8) | async function findMacros(ctoken?: vscode.CancellationToken): Promise<st...
  function parseAst (line 39) | function parseAst(content: string, node: Ast.Node): string[] {
  function resolveMacroDefFile (line 73) | async function resolveMacroDefFile(filepath: string): Promise<string | u...

FILE: src/parse/parser.ts
  function tex (line 36) | async function tex(content: string): Promise<Ast.Root> {
  function args (line 40) | async function args(ast: Ast.Root): Promise<void> {
  function reset (line 44) | async function reset() {
  function bib (line 48) | async function bib(uri: vscode.Uri, s: string): Promise<bibtexParser.Bib...
  function stringify (line 68) | function stringify(ast: Ast.Ast): string {
  function log (line 99) | function log(msg: string, rootFile?: string): boolean {
  function trimLaTeXmk (line 130) | function trimLaTeXmk(msg: string): string {
  function trimLaTeXmkBibTeX (line 134) | function trimLaTeXmkBibTeX(msg: string): string {
  function trimLaTeXmkBiber (line 138) | function trimLaTeXmkBiber(msg: string): string {
  function trimTexify (line 142) | function trimTexify(msg: string): string {
  function trimPattern (line 152) | function trimPattern(msg: string, beginPattern: RegExp, endPattern: RegE...
  function latexmkSkipped (line 175) | function latexmkSkipped(msg: string): boolean {
  function clearLog (line 185) | function clearLog() {

FILE: src/parse/parser/biberlog.ts
  function clearLog (line 23) | function clearLog() {
  function showLog (line 27) | function showLog() {
  function parse (line 31) | function parse(log: string, rootFile?: string) {
  function parseLine (line 60) | function parseLine(line: string, bibFileStack: string[], excludeRegexp: ...
  function pushLog (line 94) | function pushLog(type: string, file: string, message: string, line: numb...
  function resolveBibFile (line 103) | function resolveBibFile(filename: string, rootFile: string): string {
  function findKeyLocation (line 117) | function findKeyLocation(key: string): {file: string, line: number} | un...

FILE: src/parse/parser/bibtexlog.ts
  function clearLog (line 25) | function clearLog() {
  function showLog (line 29) | function showLog() {
  function parse (line 33) | function parse(log: string, rootFile?: string) {
  function pushLog (line 83) | function pushLog(type: string, file: string, message: string, line: numb...
  function resolveAuxFile (line 92) | function resolveAuxFile(filename: string, rootFile: string): string {
  function resolveBibFile (line 107) | function resolveBibFile(filename: string, rootFile: string): string {
  function findKeyLocation (line 121) | function findKeyLocation(key: string): {file: string, line: number} | un...

FILE: src/parse/parser/latexlog.ts
  constant UNDEFINED_REFERENCE (line 25) | const UNDEFINED_REFERENCE = /^LaTeX Warning: (Reference|Citation) `(.*?)...
  function clearLog (line 45) | function clearLog() {
  function showLog (line 49) | function showLog() {
  type ParserState (line 53) | type ParserState = {
  function initParserState (line 63) | function initParserState(rootFile: string): ParserState {
  function parse (line 75) | function parse(log: string, rootFile?: string) {
  function parseLine (line 100) | function parseLine(line: string, state: ParserState) {
  function parseUndefinedReference (line 236) | function parseUndefinedReference(line: string, filename: string, state: ...
  function parseBadBox (line 260) | function parseBadBox(line: string, filename: string, state: ParserState,...
  function parseLaTeXFileStack (line 302) | function parseLaTeXFileStack(line: string, fileStack: string[], nested: ...

FILE: src/parse/parser/parserutils.ts
  type IParser (line 6) | interface IParser {
  type LogEntry (line 12) | type LogEntry = { type: string, file: string, text: string, line: number...
  function getErrorPosition (line 14) | function getErrorPosition(item: LogEntry): {start: number, end: number} ...
  constant DIAGNOSTIC_SEVERITY (line 40) | const DIAGNOSTIC_SEVERITY: { [key: string]: vscode.DiagnosticSeverity } = {
  function showCompilerDiagnostics (line 46) | function showCompilerDiagnostics(diagnostics: vscode.DiagnosticCollectio...

FILE: src/parse/parser/unified-defs.ts
  constant MACROS (line 4) | const MACROS: MacroInfoRecord = {
  constant ENVS (line 40) | const ENVS: EnvInfoRecord = {}
  function getMacroDefs (line 42) | function getMacroDefs(): MacroInfoRecord {
  function getEnvDefs (line 57) | function getEnvDefs(): EnvInfoRecord {

FILE: src/parse/parser/unified.ts
  type UnifiedParser (line 10) | type UnifiedParser = { parse: (content: string) => Ast.Root }
  function parseLaTeX (line 15) | function parseLaTeX(content: string): Ast.Root {
  function parseArgs (line 19) | function parseArgs(ast: Ast.Root, macros: Ast.MacroInfoRecord) {
  function reset (line 24) | function reset(macros: Ast.MacroInfoRecord, environments: Ast.EnvInfoRec...
  function parseBibTeX (line 29) | function parseBibTeX(s: string): bibtexParser.BibtexAst | string | undef...
  type Worker (line 49) | type Worker = typeof worker

FILE: src/preview/hover.ts
  class HoverProvider (line 16) | class HoverProvider implements vscode.HoverProvider {
    method provideHover (line 17) | public async provideHover(document: vscode.TextDocument, position: vsc...
  function provideHoverOnMacro (line 73) | function provideHoverOnMacro(token: string): vscode.Hover | undefined {

FILE: src/preview/hover/cursor.ts
  function isCursorInTeXMacro (line 16) | function isCursorInTeXMacro(document: vscode.TextDocument): boolean {
  function findCursorPosInSnippet (line 29) | function findCursorPosInSnippet(texMath: TeXMathEnv, cursorPos: vscode.P...
  function insertCursor (line 35) | async function insertCursor(texMath: TeXMathEnv, cursorPos: vscode.Posit...
  function findNodeAt (line 52) | async function findNodeAt(texMath: TeXMathEnv, cursorPos: vscode.Positio...
  function renderCursor (line 72) | async function renderCursor(document: vscode.TextDocument, texMath: TeXM...
  function isCursorInsideTexMath (line 95) | function isCursorInsideTexMath(texMathRange: vscode.Range, cursorPos: vs...

FILE: src/preview/hover/ongraphics.ts
  function onGraphics (line 8) | async function onGraphics(document: vscode.TextDocument, position: vscod...
  function graph2md (line 39) | async function graph2md(filePath: string, opts: { height: number, width:...
  function renderPdfFileAsDataUrl (line 71) | async function renderPdfFileAsDataUrl(pdfFilePath: string, opts: { heigh...
  function findFilePath (line 100) | function findFilePath(relPath: string, document: vscode.TextDocument): s...

FILE: src/preview/hover/onmath.ts
  function onMath (line 9) | async function onMath(document: vscode.TextDocument, tex: TeXMathEnv, ma...

FILE: src/preview/hover/onref.ts
  function onRef (line 9) | async function onRef(
  function onRefMathJax (line 32) | async function onRefMathJax(refData: ReferenceItem, ctoken?: vscode.Canc...
  function refNumberMessage (line 41) | function refNumberMessage(refData: Pick<ReferenceItem, 'prevIndex'>): st...
  function ref2svg (line 49) | async function ref2svg(refData: ReferenceItem, ctoken?: vscode.Cancellat...
  function replaceLabelWithTag (line 68) | function replaceLabelWithTag(tex: string, refLabel?: string, tag?: strin...
  function tex2svg (line 93) | async function tex2svg(tex: TeXMathEnv, macros?: string, texStr?: string) {

FILE: src/preview/hover/utils.ts
  function getColor (line 4) | function getColor() {
  function mathjaxify (line 8) | function mathjaxify(tex: string, envname: string, opt = { stripLabel: tr...
  function stripTeX (line 27) | function stripTeX(tex: string, macros: string): string {
  function addDummyCodeBlock (line 45) | function addDummyCodeBlock(md: string): string {
  function svg2DataUrl (line 51) | function svg2DataUrl(xml: string): string {

FILE: src/preview/math-preview-panel.ts
  type UpdateEvent (line 16) | type UpdateEvent = {
  function resourcesFolder (line 24) | function resourcesFolder(extensionRoot: string) {
  class MathPreviewPanelSerializer (line 29) | class MathPreviewPanelSerializer implements vscode.WebviewPanelSerializer {
    method deserializeWebviewPanel (line 30) | deserializeWebviewPanel(panel: vscode.WebviewPanel) {
  function open (line 51) | function open() {
  function initializePanel (line 79) | function initializePanel(panel: vscode.WebviewPanel) {
  function close (line 106) | function close() {
  function toggle (line 113) | function toggle(action?: 'open' | 'close') {
  function clearCache (line 127) | function clearCache() {
  function getHtml (line 135) | function getHtml() {
  function update (line 168) | async function update(ev?: UpdateEvent) {
  function getTexMath (line 214) | function getTexMath(document: vscode.TextDocument, position: vscode.Posi...

FILE: src/preview/mathjax.ts
  function initialize (line 22) | async function initialize() {
  function typeset (line 28) | async function typeset(arg: string, opts: { scale: number, color: string...

FILE: src/preview/mathjax/mathjax.ts
  function createHtmlConverter (line 20) | function createHtmlConverter(extensions: SupportedExtension[]) {
  function loadExtensions (line 38) | function loadExtensions(extensions: SupportedExtension[]) {
  function typeset (line 43) | function typeset(arg: string, opts: { scale: number, color: string }): s...
  type IMathJaxWorker (line 61) | type IMathJaxWorker = {

FILE: src/preview/server.ts
  class WsServer (line 18) | class WsServer extends ws.Server {
    method constructor (line 21) | constructor(server: http.Server, validOrigin: string) {
    method shouldHandle (line 31) | shouldHandle(req: http.IncomingMessage): boolean {
  function getPort (line 65) | function getPort(): number {
  function getUrl (line 74) | async function getUrl(pdfUri?: vscode.Uri): Promise<{url: string, uri: v...
  function setHandler (line 83) | function setHandler(newHandler: (url: string) => string | undefined) {
  function getValidOrigin (line 87) | function getValidOrigin(): string {
  function initialize (line 95) | function initialize(hostname?: string): http.Server {
  function obtainValidOrigin (line 129) | async function obtainValidOrigin(serverPort: number, hostname: string): ...
  function initializeWsServer (line 135) | function initializeWsServer(httpServer: http.Server, validOrigin: string) {
  function checkHttpOrigin (line 152) | function checkHttpOrigin(req: http.IncomingMessage, response: http.Serve...
  function sendOkResponse (line 169) | function sendOkResponse(response: http.ServerResponse, content: Buffer, ...
  function handler (line 189) | async function handler(request: http.IncomingMessage, response: http.Ser...
  function encodePath (line 317) | function encodePath(url: string) {
  function decodePath (line 324) | function decodePath(b64url: string) {
  function hasPrefix (line 331) | function hasPrefix(url: string) {
  function encodePathWithPrefix (line 335) | function encodePathWithPrefix(pdfFilePath: vscode.Uri) {
  function decodePathWithPrefix (line 339) | function decodePathWithPrefix(b64urlWithPrefix: string): vscode.Uri {

FILE: src/preview/viewer.ts
  function reload (line 42) | function reload(): void {
  function refresh (line 54) | function refresh(pdfUri?: vscode.Uri): void {
  function getUrl (line 74) | async function getUrl(pdfUri: vscode.Uri): Promise<string | undefined> {
  function view (line 83) | async function view(pdfUri: vscode.Uri, mode?: 'tab' | 'browser' | 'exte...
  function viewInBrowser (line 108) | async function viewInBrowser(pdfUri: vscode.Uri): Promise<void> {
  function viewInCustomEditor (line 128) | async function viewInCustomEditor(pdfUri: vscode.Uri): Promise<void> {
  function viewInWebviewPanel (line 157) | async function viewInWebviewPanel(pdfUri: vscode.Uri, tabEditorGroup: st...
  function viewInExternal (line 192) | function viewInExternal(pdfUri: vscode.Uri): void {
  function handler (line 242) | function handler(websocket: ws, msg: string): void {
  function getParams (line 320) | function getParams(): PdfViewerParams {
  function locate (line 375) | async function locate(pdfUri: vscode.Uri, record: SyncTeXRecordToPDF | S...
  function showInvisibleWebviewPanel (line 402) | function showInvisibleWebviewPanel(pdfUri: vscode.Uri): boolean {
  function getViewerState (line 432) | function getViewerState(pdfUri: vscode.Uri): (PdfViewerState | undefined...

FILE: src/preview/viewer/client.ts
  class Client (line 5) | class Client {
    method constructor (line 10) | constructor(websocket: ws, pdfFileUri: string) {
    method disposeDisposables (line 18) | private disposeDisposables() {
    method onDidDispose (line 23) | onDidDispose(cb: () => unknown) {
    method send (line 27) | send(message: ServerResponse) {

FILE: src/preview/viewer/pdfviewerhook.ts
  class PdfViewerHookProvider (line 11) | class PdfViewerHookProvider implements vscode.CustomReadonlyEditorProvid...
    method openCustomDocument (line 12) | openCustomDocument(uri: vscode.Uri) {
    method resolveCustomEditor (line 19) | async resolveCustomEditor(document: vscode.CustomDocument, webviewPane...

FILE: src/preview/viewer/pdfviewermanager.ts
  function toKey (line 16) | function toKey(pdfUri: vscode.Uri): string {
  function create (line 20) | function create(pdfUri: vscode.Uri): void {
  function getClients (line 36) | function getClients(pdfUri?: vscode.Uri): Set<Client> | undefined {
  function getPanels (line 46) | function getPanels(pdfUri: vscode.Uri): Set<PdfViewerPanel> | undefined {
  function insert (line 50) | function insert(pdfPanel: PdfViewerPanel): PdfViewerPanel | undefined {

FILE: src/preview/viewer/pdfviewerpanel.ts
  class PdfViewerPanel (line 15) | class PdfViewerPanel {
    method constructor (line 20) | constructor(pdfFileUri: vscode.Uri, panel: vscode.WebviewPanel) {
    method state (line 37) | get state() {
  class PdfViewerPanelSerializer (line 43) | class PdfViewerPanelSerializer implements vscode.WebviewPanelSerializer {
    method deserializeWebviewPanel (line 44) | async deserializeWebviewPanel(panel: vscode.WebviewPanel, argState: {s...
  function patchCodespaces (line 75) | async function patchCodespaces(url: vscode.Uri) {
  function populate (line 90) | async function populate(pdfUri: vscode.Uri, panel: vscode.WebviewPanel):...
  function getKeyboardEventConfig (line 98) | function getKeyboardEventConfig(): boolean {
  function getPDFViewerContent (line 115) | async function getPDFViewerContent(pdfUri: vscode.Uri): Promise<string> {

FILE: src/types.ts
  type FileCache (line 5) | type FileCache = {
  type StepQueue (line 49) | type StepQueue = {
  type ProcessEnv (line 61) | type ProcessEnv = {
  type Tool (line 65) | type Tool = {
  type Recipe (line 72) | type Recipe = {
  type RecipeStep (line 77) | type RecipeStep = Tool & {
  type ExternalStep (line 88) | type ExternalStep = Tool & {
  type Step (line 97) | type Step = RecipeStep | ExternalStep
  type ViewerMode (line 99) | type ViewerMode = 'browser' | 'tab' | 'external' | 'legacy' | 'singleton'
  type SyncTeXRecordToPDF (line 101) | type SyncTeXRecordToPDF = {
  type SyncTeXRecordToTeX (line 108) | type SyncTeXRecordToTeX = {
  type SyncTeXRecordToPDFAll (line 114) | type SyncTeXRecordToPDFAll = SyncTeXRecordToPDF & {
  type LaTeXLinter (line 121) | interface LaTeXLinter {
  type LaTeXFormatter (line 129) | interface LaTeXFormatter {
  type TeXElementType (line 133) | enum TeXElementType { Environment, Macro, Section, SectionAst, SubFile, ...
  type TeXElement (line 135) | type TeXElement = {
  type TeXMathEnv (line 147) | type TeXMathEnv = {
  type PackageRaw (line 153) | type PackageRaw = {
  type DependencyRaw (line 161) | type DependencyRaw = {
  type EnvironmentRaw (line 166) | type EnvironmentRaw = {
  type MacroRaw (line 173) | type MacroRaw = {
  type EnvironmentInfo (line 182) | type EnvironmentInfo = EnvironmentRaw & {
  type MacroInfo (line 187) | type MacroInfo = MacroRaw & {
  type PackageObsolete (line 191) | type PackageObsolete = {
  type CompletionArgs (line 199) | type CompletionArgs = {
  type CompletionProvider (line 206) | interface CompletionProvider {
  type CompletionItem (line 210) | interface CompletionItem extends vscode.CompletionItem {
  type CitationField (line 214) | interface CitationField extends Map<string, string> {
  type CitationItem (line 223) | interface CitationItem extends CompletionItem {
  type EnvSnippetType (line 230) | enum EnvSnippetType { AsName, AsMacro, ForBegin }
  type ReferenceItem (line 232) | interface ReferenceItem extends CompletionItem {
  type GlossaryType (line 243) | enum GlossaryType {
  type GlossaryItem (line 248) | interface GlossaryItem extends CompletionItem {

FILE: src/utils/convertfilename.ts
  function convertFilenameEncoding (line 24) | function convertFilenameEncoding(filePath: string): string | undefined {

FILE: src/utils/inputfilepath.ts
  type MatchType (line 6) | enum MatchType {
  type MatchPath (line 11) | interface MatchPath {
  class InputFileRegExp (line 19) | class InputFileRegExp {
    method execInput (line 30) | async execInput(content: string, currentFile: string, rootFile: string...
    method execChild (line 53) | async execChild(content: string, currentFile: string, rootFile: string...
    method exec (line 77) | async exec(content: string, currentFile: string, rootFile: string): Pr...
    method parseInputFilePath (line 89) | static async parseInputFilePath(match: MatchPath, currentFile: string,...
  function sanitizeInputFilePath (line 114) | function sanitizeInputFilePath(filePath: string): string {

FILE: src/utils/logger.ts
  constant LOG_PANEL (line 6) | const LOG_PANEL = vscode.window.createOutputChannel('LaTeX Workshop', 'l...
  constant COMPILER_PANEL (line 7) | const COMPILER_PANEL = vscode.window.createOutputChannel('LaTeX Compiler')
  constant STATUS_ITEM (line 8) | const STATUS_ITEM = vscode.window.createStatusBarItem(vscode.StatusBarAl...
  constant PLACEHOLDERS (line 9) | const PLACEHOLDERS: {[placeholder: string]: string} = {}
  constant CACHED_EXTLOG (line 12) | let CACHED_EXTLOG: string[] = []
  constant CACHED_COMPILER (line 13) | let CACHED_COMPILER: string[] = []
  function resetCachedLog (line 26) | function resetCachedLog() {
  function getCachedLog (line 31) | function getCachedLog() {
  function getLogger (line 35) | function getLogger(...tags: string[]) {
  function logTagless (line 62) | function logTagless(message: string) {
  function applyPlaceholders (line 84) | function applyPlaceholders(message: string) {
  function logCommand (line 89) | function logCommand(message: string, command: string, args: string[] = [...
  function logUtensilsError (line 93) | function logUtensilsError(message: string, error: Error) {
  function logError (line 101) | function logError(message: string, error: unknown, stderr?: string) {
  function logCompiler (line 117) | function logCompiler(message: string) {
  function initStatusBarItem (line 122) | function initStatusBarItem() {
  function clearCompilerMessage (line 128) | function clearCompilerMessage() {
  function showLog (line 133) | function showLog() {
  function showCompilerLog (line 137) | function showCompilerLog() {
  function showStatus (line 141) | function showStatus() {
  function refreshStatus (line 145) | function refreshStatus(
  function showErrorMessage (line 179) | function showErrorMessage(message: string, ...args: string[]): Thenable<...
  function showErrorMessageWithCompilerLogButton (line 187) | function showErrorMessageWithCompilerLogButton(message: string) {
  function showErrorMessageWithExtensionLogButton (line 205) | function showErrorMessageWithExtensionLogButton(message: string) {
  type Configs (line 224) | type Configs = {
  type PackageJSON (line 231) | type PackageJSON = {
  function getDefaultConfig (line 244) | function getDefaultConfig() {
  function logConfig (line 251) | function logConfig() {
  function logDeprecatedConfig (line 266) | function logDeprecatedConfig() {
  function logConfigChange (line 284) | function logConfigChange(ev: vscode.ConfigurationChangeEvent) {

FILE: src/utils/parser.ts
  function macroToStr (line 3) | function macroToStr(macro: Ast.Macro): string {
  function envToStr (line 10) | function envToStr(env: Ast.Environment | Ast.VerbatimEnvironment): string {
  function argContentToStr (line 14) | function argContentToStr(argContent: Ast.Node[], preserveCurlyBrace: boo...

FILE: src/utils/pathnormalize.ts
  function normalize (line 5) | function normalize(filePath: string) {
  function isSameRealPath (line 14) | function isSameRealPath(filePathA: string, filePathB: string): boolean {

FILE: src/utils/quick-pick.ts
  function pickRootPath (line 4) | async function pickRootPath(rootPath: string, subRootPath: string, verb:...

FILE: src/utils/tokenizer.ts
  function macroTokenizer (line 11) | function macroTokenizer(document: vscode.TextDocument, position: vscode....
  function argTokenizer (line 43) | function argTokenizer(document: vscode.TextDocument, position: vscode.Po...
  function tokenizer (line 67) | function tokenizer(document: vscode.TextDocument, position: vscode.Posit...
  function onAPackage (line 89) | function onAPackage(document: vscode.TextDocument, position: vscode.Posi...

FILE: src/utils/utils.ts
  function sleep (line 6) | function sleep(ms: number) {
  function escapeHtml (line 10) | function escapeHtml(s: string): string {
  function escapeRegExp (line 17) | function escapeRegExp(str: string) {
  function stripText (line 27) | function stripText(raw: string): string {
  function stripComments (line 68) | function stripComments(text: string): string {
  function stripEnvironments (line 81) | function stripEnvironments(text: string, envs: string[]): string {
  function stripCommentsAndVerbatim (line 106) | function stripCommentsAndVerbatim(text: string): string {
  function trimMultiLineString (line 121) | function trimMultiLineString(text: string): string {
  function getLongestBalancedString (line 131) | function getLongestBalancedString(s: string, bracket: 'curly' | 'square'...
  function getSurroundingMacroRange (line 174) | function getSurroundingMacroRange(macro: string, position: vscode.Positi...
  function resolveFile (line 234) | async function resolveFile(dirs: string[], inputFile: string, suffix: st...
  function resolveFileGlob (line 253) | function resolveFileGlob(dirs: string[], inputGlob: string, suffix: stri...
  function replaceArgumentPlaceholders (line 277) | function replaceArgumentPlaceholders(rootFile: string, tmpDir: string): ...

FILE: src/utils/webview.ts
  function getMoveCommands (line 3) | function getMoveCommands(tabEditorGroup: string) {
  function moveWebviewPanel (line 31) | async function moveWebviewPanel(panel: vscode.WebviewPanel, tabEditorGro...
  function moveActiveEditor (line 36) | async function moveActiveEditor(tabEditorGroup: string, preserveFocus: b...

FILE: test/runTest.ts
  function runTestSuites (line 6) | async function runTestSuites(fixture: 'testground' | 'multiroot' | 'unit...
  function main (line 32) | async function main() {

FILE: test/suites/12_envpair.test.ts
  function loadTestFiles (line 7) | async function loadTestFiles(fixture: string) {

FILE: test/suites/99_multiroot.test.ts
  function resolve (line 7) | function resolve(fixture: string, fileName: string, ws: string) {

FILE: test/suites/index.ts
  function run (line 5) | function run(): Promise<void> {

FILE: test/suites/utils.ts
  function getFixture (line 14) | function getFixture() {
  function getWsFixture (line 22) | function getWsFixture(fixture: string, ws?: string) {
  function testLabel (line 26) | function testLabel() {
  function skip (line 36) | function skip(_testName: string, _cb: (fixturePath: string) => unknown, ...
  function only (line 40) | function only(testName: string, cb: (fixturePath: string) => unknown, pl...
  function run (line 44) | function run(testName: string, cb: (fixturePath: string) => unknown, pla...
  function sleep (line 75) | function sleep(ms: number) {
  function reset (line 79) | async function reset() {
  function log (line 93) | function log(fixtureName: string, testName: string, counter: string) {
  function wait (line 109) | async function wait<T extends keyof EventArgs>(event: T | Events, arg?: ...
  function load (line 121) | async function load(fixture: string, files: {src: string, dst: string, w...
  function open (line 160) | async function open(filePath: string) {
  function find (line 165) | async function find(fixture: string, openFile: string, ws?: string) {
  function build (line 173) | async function build(fixture: string, openFile: string, ws?: string, act...
  function auto (line 180) | async function auto(fixture: string, editFile: string, noBuild = false, ...
  function suggest (line 204) | function suggest(row: number, col: number, isAtSuggestion = false, openF...
  function view (line 219) | async function view(fixture: string, pdfName: string, postAction?: () =>...
  function format (line 237) | async function format() {

FILE: test/units/01_core_file.test.ts
  function forbiddenTemp (line 32) | function forbiddenTemp(chars: string[ ]) {

FILE: test/units/09_viewer_server.test.ts
  function connectWs (line 25) | async function connectWs() {
  function waitInitialize (line 56) | async function waitInitialize(hostname?: string, newPort?: number, timeo...

FILE: test/units/10_viewer_pdf_server.test.ts
  function waitMessage (line 31) | function waitMessage(type: ClientRequest['type'], timeout = 1000) {
  function waitMsg (line 52) | async function waitMsg(target: string, timeout = 1000) {

FILE: test/units/11_parser_tex.test.ts
  function emptyArg (line 49) | function emptyArg(arg: Ast.Argument) {
  function strArg (line 53) | function strArg(arg: Ast.Argument) {
  function hasArgs (line 57) | async function hasArgs(tex: string, signature: string) {

FILE: test/units/12_parser_log.test.ts
  function resetSpies (line 36) | function resetSpies() {

FILE: test/units/13_completion_latex.test.ts
  function provide (line 59) | function provide(content: string, position?: number, line: number = 0) {

FILE: test/units/15_completion_macro.test.ts
  function getSuggestions (line 27) | function getSuggestions() {
  function getMacros (line 31) | function getMacros() {

FILE: test/units/16_completion_reference.test.ts
  function getSuggestions (line 36) | function getSuggestions() {
  function getLabels (line 40) | function getLabels() {

FILE: test/units/17_completion_environment.test.ts
  function getSuggestions (line 28) | function getSuggestions() {
  function getEnvs (line 37) | function getEnvs() {

FILE: test/units/18_completion_package.test.ts
  function getSuggestions (line 31) | function getSuggestions(provider: CompletionProvider) {
  function getMacros (line 40) | function getMacros() {

FILE: test/units/19_completion_argument.test.ts
  function getSuggestions (line 29) | function getSuggestions(match: RegExpMatchArray) {
  function getArgs (line 38) | function getArgs(match: RegExpMatchArray) {

FILE: test/units/20_completion_documentclass.test.ts
  function getSuggestions (line 21) | function getSuggestions() {
  function getClasses (line 30) | function getClasses() {

FILE: test/units/21_completion_input.test.ts
  function getSuggestions (line 26) | function getSuggestions(provider: CompletionProvider, matches: RegExpMat...
  function getInputs (line 35) | function getInputs(provider: CompletionProvider, matches: RegExpMatchArr...

FILE: test/units/22_completion_glossary.test.ts
  function getSuggestions (line 27) | function getSuggestions() {

FILE: test/units/23_completion_at.test.ts
  function getSuggestions (line 33) | function getSuggestions(content: string = '') {
  function getLabels (line 42) | function getLabels(content: string = '') {

FILE: test/units/index.ts
  function run (line 6) | function run(): Promise<void> {

FILE: test/units/utils.ts
  type ExtendedAssert (line 10) | type ExtendedAssert = typeof nodeAssert & {
  function getPaths (line 26) | function getPaths(actual: string | undefined, expected: string | undefin...
  function hasLog (line 43) | function hasLog(message: string | RegExp) {
  function hasCompilerLog (line 48) | function hasCompilerLog(message: string | RegExp) {
  function sleep (line 135) | function sleep(ms: number) {
  function getConfig (line 165) | function getConfig<T>(configName: string, defaultValue?: T): T | undefin...
  method afterEach (line 191) | async afterEach(this: Mocha.Context) {
  function cacheLog (line 199) | function cacheLog(context: Mocha.Context) {
  class TextDocument (line 217) | class TextDocument implements vscode.TextDocument {
    method constructor (line 230) | constructor(filePath: string, content: string, { languageId = 'latex',...
    method setContent (line 240) | setContent(content: string) {
    method setLanguage (line 245) | setLanguage(languageId: string) {
    method save (line 248) | save(): Thenable<boolean> { throw new Error('Not implemented.') }
    method lineAt (line 249) | lineAt(lineOrPos: number | vscode.Position): vscode.TextLine {
    method offsetAt (line 261) | offsetAt(_: vscode.Position): number { throw new Error('Not implemente...
    method positionAt (line 262) | positionAt(_: number): vscode.Position { throw new Error('Not implemen...
    method getText (line 263) | getText(_?: vscode.Range): string { return this.content }
    method getWordRangeAtPosition (line 264) | getWordRangeAtPosition(_p: vscode.Position, _r?: RegExp): vscode.Range...
    method validateRange (line 265) | validateRange(_: vscode.Range): vscode.Range { throw new Error('Not im...
    method validatePosition (line 266) | validatePosition(_: vscode.Position): vscode.Position { throw new Erro...
  class TextEditor (line 269) | class TextEditor implements vscode.TextEditor {
    method constructor (line 277) | constructor(filePath: string, content: string, { languageId = 'latex',...
    method setSelections (line 284) | setSelections(selections: vscode.Selection[]) {
    method edit (line 288) | edit(_: (_: vscode.TextEditorEdit) => void): Thenable<boolean> { throw...
    method insertSnippet (line 289) | insertSnippet(_: vscode.SnippetString): Thenable<boolean> { throw new ...
    method setDecorations (line 290) | setDecorations(_d: vscode.TextEditorDecorationType, _r: vscode.Range[]...
    method revealRange (line 291) | revealRange(_: vscode.Range): void { throw new Error('Not implemented....
    method show (line 292) | show(): void { throw new Error('Not implemented.') }
    method hide (line 293) | hide(): void { throw new Error('Not implemented.') }

FILE: types/latex-workshop-protocol-types/index.d.ts
  type SynctexData (line 2) | type SynctexData = {
  type SynctexRangeData (line 9) | type SynctexRangeData = SynctexData & {
  type ServerResponse (line 16) | type ServerResponse = {
  type PdfViewerParams (line 37) | type PdfViewerParams = {
  type ClientRequest (line 77) | type ClientRequest = {
  type PanelManagerResponse (line 111) | type PanelManagerResponse = {
  type PanelRequest (line 116) | type PanelRequest = {
  type PdfViewerState (line 126) | type PdfViewerState = {

FILE: types/mathjax-full/index.d.ts
  type SupportedExtension (line 7) | type SupportedExtension =
  type MacrosOption (line 44) | type MacrosOption = {
  type TexOption (line 48) | type TexOption = {
  type SvgOption (line 67) | type SvgOption = {
  type ConvertOption (line 81) | type ConvertOption = {

FILE: viewer/components/connection.ts
  function initConnect (line 9) | function initConnect() {
  function send (line 39) | async function send(message: ClientRequest) {
  function sendLog (line 46) | function sendLog(message: string) {
  function sendPanel (line 50) | function sendPanel(msg: PanelRequest) {
  function handler (line 57) | function handler(event: MessageEvent<string>) {
  function reconnect (line 78) | async function reconnect() {

FILE: viewer/components/gui.ts
  function hideToolbar (line 12) | function hideToolbar(params: Awaited<ReturnType<typeof utils.getParams>>) {
  function patchViewerUI (line 24) | async function patchViewerUI() {
  function registerSynctexCheckBox (line 115) | function registerSynctexCheckBox() {
  function registerAutoReloadCheckBox (line 125) | function registerAutoReloadCheckBox() {
  function registerKeyBind (line 135) | function registerKeyBind() {
  function repositionAnnotation (line 247) | function repositionAnnotation() {
  function showToolbar (line 262) | function showToolbar() {
  function registerPersistentState (line 267) | function registerPersistentState() {

FILE: viewer/components/interface.ts
  type PdfjsEventName (line 1) | type PdfjsEventName
  type PDFViewerPage (line 16) | type PDFViewerPage = {
  type RenderingStates (line 33) | enum RenderingStates {
  type PDFViewerApplicationType (line 40) | type PDFViewerApplicationType = {
  type PDFViewerApplicationOptionsType (line 78) | type PDFViewerApplicationOptionsType = {

FILE: viewer/components/l10n.ts
  function getL10n (line 1) | function getL10n(text: 'enableSyncTeX' | 'enableRefresh' | 'trimMargin' ...

FILE: viewer/components/refresh.ts
  function IsAutoRefreshEnabled (line 12) | function IsAutoRefreshEnabled() {
  function toggleAutoRefresh (line 15) | function toggleAutoRefresh() {
  function doneRefresh (line 32) | function doneRefresh() {
  function refresh (line 44) | async function refresh() {
  function restoreState (line 104) | async function restoreState() {
  function restoreDefault (line 138) | async function restoreDefault() {
  function addMasks (line 170) | function addMasks() {
  function allPagesRendered (line 212) | function allPagesRendered() {
  function removeMasks (line 216) | function removeMasks(masks: HTMLDivElement[]) {

FILE: viewer/components/state.ts
  function initUploadState (line 15) | function initUploadState() {
  function uploadState (line 39) | function uploadState() {
  function setParams (line 55) | async function setParams() {

FILE: viewer/components/synctex.ts
  function isSyncTeXEnabled (line 10) | function isSyncTeXEnabled() {
  function toggleSyncTeX (line 13) | function toggleSyncTeX() {
  function setSyncTeXKey (line 19) | function setSyncTeXKey(binding: string) {
  function callSynctex (line 23) | function callSynctex(e: MouseEvent, page: number, pageDom: HTMLElement, ...
  function registerSyncTeX (line 46) | function registerSyncTeX() {
  function createIndicator (line 76) | function createIndicator(type: 'rect' | 'circ', scrollX: number, scrollY...
  function forwardSynctexRect (line 104) | function forwardSynctexRect(data: SynctexRangeData[]) {
  function forwardSynctexCirc (line 126) | function forwardSynctexCirc(data: SynctexData) {
  function forwardSynctex (line 138) | function forwardSynctex(data: SynctexData | SynctexRangeData[]) {
  function scrollToPosition (line 152) | function scrollToPosition(page: HTMLElement, posX: number, posY: number,...

FILE: viewer/components/trimming.ts
  function getTrimValue (line 8) | function getTrimValue() {
  function setTrimValue (line 12) | function setTrimValue(trim: number) {
  function initTrim (line 26) | function initTrim() {
  function setTrimCSS (line 38) | function setTrimCSS() {
  function getPageRule (line 65) | function getPageRule(pageNum: number, pageHeight: number, pageWidth: num...
  function getCanvasRule (line 73) | function getCanvasRule(className: string, pageNum: number, pageHeight: n...

FILE: viewer/components/utils.ts
  function getParams (line 5) | async function getParams(): Promise<PdfViewerParams> {
  function sleep (line 15) | async function sleep(timeout: number) {
  function encodePath (line 21) | function encodePath(path: string): string {
  function decodePath (line 28) | function decodePath(b64url: string): string {
  function parseURL (line 36) | function parseURL(): { encodedPath: string, pdfFileUri: string, docTitle...
  function isEmbedded (line 56) | function isEmbedded(): boolean {
  function isPrefersColorSchemeDark (line 60) | function isPrefersColorSchemeDark(codeColorTheme: 'light' | 'dark') {
  function isPdfjsShortcut (line 67) | function isPdfjsShortcut(e: Pick<KeyboardEvent, 'altKey' | 'ctrlKey' | '...

FILE: viewer/components/viewerhistory.ts
  function set (line 11) | function set(scroll: number, force = false) {
  function back (line 38) | function back() {
  function forward (line 74) | function forward() {

FILE: viewer/latexworkshop.ts
  function getViewerEventBus (line 31) | async function getViewerEventBus() {
  function onPDFViewerEvent (line 37) | function onPDFViewerEvent(event: PdfjsEventName, cb: (evt?: any) => unkn...
  function initialization (line 46) | async function initialization() {

FILE: viewer/viewer.mjs
  constant DEFAULT_SCALE_VALUE (line 113) | const DEFAULT_SCALE_VALUE = "auto";
  constant DEFAULT_SCALE (line 114) | const DEFAULT_SCALE = 1.0;
  constant DEFAULT_SCALE_DELTA (line 115) | const DEFAULT_SCALE_DELTA = 1.1;
  constant MIN_SCALE (line 116) | const MIN_SCALE = 0.1;
  constant MAX_SCALE (line 117) | const MAX_SCALE = 10.0;
  constant UNKNOWN_SCALE (line 118) | const UNKNOWN_SCALE = 0;
  constant MAX_AUTO_SCALE (line 119) | const MAX_AUTO_SCALE = 1.25;
  constant SCROLLBAR_PADDING (line 120) | const SCROLLBAR_PADDING = 40;
  constant VERTICAL_PADDING (line 121) | const VERTICAL_PADDING = 5;
  function scrollIntoView (line 166) | function scrollIntoView(element, spot, scrollMatches = false) {
  function watchScroll (line 199) | function watchScroll(viewAreaElement, callback, abortSignal = undefined) {
  function parseQueryString (line 238) | function parseQueryString(query) {
  function removeNullCharacters (line 246) | function removeNullCharacters(str, replaceInvisible = false) {
  function binarySearchFirstItem (line 255) | function binarySearchFirstItem(items, condition, start = 0) {
  function approximateFraction (line 275) | function approximateFraction(x) {
  function floorToDivide (line 313) | function floorToDivide(x, div) {
  function getPageSizeInches (line 316) | function getPageSizeInches({
  function backtrackBeforeAllVisibleElements (line 330) | function backtrackBeforeAllVisibleElements(index, views, top) {
  function getVisibleElements (line 349) | function getVisibleElements({
  function normalizeWheelEventDirection (line 439) | function normalizeWheelEventDirection(evt) {
  function normalizeWheelEventDelta (line 447) | function normalizeWheelEventDelta(evt) {
  function isValidRotation (line 459) | function isValidRotation(angle) {
  function isValidScrollMode (line 462) | function isValidScrollMode(mode) {
  function isValidSpreadMode (line 465) | function isValidSpreadMode(mode) {
  function isPortraitOrientation (line 468) | function isPortraitOrientation(size) {
  class ProgressBar (line 475) | class ProgressBar {
    method constructor (line 481) | constructor(bar) {
    method percent (line 485) | get percent() {
    method percent (line 488) | set percent(val) {
    method setWidth (line 497) | setWidth(viewer) {
    method setDisableAutoFetch (line 507) | setDisableAutoFetch(delay = 5000) {
    method hide (line 520) | hide() {
    method show (line 527) | show() {
  function getActiveOrFocusedElement (line 535) | function getActiveOrFocusedElement() {
  function apiPageLayoutToViewerModes (line 544) | function apiPageLayoutToViewerModes(layout) {
  function apiPageModeToSidebarView (line 569) | function apiPageModeToSidebarView(mode) {
  function toggleCheckedBtn (line 584) | function toggleCheckedBtn(button, toggle, view = null) {
  function toggleExpandedBtn (line 589) | function toggleExpandedBtn(button, toggle, view = null) {
  class AppOptions (line 977) | class AppOptions {
    method get (line 998) | static get(name) {
    method getAll (line 1001) | static getAll(kind = null, defaultOnly = false) {
    method set (line 1012) | static set(name, value) {
    method setAll (line 1017) | static setAll(options, prefs = false) {
  constant DEFAULT_LINK_REL (line 1051) | const DEFAULT_LINK_REL = "noopener noreferrer nofollow";
  class PDFLinkService (line 1059) | class PDFLinkService {
    method constructor (line 1061) | constructor({
    method setDocument (line 1076) | setDocument(pdfDocument, baseUrl = null) {
    method setViewer (line 1080) | setViewer(pdfViewer) {
    method setHistory (line 1083) | setHistory(pdfHistory) {
    method pagesCount (line 1086) | get pagesCount() {
    method page (line 1089) | get page() {
    method page (line 1092) | set page(value) {
    method rotation (line 1097) | get rotation() {
    method rotation (line 1100) | set rotation(value) {
    method isInPresentationMode (line 1105) | get isInPresentationMode() {
    method goToDestination (line 1108) | async goToDestination(dest) {
    method goToPage (line 1165) | goToPage(val) {
    method goToXY (line 1182) | goToXY(pageNumber, x, y, options = {}) {
    method addLinkAttributes (line 1192) | addLinkAttributes(link, url, newWindow = false) {
    method getDestinationHash (line 1225) | getDestinationHash(dest) {
    method getAnchorUrl (line 1238) | getAnchorUrl(anchor) {
    method setHash (line 1241) | setHash(hash) {
    method executeNamedAction (line 1320) | executeNamedAction(action) {
    method executeSetOCGState (line 1351) | async executeSetOCGState(action) {
  class SimpleLinkService (line 1364) | class SimpleLinkService extends PDFLinkService {
    method setDocument (line 1365) | setDocument(pdfDocument, baseUrl = null) {}
  function waitOnEventOrTimeout (line 1373) | async function waitOnEventOrTimeout({
  class EventBus (line 1398) | class EventBus {
    method on (line 1400) | on(eventName, listener, options = null) {
    method off (line 1407) | off(eventName, listener, options = null) {
    method dispatch (line 1410) | dispatch(eventName, data) {
    method _on (line 1437) | _on(eventName, listener, options = null) {
    method _off (line 1459) | _off(eventName, listener, options = null) {
  class FirefoxEventBus (line 1474) | class FirefoxEventBus extends EventBus {
    method constructor (line 1478) | constructor(globalEventNames, externalServices, isInAutomation) {
    method dispatch (line 1484) | dispatch(eventName, data) {
  class BaseExternalServices (line 1490) | class BaseExternalServices {
    method updateFindControlState (line 1491) | updateFindControlState(data) {}
    method updateFindMatchesCount (line 1492) | updateFindMatchesCount(data) {}
    method initPassiveLoading (line 1493) | initPassiveLoading() {}
    method reportTelemetry (line 1494) | reportTelemetry(data) {}
    method reportText (line 1495) | reportText(data) {}
    method createL10n (line 1496) | async createL10n() {
    method createScripting (line 1499) | createScripting() {
    method createSignatureStorage (line 1502) | createSignatureStorage() {
    method updateEditorStates (line 1505) | updateEditorStates(data) {
    method dispatchGlobalEvent (line 1508) | dispatchGlobalEvent(_event) {}
  class BasePreferences (line 1513) | class BasePreferences {
    method constructor (line 1559) | constructor() {
    method _writeToStorage (line 1573) | async _writeToStorage(prefObj) {
    method _readFromStorage (line 1576) | async _readFromStorage(prefObj) {
    method reset (line 1579) | async reset() {
    method set (line 1584) | async set(name, value) {
    method get (line 1591) | async get(name) {
    method initializedPromise (line 1595) | get initializedPromise() {
  class FluentType (line 1601) | class FluentType {
    method constructor (line 1602) | constructor(value) {
    method valueOf (line 1605) | valueOf() {
  class FluentNone (line 1609) | class FluentNone extends FluentType {
    method constructor (line 1610) | constructor(value = "???") {
    method toString (line 1613) | toString(scope) {
  class FluentNumber (line 1617) | class FluentNumber extends FluentType {
    method constructor (line 1618) | constructor(value, opts = {}) {
    method toString (line 1622) | toString(scope) {
  class FluentDateTime (line 1634) | class FluentDateTime extends FluentType {
    method supportsValue (line 1635) | static supportsValue(value) {
    method constructor (line 1647) | constructor(value, opts = {}) {
    method toNumber (line 1669) | toNumber() {
    method toString (line 1681) | toString(scope) {
  method [Symbol.toPrimitive] (line 1666) | [Symbol.toPrimitive](hint) {
  constant MAX_PLACEABLES (line 1698) | const MAX_PLACEABLES = 100;
  constant FSI (line 1699) | const FSI = "\u2068";
  constant PDI (line 1700) | const PDI = "\u2069";
  function match (line 1701) | function match(scope, selector, key) {
  function getDefault (line 1716) | function getDefault(scope, variants, star) {
  function getArguments (line 1723) | function getArguments(scope, args) {
  function resolveExpression (line 1738) | function resolveExpression(scope, expr) {
  function resolveVariableReference (line 1760) | function resolveVariableReference(scope, {
  function resolveMessageReference (line 1793) | function resolveMessageReference(scope, {
  function resolveTermReference (line 1816) | function resolveTermReference(scope, {
  function resolveFunctionReference (line 1843) | function resolveFunctionReference(scope, {
  function resolveSelectExpression (line 1864) | function resolveSelectExpression(scope, {
  function resolveComplexPattern (line 1881) | function resolveComplexPattern(scope, ptn) {
  function resolvePattern (line 1910) | function resolvePattern(scope, value) {
  class Scope (line 1917) | class Scope {
    method constructor (line 1918) | constructor(bundle, errors, args) {
    method reportError (line 1926) | reportError(error) {
    method memoizeIntlObject (line 1932) | memoizeIntlObject(ctor, opts) {
  function values (line 1947) | function values(opts, allowed) {
  constant NUMBER_ALLOWED (line 1956) | const NUMBER_ALLOWED = ["unitDisplay", "currencyDisplay", "useGrouping",...
  function NUMBER (line 1957) | function NUMBER(args, opts) {
  constant DATETIME_ALLOWED (line 1975) | const DATETIME_ALLOWED = ["dateStyle", "timeStyle", "fractionalSecondDig...
  function DATETIME (line 1976) | function DATETIME(args, opts) {
  function getMemoizerForLocale (line 1988) | function getMemoizerForLocale(locales) {
  class FluentBundle (line 2003) | class FluentBundle {
    method constructor (line 2004) | constructor(locales, {
    method hasMessage (line 2021) | hasMessage(id) {
    method getMessage (line 2024) | getMessage(id) {
    method addResource (line 2027) | addResource(res, {
    method formatPattern (line 2049) | formatPattern(pattern, args = null, errors = null) {
  constant RE_MESSAGE_START (line 2067) | const RE_MESSAGE_START = /^(-?[a-zA-Z][\w-]*) *= */gm;
  constant RE_ATTRIBUTE_START (line 2068) | const RE_ATTRIBUTE_START = /\.([a-zA-Z][\w-]*) *= */y;
  constant RE_VARIANT_START (line 2069) | const RE_VARIANT_START = /\*?\[/y;
  constant RE_NUMBER_LITERAL (line 2070) | const RE_NUMBER_LITERAL = /(-?[0-9]+(?:\.([0-9]+))?)/y;
  constant RE_IDENTIFIER (line 2071) | const RE_IDENTIFIER = /([a-zA-Z][\w-]*)/y;
  constant RE_REFERENCE (line 2072) | const RE_REFERENCE = /([$-])?([a-zA-Z][\w-]*)(?:\.([a-zA-Z][\w-]*))?/y;
  constant RE_FUNCTION_NAME (line 2073) | const RE_FUNCTION_NAME = /^[A-Z][A-Z0-9_-]*$/;
  constant RE_TEXT_RUN (line 2074) | const RE_TEXT_RUN = /([^{}\n\r]+)/y;
  constant RE_STRING_RUN (line 2075) | const RE_STRING_RUN = /([^\\"\n\r]*)/y;
  constant RE_STRING_ESCAPE (line 2076) | const RE_STRING_ESCAPE = /\\([\\"])/y;
  constant RE_UNICODE_ESCAPE (line 2077) | const RE_UNICODE_ESCAPE = /\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{6})/y;
  constant RE_LEADING_NEWLINES (line 2078) | const RE_LEADING_NEWLINES = /^\n+/;
  constant RE_TRAILING_SPACES (line 2079) | const RE_TRAILING_SPACES = / +$/;
  constant RE_BLANK_LINES (line 2080) | const RE_BLANK_LINES = / *\r?\n/g;
  constant RE_INDENT (line 2081) | const RE_INDENT = /( *)$/;
  constant TOKEN_BRACE_OPEN (line 2082) | const TOKEN_BRACE_OPEN = /{\s*/y;
  constant TOKEN_BRACE_CLOSE (line 2083) | const TOKEN_BRACE_CLOSE = /\s*}/y;
  constant TOKEN_BRACKET_OPEN (line 2084) | const TOKEN_BRACKET_OPEN = /\[\s*/y;
  constant TOKEN_BRACKET_CLOSE (line 2085) | const TOKEN_BRACKET_CLOSE = /\s*] */y;
  constant TOKEN_PAREN_OPEN (line 2086) | const TOKEN_PAREN_OPEN = /\s*\(\s*/y;
  constant TOKEN_ARROW (line 2087) | const TOKEN_ARROW = /\s*->\s*/y;
  constant TOKEN_COLON (line 2088) | const TOKEN_COLON = /\s*:\s*/y;
  constant TOKEN_COMMA (line 2089) | const TOKEN_COMMA = /\s*,?\s*/y;
  constant TOKEN_BLANK (line 2090) | const TOKEN_BLANK = /\s+/y;
  class FluentResource (line 2091) | class FluentResource {
    method constructor (line 2092) | constructor(source) {
  class Indent (line 2439) | class Indent {
    method constructor (line 2440) | constructor(value, length) {
  constant TEXT_LEVEL_ELEMENTS (line 2451) | const TEXT_LEVEL_ELEMENTS = {
  constant LOCALIZABLE_ATTRIBUTES (line 2454) | const LOCALIZABLE_ATTRIBUTES = {
  function translateElement (line 2477) | function translateElement(element, translation) {
  function overlayChildNodes (line 2494) | function overlayChildNodes(fromFragment, toElement) {
  function hasAttribute (line 2515) | function hasAttribute(attributes, name) {
  function overlayAttributes (line 2526) | function overlayAttributes(fromElement, toElement) {
  function getNodeForNamedElement (line 2542) | function getNodeForNamedElement(sourceElement, translatedChild) {
  function createSanitizedElement (line 2557) | function createSanitizedElement(element) {
  function createTextNodeFromTextContent (line 2561) | function createTextNodeFromTextContent(element) {
  function isElementAllowed (line 2564) | function isElementAllowed(element) {
  function isAttrNameLocalizable (line 2568) | function isAttrNameLocalizable(name, element, explicitlyAllowed = null) {
  function shallowPopulateUsing (line 2595) | function shallowPopulateUsing(fromElement, toElement) {
  class CachedIterable (line 2601) | class CachedIterable extends Array {
    method from (line 2602) | static from(iterable) {
  class CachedSyncIterable (line 2611) | class CachedSyncIterable extends CachedIterable {
    method constructor (line 2612) | constructor(iterable) {
    method touchNext (line 2632) | touchNext(count = 1) {
  method [Symbol.iterator] (line 2620) | [Symbol.iterator]() {
  class CachedAsyncIterable (line 2646) | class CachedAsyncIterable extends CachedIterable {
    method constructor (line 2647) | constructor(iterable) {
    method touchNext (line 2669) | async touchNext(count = 1) {
  method [Symbol.asyncIterator] (line 2657) | [Symbol.asyncIterator]() {
  class Localization (line 2686) | class Localization {
    method constructor (line 2687) | constructor(resourceIds = [], generateBundles) {
    method addResourceIds (line 2692) | addResourceIds(resourceIds, eager = false) {
    method removeResourceIds (line 2697) | removeResourceIds(resourceIds) {
    method formatWithFallback (line 2702) | async formatWithFallback(keys, method) {
    method formatMessages (line 2724) | formatMessages(keys) {
    method formatValues (line 2727) | formatValues(keys) {
    method formatValue (line 2730) | async formatValue(id, args) {
    method handleEvent (line 2737) | handleEvent() {
    method onChange (line 2740) | onChange(eager = false) {
  function valueFromBundle (line 2747) | function valueFromBundle(bundle, errors, message, args) {
  function messageFromBundle (line 2753) | function messageFromBundle(bundle, errors, message, args) {
  function keysFromBundle (line 2774) | function keysFromBundle(method, bundle, keys, translations) {
  constant L10NID_ATTR_NAME (line 2802) | const L10NID_ATTR_NAME = "data-l10n-id";
  constant L10NARGS_ATTR_NAME (line 2803) | const L10NARGS_ATTR_NAME = "data-l10n-args";
  constant L10N_ELEMENT_QUERY (line 2804) | const L10N_ELEMENT_QUERY = `[${L10NID_ATTR_NAME}]`;
  class DOMLocalization (line 2805) | class DOMLocalization extends Localization {
    method constructor (line 2806) | constructor(resourceIds, generateBundles) {
    method onChange (line 2821) | onChange(eager = false) {
    method setAttributes (line 2827) | setAttributes(element, id, args) {
    method getAttributes (line 2836) | getAttributes(element) {
    method connectRoot (line 2842) | connectRoot(newRoot) {
    method disconnectRoot (line 2860) | disconnectRoot(root) {
    method translateRoots (line 2876) | translateRoots() {
    method pauseObserving (line 2880) | pauseObserving() {
    method resumeObserving (line 2887) | resumeObserving() {
    method translateMutations (line 2895) | translateMutations(mutations) {
    method translateFragment (line 2928) | translateFragment(frag) {
    method translateElements (line 2931) | async translateElements(elements) {
    method applyTranslations (line 2939) | applyTranslations(elements, translations) {
    method getTranslatables (line 2948) | getTranslatables(element) {
    method getKeysForElement (line 2955) | getKeysForElement(element) {
  class L10n (line 2966) | class L10n {
    method constructor (line 2971) | constructor({
    method _setL10n (line 2979) | _setL10n(l10n) {
    method getLanguage (line 2982) | getLanguage() {
    method getDirection (line 2985) | getDirection() {
    method get (line 2988) | async get(ids, args = null, fallback) {
    method translate (line 3002) | async translate(element) {
    method translateOnce (line 3009) | async translateOnce(element) {
    method destroy (line 3016) | async destroy() {
    method pause (line 3026) | pause() {
    method resume (line 3029) | resume() {
    method #fixupLangCode (line 3032) | static #fixupLangCode(langCode) {
    method #isRTL (line 3052) | static #isRTL(lang) {
  function PLATFORM (line 3064) | function PLATFORM() {
  function createBundle (line 3085) | function createBundle(lang, text) {
  class genericl10n_GenericL10n (line 3098) | class genericl10n_GenericL10n extends L10n {
    method constructor (line 3099) | constructor(lang) {
    method #generateBundles (line 3106) | static async *#generateBundles(defaultLang, baseLang) {
    method #createBundle (line 3129) | static async #createBundle(lang, baseURL, paths) {
    method #getPaths (line 3138) | static async #getPaths() {
    method #generateBundlesFallback (line 3154) | static async *#generateBundlesFallback(lang) {
    method #createBundleFallback (line 3157) | static async #createBundleFallback(lang) {
  function docProperties (line 3165) | async function docProperties(pdfDocument) {
  class GenericScripting (line 3185) | class GenericScripting {
    method constructor (line 3186) | constructor(sandboxBundleSrc) {
    method createSandbox (line 3197) | async createSandbox(data) {
    method dispatchEventInSandbox (line 3201) | async dispatchEventInSandbox(event) {
    method destroySandbox (line 3205) | async destroySandbox() {
  constant KEY_STORAGE (line 3213) | const KEY_STORAGE = "pdfjs.signature";
  class SignatureStorage (line 3214) | class SignatureStorage {
    method constructor (line 3218) | constructor(eventBus, signal) {
    method #save (line 3222) | #save() {
    method getAll (line 3225) | async getAll() {
    method isFull (line 3252) | async isFull() {
    method size (line 3255) | async size() {
    method create (line 3258) | async create(data) {
    method delete (line 3267) | async delete(uuid) {
  function initCom (line 3285) | function initCom(app) {}
  class Preferences (line 3286) | class Preferences extends BasePreferences {
    method _writeToStorage (line 3287) | async _writeToStorage(prefObj) {
    method _readFromStorage (line 3290) | async _readFromStorage(prefObj) {
  class ExternalServices (line 3296) | class ExternalServices extends BaseExternalServices {
    method createL10n (line 3297) | async createL10n() {
    method createScripting (line 3300) | createScripting() {
    method createSignatureStorage (line 3303) | createSignatureStorage(eventBus, signal) {
  class MLManager (line 3307) | class MLManager {
    method isEnabledFor (line 3308) | async isEnabledFor(_name) {
    method deleteModel (line 3311) | async deleteModel(_service) {
    method isReady (line 3314) | isReady(_name) {
    method guess (line 3317) | guess(_data) {}
    method toggleService (line 3318) | toggleService(_name, _enabled) {}
  class NewAltTextManager (line 3323) | class NewAltTextManager {
    method constructor (line 3349) | constructor({
    method #toggleLoading (line 3434) | #toggleLoading(value) {
    method #toggleError (line 3441) | #toggleError(value) {
    method #toggleGuessAltText (line 3447) | async #toggleGuessAltText(value, isInitial = false) {
    method #toggleNotNow (line 3467) | #toggleNotNow() {
    method #toggleAI (line 3471) | #toggleAI(value) {
    method #toggleTitleAndDisclaimer (line 3479) | #toggleTitleAndDisclaimer() {
    method #mlGuessAltText (line 3489) | async #mlGuessAltText(isInitial) {
    method #addAltText (line 3526) | #addAltText(altText) {
    method #setProgress (line 3533) | #setProgress() {
    method editAltText (line 3567) | async editAltText(uiManager, editor, firstTime) {
    method #cancel (line 3636) | #cancel() {
    method #finish (line 3657) | #finish() {
    method #close (line 3660) | #close() {
    method #extractWords (line 3672) | #extractWords(text) {
    method #save (line 3675) | #save() {
    method destroy (line 3710) | destroy() {
  class ImageAltTextSettings (line 3715) | class ImageAltTextSettings {
    method constructor (line 3724) | constructor({
    method #reportTelemetry (line 3793) | #reportTelemetry(data) {
    method #download (line 3802) | async #download(isFromUI = false) {
    method #delete (line 3818) | async #delete(isFromUI = false) {
    method open (line 3828) | async open({
    method #togglePref (line 3845) | #togglePref(name, {
    method #setPref (line 3853) | #setPref(name, value) {
    method #finish (line 3860) | #finish() {
  class AltTextManager (line 3867) | class AltTextManager {
    method constructor (line 3886) | constructor({
    method #createSVGElement (line 3916) | #createSVGElement() {
    method editAltText (line 3942) | async editAltText(uiManager, editor) {
    method #setPosition (line 3984) | #setPosition() {
    method #finish (line 4060) | #finish() {
    method #close (line 4063) | #close() {
    method #updateUIState (line 4077) | #updateUIState() {
    method #save (line 4080) | #save() {
    method #onClick (line 4096) | #onClick(evt) {
    method #removeOnClickListeners (line 4103) | #removeOnClickListeners() {
    method destroy (line 4107) | destroy() {
  class AnnotationEditorParams (line 4117) | class AnnotationEditorParams {
    method constructor (line 4118) | constructor(options, eventBus) {
    method #bindListeners (line 4122) | #bindListeners({
  constant PRECISION (line 4221) | const PRECISION = 1e-1;
  class CaretBrowsingMode (line 4222) | class CaretBrowsingMode {
    method constructor (line 4226) | constructor(abortSignal, mainContainer, viewerContainer, toolbarContai...
    method #isOnSameLine (line 4246) | #isOnSameLine(rect1, rect2) {
    method #isUnderOver (line 4255) | #isUnderOver(rect, x, y, isUp) {
    method #isVisible (line 4259) | #isVisible(rect) {
    method #getCaretPosition (line 4262) | #getCaretPosition(selection, isUp) {
    method #caretPositionFromPoint (line 4273) | static #caretPositionFromPoint(x, y) {
    method #setCaretPositionHelper (line 4286) | #setCaretPositionHelper(selection, caretX, select, element, rect) {
    method #setCaretPosition (line 4343) | #setCaretPosition(select, selection, newLineElement, newLineElementRec...
    method #getNodeOnNextPage (line 4353) | #getNodeOnNextPage(textLayer, isUp) {
    method moveCaret (line 4369) | moveCaret(isUp, select) {
  class CommentManager (line 4439) | class CommentManager {
    method constructor (line 4444) | constructor(commentDialog, sidebar, eventBus, linkService, overlayMana...
    method setSidebarUiManager (line 4455) | setSidebarUiManager(uiManager) {
    method showSidebar (line 4458) | showSidebar(annotations) {
    method hideSidebar (line 4461) | hideSidebar() {
    method removeComments (line 4464) | removeComments(ids) {
    method selectComment (line 4467) | selectComment(id) {
    method addComment (line 4470) | addComment(annotation) {
    method updateComment (line 4473) | updateComment(annotation) {
    method toggleCommentPopup (line 4476) | toggleCommentPopup(editor, isSelected, visibility, isEditable) {
    method destroyPopup (line 4482) | destroyPopup() {
    method updatePopupColor (line 4485) | updatePopupColor(editor) {
    method showDialog (line 4488) | showDialog(uiManager, editor, posX, posY, options) {
    method makeCommentColor (line 4491) | makeCommentColor(color, opacity) {
    method _makeCommentColor (line 4494) | static _makeCommentColor(color, opacity) {
    method destroy (line 4497) | destroy() {
  class CommentSidebar (line 4503) | class CommentSidebar {
    method constructor (line 4525) | constructor({
    method #makeSidebarResizable (line 4570) | #makeSidebarResizable(resizer) {
    method setUIManager (line 4633) | setUIManager(uiManager) {
    method show (line 4636) | show(annotations) {
    method hide (line 4662) | hide() {
    method removeComments (line 4669) | removeComments(ids) {
    method focusComment (line 4681) | focusComment(id) {
    method updateComment (line 4691) | updateComment(annotation) {
    method #removeComment (line 4726) | #removeComment(id) {
    method #removeAll (line 4741) | #removeAll() {
    method selectComment (line 4748) | selectComment(element, id = null) {
    method addComment (line 4764) | addComment(annotation) {
    method #setCommentsCount (line 4791) | #setCommentsCount(container = this.#commentsList) {
    method #createZeroCommentElement (line 4801) | #createZeroCommentElement() {
    method #setDate (line 4818) | #setDate(element, date) {
    method #setText (line 4823) | #setText(element, richText, contentsObj) {
    method #createCommentElement (line 4832) | #createCommentElement(annotation) {
    method #commentClick (line 4859) | async #commentClick({
    method #commentKeydown (line 4886) | #commentKeydown(e) {
    method #sortComments (line 4919) | #sortComments(a, b) {
  class CommentDialog (line 4946) | class CommentDialog {
    method constructor (line 4962) | constructor({
    method open (line 5045) | async open(uiManager, editor, posX, posY, options) {
    method #save (line 5118) | async #save() {
    method _dialogDimensions (line 5122) | get _dialogDimensions() {
    method #setPosition (line 5139) | #setPosition(x, y) {
    method #finish (line 5148) | #finish() {
    method destroy (line 5170) | destroy() {
  class CommentPopup (line 5176) | class CommentPopup {
    method constructor (line 5193) | constructor(eventBus, dateFormat, ltr, commentDialog) {
    method _popupWidth (line 5200) | get _popupWidth() {
    method #createPopup (line 5213) | #createPopup() {
    method updateColor (line 5346) | updateColor(editor) {
    method _hide (line 5356) | _hide(editor) {
    method toggle (line 5370) | toggle(editor, isSelected, visibility = undefined, isEditable = true) {
    method #setPosition (line 5436) | #setPosition(x, y, correctPosition) {
    method destroy (line 5461) | destroy() {
  function download (line 5473) | function download(blobUrl, filename) {
  class DownloadManager (line 5487) | class DownloadManager {
    method downloadData (line 5489) | downloadData(data, filename, contentType) {
    method openOrDownloadData (line 5495) | openOrDownloadData(data, filename, dest = null) {
    method download (line 5523) | download(data, url, filename) {
  class EditorUndoBar (line 5542) | class EditorUndoBar {
    method constructor (line 5560) | constructor({
    method destroy (line 5572) | destroy() {
    method show (line 5577) | show(undoAction, messageData) {
    method hide (line 5612) | hide() {
  class OverlayManager (line 5628) | class OverlayManager {
    method active (line 5631) | get active() {
    method register (line 5634) | async register(dialog, canForceClose = false) {
    method open (line 5651) | async open(dialog) {
    method close (line 5666) | async close(dialog = this.#active) {
    method closeIfActive (line 5677) | async closeIfActive(dialog) {
  class PasswordPrompt (line 5686) | class PasswordPrompt {
    method constructor (line 5690) | constructor(options, overlayManager, isViewerEmbedded = false) {
    method open (line 5708) | async open() {
    method close (line 5723) | async close() {
    method #verify (line 5726) | #verify() {
    method #cancel (line 5732) | #cancel() {
    method #invokeCallback (line 5736) | #invokeCallback(password) {
    method setUpdateCallback (line 5745) | async setUpdateCallback(updateCallback, reason) {
  constant TREEITEM_OFFSET_TOP (line 5756) | const TREEITEM_OFFSET_TOP = -100;
  constant TREEITEM_SELECTED_CLASS (line 5757) | const TREEITEM_SELECTED_CLASS = "selected";
  class BaseTreeViewer (line 5758) | class BaseTreeViewer {
    method constructor (line 5759) | constructor(options) {
    method reset (line 5765) | reset() {
    method _dispatchEvent (line 5772) | _dispatchEvent(count) {
    method _bindLink (line 5775) | _bindLink(element, params) {
    method _normalizeTextContent (line 5778) | _normalizeTextContent(str) {
    method _addToggleButton (line 5781) | _addToggleButton(div, hidden = false) {
    method _toggleTreeItem (line 5797) | _toggleTreeItem(root, show = false) {
    method _toggleAllTreeItems (line 5805) | _toggleAllTreeItems() {
    method _finishRendering (line 5808) | _finishRendering(fragment, count, hasAnyNesting = false) {
    method render (line 5818) | render(params) {
    method _updateCurrentTreeItem (line 5821) | _updateCurrentTreeItem(treeItem = null) {
    method _scrollToCurrentTreeItem (line 5831) | _scrollToCurrentTreeItem(treeItem) {
  class PDFAttachmentViewer (line 5853) | class PDFAttachmentViewer extends BaseTreeViewer {
    method constructor (line 5854) | constructor(options) {
    method reset (line 5859) | reset(keepRenderedCapability = false) {
    method _dispatchEvent (line 5867) | async _dispatchEvent(attachmentsCount) {
    method _bindLink (line 5886) | _bindLink(element, {
    method render (line 5899) | render({
    method #appendAttachment (line 5926) | #appendAttachment(item) {
  constant CSS_CLASS_GRAB (line 5949) | const CSS_CLASS_GRAB = "grab-to-pan-grab";
  class GrabToPan (line 5950) | class GrabToPan {
    method constructor (line 5954) | constructor({
    method activate (line 5962) | activate() {
    method deactivate (line 5972) | deactivate() {
    method toggle (line 5980) | toggle() {
    method ignoreTarget (line 5987) | ignoreTarget(node) {
    method #onMouseDown (line 5990) | #onMouseDown(event) {
    method #onMouseMove (line 6024) | #onMouseMove(event) {
    method #endPan (line 6042) | #endPan() {
  class PDFCursorTools (line 6055) | class PDFCursorTools {
    method constructor (line 6058) | constructor({
    method activeTool (line 6070) | get activeTool() {
    method switchTool (line 6073) | switchTool(tool) {
    method #switchTool (line 6079) | #switchTool(tool, disabled = false) {
    method #addEventListeners (line 6120) | #addEventListeners() {
    method _handTool (line 6163) | get _handTool() {
  constant NON_METRIC_LOCALES (line 6173) | const NON_METRIC_LOCALES = ["en-us", "en-lr", "my"];
  constant US_PAGE_NAMES (line 6174) | const US_PAGE_NAMES = {
  constant METRIC_PAGE_NAMES (line 6178) | const METRIC_PAGE_NAMES = {
  function getPageName (line 6182) | function getPageName(size, isPortrait, pageNames) {
  class PDFDocumentProperties (line 6187) | class PDFDocumentProperties {
    method constructor (line 6189) | constructor({
    method open (line 6210) | async open() {
    method close (line 6254) | async close() {
    method setDocument (line 6257) | setDocument(pdfDocument) {
    method #reset (line 6268) | #reset() {
    method #updateUI (line 6275) | #updateUI() {
    method #parseFileSize (line 6284) | async #parseFileSize(b = 0) {
    method #parsePageSize (line 6293) | async #parsePageSize(pageSizeInches, pagesRotation) {
    method #parseDate (line 6346) | async #parseDate(metadataDate, infoDate) {
    method #parseLinearization (line 6352) | #parseLinearization(isLinearized) {
  function isAlphabeticalScript (line 6368) | function isAlphabeticalScript(charCode) {
  function isAscii (line 6371) | function isAscii(charCode) {
  function isAsciiAlpha (line 6374) | function isAsciiAlpha(charCode) {
  function isAsciiDigit (line 6377) | function isAsciiDigit(charCode) {
  function isAsciiSpace (line 6380) | function isAsciiSpace(charCode) {
  function isHan (line 6383) | function isHan(charCode) {
  function isKatakana (line 6386) | function isKatakana(charCode) {
  function isHiragana (line 6389) | function isHiragana(charCode) {
  function isHalfwidthKatakana (line 6392) | function isHalfwidthKatakana(charCode) {
  function isThai (line 6395) | function isThai(charCode) {
  function getCharacterType (line 6398) | function getCharacterType(charCode) {
  function getNormalizeWithNFKC (line 6426) | function getNormalizeWithNFKC() {
  constant FIND_TIMEOUT (line 6440) | const FIND_TIMEOUT = 250;
  constant MATCH_SCROLL_OFFSET_TOP (line 6441) | const MATCH_SCROLL_OFFSET_TOP = -100;
  constant CHARACTERS_TO_NORMALIZE (line 6442) | const CHARACTERS_TO_NORMALIZE = {
  constant DIACRITICS_EXCEPTION (line 6456) | const DIACRITICS_EXCEPTION = new Set([0x3099, 0x309a, 0x094d, 0x09cd, 0x...
  constant DIACRITICS_EXCEPTION_STR (line 6457) | let DIACRITICS_EXCEPTION_STR;
  constant DIACRITICS_REG_EXP (line 6458) | const DIACRITICS_REG_EXP = /\p{M}+/gu;
  constant SPECIAL_CHARS_REG_EXP (line 6459) | const SPECIAL_CHARS_REG_EXP = /([.*+?^${}()|[\]\\])|(\p{P})|(\s+)|(\p{M}...
  constant NOT_DIACRITIC_FROM_END_REG_EXP (line 6460) | const NOT_DIACRITIC_FROM_END_REG_EXP = /([^\p{M}])\p{M}*$/u;
  constant NOT_DIACRITIC_FROM_START_REG_EXP (line 6461) | const NOT_DIACRITIC_FROM_START_REG_EXP = /^\p{M}*([^\p{M}])/u;
  constant SYLLABLES_REG_EXP (line 6462) | const SYLLABLES_REG_EXP = /[\uAC00-\uD7AF\uFA6C\uFACF-\uFAD1\uFAD5-\uFAD...
  constant SYLLABLES_LENGTHS (line 6463) | const SYLLABLES_LENGTHS = new Map();
  constant FIRST_CHAR_SYLLABLES_REG_EXP (line 6464) | const FIRST_CHAR_SYLLABLES_REG_EXP = "[\\u1100-\\u1112\\ud7a4-\\ud7af\\u...
  constant NFKC_CHARS_TO_NORMALIZE (line 6465) | const NFKC_CHARS_TO_NORMALIZE = new Map();
  function normalize (line 6468) | function normalize(text, options = {}) {
  function getOriginalIndex (line 6631) | function getOriginalIndex(diffs, pos, len) {
  class PDFFindController (line 6651) | class PDFFindController {
    method constructor (line 6655) | constructor({
    method highlightMatches (line 6668) | get highlightMatches() {
    method pageMatches (line 6671) | get pageMatches() {
    method pageMatchesLength (line 6674) | get pageMatchesLength() {
    method selected (line 6677) | get selected() {
    method state (line 6680) | get state() {
    method setDocument (line 6683) | setDocument(pdfDocument) {
    method #onFind (line 6693) | #onFind(state) {
    method scrollMatchIntoView (line 6743) | scrollMatchIntoView({
    method #reset (line 6763) | #reset() {
    method #query (line 6793) | get #query() {
    method #shouldDirtyMatch (line 6806) | #shouldDirtyMatch(state) {
    method #isEntireWord (line 6831) | #isEntireWord(content, startIdx, length) {
    method #convertToRegExpString (line 6850) | #convertToRegExpString(query, hasDiacritics) {
    method #calculateMatch (line 6890) | #calculateMatch(pageIndex) {
    method match (line 6930) | match(query, pageContent, pageIndex) {
    method #extractText (line 6964) | #extractText() {
    method #updatePage (line 7004) | #updatePage(index) {
    method #updateAllPages (line 7013) | #updateAllPages() {
    method #nextMatch (line 7019) | #nextMatch() {
    method #matchesReady (line 7068) | #matchesReady(matches) {
    method #nextPageMatch (line 7087) | #nextPageMatch() {
    method #advanceOffsetPage (line 7101) | #advanceOffsetPage(previous) {
    method #updateMatch (line 7112) | #updateMatch(found = false) {
    method #onFindBarClose (line 7131) | #onFindBarClose(evt) {
    method #requestMatchesCount (line 7150) | #requestMatchesCount() {
    method #updateUIResultsCount (line 7171) | #updateUIResultsCount() {
    method #updateUIState (line 7177) | #updateUIState(state, previous = false) {
  constant MATCHES_COUNT_LIMIT (line 7195) | const MATCHES_COUNT_LIMIT = 1000;
  class PDFFindBar (line 7196) | class PDFFindBar {
    method constructor (line 7199) | constructor(options, mainContainer, eventBus) {
    method reset (line 7252) | reset() {
    method dispatchEvent (line 7255) | dispatchEvent(type, findPrev = false) {
    method updateUIState (line 7267) | updateUIState(state, previous, matchesCount) {
    method updateResultsCount (line 7299) | updateResultsCount({
    method open (line 7319) | open() {
    method close (line 7329) | close() {
    method toggle (line 7340) | toggle() {
    method #resizeObserverCallback (line 7347) | #resizeObserverCallback() {
  constant HASH_CHANGE_TIMEOUT (line 7364) | const HASH_CHANGE_TIMEOUT = 1000;
  constant POSITION_UPDATED_THRESHOLD (line 7365) | const POSITION_UPDATED_THRESHOLD = 50;
  constant UPDATE_VIEWAREA_TIMEOUT (line 7366) | const UPDATE_VIEWAREA_TIMEOUT = 1000;
  function getCurrentHash (line 7367) | function getCurrentHash() {
  class PDFHistory (line 7370) | class PDFHistory {
    method constructor (line 7372) | constructor({
    method initialize (line 7390) | initialize({
    method reset (line 7446) | reset() {
    method push (line 7459) | push({
    method pushPage (line 7506) | pushPage(pageNumber) {
    method pushCurrentPosition (line 7533) | pushCurrentPosition() {
    method back (line 7539) | back() {
    method forward (line 7548) | forward() {
    method popStateInProgress (line 7557) | get popStateInProgress() {
    method initialBookmark (line 7560) | get initialBookmark() {
    method initialRotation (line 7563) | get initialRotation() {
    method #pushOrReplaceState (line 7566) | #pushOrReplaceState(destination, forceReplace = false) {
    method #tryPushCurrentPosition (line 7590) | #tryPushCurrentPosition(temporary = false) {
    method #isValidPage (line 7622) | #isValidPage(val) {
    method #isValidState (line 7625) | #isValidState(state, checkReload = false) {
    method #updateInternalState (line 7650) | #updateInternalState(destination, uid, removeTemporary = false) {
    method #parseCurrentHash (line 7663) | #parseCurrentHash(checkNameddest = false) {
    method #updateViewarea (line 7677) | #updateViewarea({
    method #popState (line 7705) | #popState({
    method #pageHide (line 7755) | #pageHide() {
    method #bindEvents (line 7760) | #bindEvents() {
    method #unbindEvents (line 7778) | #unbindEvents() {
  function isDestHashesEqual (line 7783) | function isDestHashesEqual(destHash, pushHash) {
  function isDestArraysEqual (line 7796) | function isDestArraysEqual(firstDest, secondDest) {
  class PDFLayerViewer (line 7833) | class PDFLayerViewer extends BaseTreeViewer {
    method constructor (line 7834) | constructor(options) {
    method reset (line 7844) | reset() {
    method _dispatchEvent (line 7850) | _dispatchEvent(layersCount) {
    method _bindLink (line 7856) | _bindLink(element, {
    method _setNestedName (line 7884) | _setNestedName(element, {
    method _addToggleButton (line 7895) | _addToggleButton(div, {
    method _toggleAllTreeItems (line 7900) | _toggleAllTreeItems() {
    method render (line 7906) | render({
    method #updateLayers (line 7970) | async #updateLayers(promise = null) {
  class PDFOutlineViewer (line 8004) | class PDFOutlineViewer extends BaseTreeViewer {
    method constructor (line 8005) | constructor(options) {
    method reset (line 8022) | reset() {
    method _dispatchEvent (line 8031) | _dispatchEvent(outlineCount) {
    method _bindLink (line 8044) | _bindLink(element, {
    method _setStyles (line 8092) | _setStyles(element, {
    method _addToggleButton (line 8103) | _addToggleButton(div, {
    method _toggleAllTreeItems (line 8129) | _toggleAllTreeItems() {
    method render (line 8135) | render({
    method _currentOutlineItem (line 8182) | async _currentOutlineItem() {
    method _getPageNumberToDestHash (line 8210) | async _getPageNumberToDestHash(pdfDocument) {
  constant DELAY_BEFORE_HIDING_CONTROLS (line 8266) | const DELAY_BEFORE_HIDING_CONTROLS = 3000;
  constant ACTIVE_SELECTOR (line 8267) | const ACTIVE_SELECTOR = "pdfPresentationMode";
  constant CONTROLS_SELECTOR (line 8268) | const CONTROLS_SELECTOR = "pdfPresentationModeControls";
  constant MOUSE_SCROLL_COOLDOWN_TIME (line 8269) | const MOUSE_SCROLL_COOLDOWN_TIME = 50;
  constant PAGE_SWITCH_THRESHOLD (line 8270) | const PAGE_SWITCH_THRESHOLD = 0.1;
  constant SWIPE_MIN_DISTANCE_THRESHOLD (line 8271) | const SWIPE_MIN_DISTANCE_THRESHOLD = 50;
  constant SWIPE_ANGLE_THRESHOLD (line 8272) | const SWIPE_ANGLE_THRESHOLD = Math.PI / 6;
  class PDFPresentationMode (line 8273) | class PDFPresentationMode {
    method constructor (line 8278) | constructor({
    method request (line 8291) | async request() {
    method active (line 8326) | get active() {
    method #mouseWheel (line 8329) | #mouseWheel(evt) {
    method #notifyStateChange (line 8353) | #notifyStateChange(state) {
    method #enter (line 8360) | #enter() {
    method #exit (line 8381) | #exit() {
    method #mouseDown (line 8405) | #mouseDown(evt) {
    method #contextMenu (line 8424) | #contextMenu() {
    method #showControls (line 8427) | #showControls() {
    method #hideControls (line 8438) | #hideControls() {
    method #resetMouseScrollState (line 8446) | #resetMouseScrollState() {
    method #touchSwipe (line 8450) | #touchSwipe(evt) {
    method #addWindowListeners (line 8496) | #addWindowListeners() {
    method #removeWindowListeners (line 8531) | #removeWindowListeners() {
    method #addFullscreenChangeListeners (line 8535) | #addFullscreenChangeListeners() {
    method #removeFullscreenChangeListeners (line 8550) | #removeFullscreenChangeListeners() {
  class XfaLayerBuilder (line 8558) | class XfaLayerBuilder {
    method constructor (line 8559) | constructor({
    method render (line 8572) | async render({
    method cancel (line 8614) | cancel() {
    method hide (line 8617) | hide() {
  function getXfaHtmlForPrinting (line 8629) | function getXfaHtmlForPrinting(printContainer, pdfDocument) {
  function renderPage (line 8663) | function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size,...
  class PDFPrintService (line 8695) | class PDFPrintService {
    method constructor (line 8696) | constructor({
    method layout (line 8714) | layout() {
    method destroy (line 8730) | destroy() {
    method renderPages (line 8748) | renderPages() {
    method useRenderedPage (line 8769) | useRenderedPage() {
    method performPrint (line 8791) | performPrint() {
    method active (line 8804) | get active() {
    method throwIfInactive (line 8807) | throwIfInactive() {
  function dispatchEvent (line 8842) | function dispatchEvent(eventType) {
  function abort (line 8850) | function abort() {
  function renderProgress (line 8856) | function renderProgress(index, total) {
  function ensureOverlay (line 8886) | function ensureOverlay() {
  class PDFPrintServiceFactory (line 8899) | class PDFPrintServiceFactory {
    method initGlobals (line 8900) | static initGlobals(app) {
    method supportsPrinting (line 8903) | static get supportsPrinting() {
    method createPrintService (line 8906) | static createPrintService(params) {
  constant CLEANUP_TIMEOUT (line 8917) | const CLEANUP_TIMEOUT = 30000;
  class PDFRenderingQueue (line 8918) | class PDFRenderingQueue {
    method constructor (line 8919) | constructor() {
    method setViewer (line 8931) | setViewer(pdfViewer) {
    method setThumbnailViewer (line 8934) | setThumbnailViewer(pdfThumbnailViewer) {
    method isHighestPriority (line 8937) | isHighestPriority(view) {
    method renderHighestPriority (line 8940) | renderHighestPriority(currentlyVisiblePages) {
    method getHighestPriority (line 8958) | getHighestPriority(visible, views, scrolledDown, preRenderExtra = fals...
    method isViewFinished (line 9009) | isViewFinished(view) {
    method renderView (line 9012) | renderView(view) {
  class PDFScriptingManager (line 9042) | class PDFScriptingManager {
    method constructor (line 9054) | constructor({
    method setViewer (line 9063) | setViewer(pdfViewer) {
    method setDocument (line 9066) | async setDocument(pdfDocument) {
    method dispatchWillSave (line 9177) | async dispatchWillSave() {
    method dispatchDidSave (line 9183) | async dispatchDidSave() {
    method dispatchWillPrint (line 9189) | async dispatchWillPrint() {
    method dispatchDidPrint (line 9207) | async dispatchDidPrint() {
    method destroyPromise (line 9213) | get destroyPromise() {
    method ready (line 9216) | get ready() {
    method _pageOpenPending (line 9219) | get _pageOpenPending() {
    method _visitedPages (line 9222) | get _visitedPages() {
    method #updateFromSandbox (line 9225) | async #updateFromSandbox(detail) {
    method #dispatchPageOpen (line 9316) | async #dispatchPageOpen(pageNumber, initialize = false) {
    method #dispatchPageClose (line 9345) | async #dispatchPageClose(pageNumber) {
    method #initScripting (line 9369) | #initScripting() {
    method #destroyScripting (line 9376) | async #destroyScripting() {
  constant SIDEBAR_WIDTH_VAR (line 9406) | const SIDEBAR_WIDTH_VAR = "--sidebar-width";
  constant SIDEBAR_MIN_WIDTH (line 9407) | const SIDEBAR_MIN_WIDTH = 200;
  constant SIDEBAR_RESIZING_CLASS (line 9408) | const SIDEBAR_RESIZING_CLASS = "sidebarResizing";
  constant UI_NOTIFICATION_CLASS (line 9409) | const UI_NOTIFICATION_CLASS = "pdfSidebarNotification";
  class PDFSidebar (line 9410) | class PDFSidebar {
    method constructor (line 9415) | constructor({
    method reset (line 9443) | reset() {
    method visibleView (line 9453) | get visibleView() {
    method setInitialView (line 9456) | setInitialView(view = SidebarView.NONE) {
    method switchView (line 9470) | switchView(view, forceOpen = false) {
    method open (line 9520) | open() {
    method close (line 9534) | close(evt = null) {
    method toggle (line 9548) | toggle(evt = null) {
    method #dispatchEvent (line 9555) | #dispatchEvent() {
    method #showUINotification (line 9564) | #showUINotification() {
    method #hideUINotification (line 9570) | #hideUINotification(reset = false) {
    method #addEventListeners (line 9578) | #addEventListeners() {
    method outerContainerWidth (line 9686) | get outerContainerWidth() {
    method #updateWidth (line 9689) | #updateWidth(width = 0) {
    method #mouseMove (line 9704) | #mouseMove(evt) {
    method #mouseUp (line 9711) | #mouseUp(evt) {
  class PdfTextExtractor (line 9722) | class PdfTextExtractor {
    method constructor (line 9727) | constructor(externalServices) {
    method setViewer (line 9735) | setViewer(pdfViewer) {
    method extractTextContent (line 9744) | async extractTextContent(requestId) {
  constant DRAW_UPSCALE_FACTOR (line 9770) | const DRAW_UPSCALE_FACTOR = 2;
  constant MAX_NUM_SCALING_STEPS (line 9771) | const MAX_NUM_SCALING_STEPS = 3;
  constant THUMBNAIL_WIDTH (line 9772) | const THUMBNAIL_WIDTH = 98;
  function zeroCanvas (line 9773) | function zeroCanvas(c) {
  class TempImageFactory (line 9777) | class TempImageFactory {
    method getCanvas (line 9779) | static getCanvas(width, height) {
    method destroyCanvas (line 9792) | static destroyCanvas() {
  class PDFThumbnailView (line 9799) | class PDFThumbnailView {
    method constructor (line 9800) | constructor({
    method #updateDims (line 9850) | #updateDims() {
    method setPdfPage (line 9865) | setPdfPage(pdfPage) {
    method reset (line 9875) | reset() {
    method update (line 9886) | update({
    method cancelRendering (line 9899) | cancelRendering() {
    method #getPageDrawContext (line 9906) | #getPageDrawContext(upscaleFactor = 1) {
    method #convertCanvasToImage (line 9920) | #convertCanvasToImage(canvas) {
    method draw (line 9935) | async draw() {
    method setImage (line 10002) | setImage(pageView) {
    method #getReducedImageDims (line 10023) | #getReducedImageDims(canvas) {
    method #reduceImage (line 10031) | #reduceImage(img) {
    method #pageL10nArgs (line 10058) | get #pageL10nArgs() {
    method setPageLabel (line 10063) | setPageLabel(label) {
  constant THUMBNAIL_SCROLL_MARGIN (line 10076) | const THUMBNAIL_SCROLL_MARGIN = -19;
  constant THUMBNAIL_SELECTED_CLASS (line 10077) | const THUMBNAIL_SELECTED_CLASS = "selected";
  class PDFThumbnailViewer (line 10078) | class PDFThumbnailViewer {
    method constructor (line 10079) | constructor({
    method #scrollUpdated (line 10101) | #scrollUpdated() {
    method getThumbnail (line 10104) | getThumbnail(index) {
    method #getVisibleThumbs (line 10107) | #getVisibleThumbs() {
    method scrollThumbnailIntoView (line 10113) | scrollThumbnailIntoView(pageNumber) {
    method pagesRotation (line 10156) | get pagesRotation() {
    method pagesRotation (line 10159) | set pagesRotation(rotation) {
    method cleanup (line 10177) | cleanup() {
    method #resetView (line 10185) | #resetView() {
    method setDocument (line 10192) | setDocument(pdfDocument) {
    method #cancelRendering (line 10233) | #cancelRendering() {
    method setPageLabels (line 10238) | setPageLabels(labels) {
    method #ensurePdfPageLoaded (line 10254) | async #ensurePdfPageLoaded(thumbView) {
    method #getScrollAhead (line 10269) | #getScrollAhead(visible) {
    method forceRendering (line 10277) | forceRendering() {
  class AnnotationEditorLayerBuilder (line 10294) | class AnnotationEditorLayerBuilder {
    method constructor (line 10301) | constructor(options) {
    method render (line 10316) | async render({
    method cancel (line 10362) | cancel() {
    method hide (line 10369) | hide() {
    method show (line 10376) | show() {
  class AnnotationLayerBuilder (line 10388) | class AnnotationLayerBuilder {
    method constructor (line 10395) | constructor({
    method render (line 10432) | async render({
    method #initAnnotationLayer (line 10486) | #initAnnotationLayer(viewport, structTreeLayer) {
    method cancel (line 10502) | cancel() {
    method hide (line 10507) | hide(internal = false) {
    method hasEditableAnnotations (line 10514) | hasEditableAnnotations() {
    method injectLinkAnnotations (line 10517) | async injectLinkAnnotations(inferredLinks) {
    method #updatePresentationModeState (line 10534) | #updatePresentationModeState(state) {
    method #checkInferredLinks (line 10555) | #checkInferredLinks(inferredLinks) {
  function DOMRectToPDF (line 10614) | function DOMRectToPDF({
  function calculateLinkPosition (line 10628) | function calculateLinkPosition(range, pdfPageView) {
  function textPosition (line 10655) | function textPosition(container, offset) {
  function createLinkAnnotation (line 10677) | function createLinkAnnotation({
  class Autolinker (line 10700) | class Autolinker {
    method findLinks (line 10703) | static findLinks(text) {
    method processLinks (line 10734) | static processLinks(pdfPageView) {
  class BasePDFPageView (line 10742) | class BasePDFPageView {
    method constructor (line 10760) | constructor(options) {
    method renderingState (line 10768) | get renderingState() {
    method renderingState (line 10771) | set renderingState(state) {
    method _createCanvas (line 10801) | _createCanvas(onShow, hideUntilComplete = false) {
    method _resetCanvas (line 10865) | _resetCanvas() {
    method #resetTempCanvas (line 10877) | #resetTempCanvas() {
    method _drawCanvas (line 10883) | async _drawCanvas(options, onCancel, onFinish) {
    method cancelRendering (line 10917) | cancelRendering({
    method dispatchPageRender (line 10926) | dispatchPageRender() {
    method dispatchPageRendered (line 10932) | dispatchPageRendered(cssTransform, isDetailView) {
  class DrawLayerBuilder (line 10946) | class DrawLayerBuilder {
    method constructor (line 10948) | constructor(options) {
    method render (line 10951) | async render({
    method cancel (line 10961) | cancel() {
    method setParent (line 10969) | setParent(parent) {
    method getDrawLayer (line 10972) | getDrawLayer() {
  class PDFPageDetailView (line 10981) | class PDFPageDetailView extends BasePDFPageView {
    method constructor (line 10984) | constructor({
    method setPdfPage (line 10992) | setPdfPage(pdfPage) {
    method pdfPage (line 10995) | get pdfPage() {
    method renderingState (line 10998) | get renderingState() {
    method renderingState (line 11001) | set renderingState(value) {
    method reset (line 11005) | reset({
    method #shouldRenderDifferentArea (line 11016) | #shouldRenderDifferentArea(visibleArea) {
    method update (line 11046) | update({
    method _getRenderingContext (line 11091) | _getRenderingContext(canvas, transform) {
    method draw (line 11123) | async draw() {
  constant PDF_ROLE_TO_HTML_ROLE (line 11190) | const PDF_ROLE_TO_HTML_ROLE = {
  class MathMLSanitizer (line 11234) | class MathMLSanitizer {
    method sanitizer (line 11235) | static get sanitizer() {
  constant HEADING_PATTERN (line 11250) | const HEADING_PATTERN = /^H(\d+)$/;
  class StructTreeLayerBuilder (line 11251) | class StructTreeLayerBuilder {
    method constructor (line 11258) | constructor(pdfPage, rawDims) {
    method render (line 11262) | async render() {
    method getAriaAttributes (line 11282) | async getAriaAttributes(annotationId) {
    method hide (line 11289) | hide() {
    method show (line 11294) | show() {
    method #setAttributes (line 11299) | #setAttributes(structElement, htmlElement) {
    method #addImageInTextLayer (line 11330) | #addImageInTextLayer(node, element) {
    method addElementsToTextLayer (line 11366) | addElementsToTextLayer() {
    method #walk (line 11376) | #walk(node) {
  class TextAccessibilityManager (line 11424) | class TextAccessibilityManager {
    method setTextMapping (line 11429) | setTextMapping(textDivs) {
    method #compareElementPositions (line 11432) | static #compareElementPositions(e1, e2) {
    method enable (line 11457) | enable() {
    method disable (line 11483) | disable() {
    method removePointerInTextLayer (line 11491) | removePointerInTextLayer(element) {
    method #addIdToAriaOwns (line 11520) | #addIdToAriaOwns(id, node) {
    method addPointerInTextLayer (line 11527) | addPointerInTextLayer(element, isRemovable) {
    method moveElementInDOM (line 11553) | moveElementInDOM(container, element, contentElement, isRemovable) {
  class TextHighlighter (line 11574) | class TextHighlighter {
    method constructor (line 11576) | constructor({
    method setTextMapping (line 11589) | setTextMapping(divs, texts) {
    method enable (line 11593) | enable() {
    method disable (line 11613) | disable() {
    method _convertMatches (line 11622) | _convertMatches(matches, matchesLength) {
    method _renderMatches (line 11661) | _renderMatches(matches) {
    method _updateMatches (line 11767) | _updateMatches(reset = false) {
  class TextLayerBuilder (line 11803) | class TextLayerBuilder {
    method constructor (line 11810) | constructor({
    method render (line 11826) | async render({
    method hide (line 11863) | hide() {
    method show (line 11869) | show() {
    method cancel (line 11875) | cancel() {
    method #bindMouse (line 11882) | #bindMouse(end) {
    method #removeGlobalSelectionListener (line 11899) | static #removeGlobalSelectionListener(textLayerDiv) {
    method #enableGlobalSelectionListener (line 11906) | static #enableGlobalSelectionListener() {
  constant DEFAULT_LAYER_PROPERTIES (line 12017) | const DEFAULT_LAYER_PROPERTIES = null;
  constant LAYERS_ORDER (line 12018) | const LAYERS_ORDER = new Map([["canvasWrapper", 0], ["textLayer", 1], ["...
  class PDFPageView (line 12019) | class PDFPageView extends BasePDFPageView {
    method constructor (line 12040) | constructor(options) {
    method #addLayer (line 12106) | #addLayer(div, name) {
    method #setDimensions (line 12123) | #setDimensions() {
    method setPdfPage (line 12144) | setPdfPage(pdfPage) {
    method destroy (line 12159) | destroy() {
    method hasEditableAnnotations (line 12163) | hasEditableAnnotations() {
    method _textHighlighter (line 12166) | get _textHighlighter() {
    method #dispatchLayerRendered (line 12173) | #dispatchLayerRendered(name, error) {
    method #renderAnnotationLayer (line 12180) | async #renderAnnotationLayer() {
    method #renderAnnotationEditorLayer (line 12195) | async #renderAnnotationEditorLayer() {
    method #renderDrawLayer (line 12209) | async #renderDrawLayer() {
    method #renderXfaLayer (line 12218) | async #renderXfaLayer() {
    method #renderTextLayer (line 12240) | async #renderTextLayer() {
    method #renderStructTreeLayer (line 12259) | async #renderStructTreeLayer() {
    method #buildXfaTextContentItems (line 12274) | async #buildXfaTextContentItems(textDivs) {
    method #injectLinkAnnotations (line 12283) | async #injectLinkAnnotations(textLayerPromise) {
    method _resetCanvas (line 12296) | _resetCanvas() {
    method reset (line 12300) | reset({
    method toggleEditingMode (line 12369) | toggleEditingMode(isEditing) {
    method updateVisibleArea (line 12382) | updateVisibleArea(visibleArea) {
    method update (line 12398) | update({
    method #computeScale (line 12472) | #computeScale() {
    method cancelRendering (line 12492) | cancelRendering({
    method cssTransform (line 12528) | cssTransform({
    method width (line 12577) | get width() {
    method height (line 12580) | get height() {
    method getPagePoint (line 12583) | getPagePoint(x, y) {
    method _ensureCanvasWrapper (line 12586) | _ensureCanvasWrapper() {
    method _getRenderingContext (line 12595) | _getRenderingContext(canvas, transform, recordOperations) {
    method draw (line 12608) | async draw() {
    method setPageLabel (line 12772) | setPageLabel(label) {
    method thumbnailCanvas (line 12783) | get thumbnailCanvas() {
  constant DEFAULT_CACHE_SIZE (line 12800) | const DEFAULT_CACHE_SIZE = 10;
  function isValidAnnotationEditorMode (line 12806) | function isValidAnnotationEditorMode(mode) {
  class PDFPageViewBuffer (line 12809) | class PDFPageViewBuffer {
    method constructor (line 12812) | constructor(size) {
    method push (line 12815) | push(view) {
    method resize (line 12825) | resize(newSize, idsToKeep = null) {
    method has (line 12845) | has(view) {
    method #destroyFirstView (line 12851) | #destroyFirstView() {
  method [Symbol.iterator] (line 12848) | [Symbol.iterator]() {
  class PDFViewer (line 12857) | class PDFViewer {
    method constructor (line 12891) | constructor(options) {
    method printingAllowed (line 12978) | get printingAllowed() {
    method pagesCount (line 12981) | get pagesCount() {
    method getPageView (line 12984) | getPageView(index) {
    method getCachedPageViews (line 12987) | getCachedPageViews() {
    method pageViewsReady (line 12990) | get pageViewsReady() {
    method renderForms (line 12993) | get renderForms() {
    method enableScripting (line 12996) | get enableScripting() {
    method currentPageNumber (line 12999) | get currentPageNumber() {
    method currentPageNumber (line 13002) | set currentPageNumber(val) {
    method _setCurrentPageNumber (line 13013) | _setCurrentPageNumber(val, resetCurrentPageView = false) {
    method currentPageLabel (line 13036) | get currentPageLabel() {
    method currentPageLabel (line 13039) | set currentPageLabel(val) {
    method currentScale (line 13054) | get currentScale() {
    method currentScale (line 13057) | set currentScale(val) {
    method currentScaleValue (line 13068) | get currentScaleValue() {
    method currentScaleValue (line 13071) | set currentScaleValue(val) {
    method pagesRotation (line 13079) | get pagesRotation() {
    method pagesRotation (line 13082) | set pagesRotation(rotation) {
    method firstPagePromise (line 13115) | get firstPagePromise() {
    method onePageRendered (line 13118) | get onePageRendered() {
    method pagesPromise (line 13121) | get pagesPromise() {
    method _layerProperties (line 13124) | get _layerProperties() {
    method #initializePermissions (line 13156) | #initializePermissions(permissions) {
    method #onePageRenderedOrForceFetch (line 13186) | async #onePageRenderedOrForceFetch(signal) {
    method getAllText (line 13202) | async getAllText() {
    method #copyCallback (line 13226) | #copyCallback(textLayerMode, event) {
    method setDocument (line 13261) | setDocument(pdfDocument) {
    method setPageLabels (line 13482) | setPageLabels(labels) {
    method _resetView (line 13498) | _resetView() {
    method #ensurePageViewVisible (line 13529) | #ensurePageViewVisible() {
    method _scrollUpdate (line 13574) | _scrollUpdate() {
    method #scrollIntoView (line 13587) | #scrollIntoView(pageView, pageSpot = null) {
    method #isSameScale (line 13618) | #isSameScale(newScale) {
    method #setScaleUpdatePages (line 13621) | #setScaleUpdatePages(newScale, newValue, {
    method #pageWidthScaleFactor (line 13682) | get #pageWidthScaleFactor() {
    method #setScale (line 13688) | #setScale(value, options) {
    method #resetCurrentPageView (line 13737) | #resetCurrentPageView() {
    method pageLabelToPageNumber (line 13746) | pageLabelToPageNumber(label) {
    method scrollPageIntoView (line 13756) | scrollPageIntoView({
    method _updateLocation (line 13863) | _updateLocation(firstPage) {
    method update (line 13886) | update() {
    method #switchToEditAnnotationMode (line 13926) | #switchToEditAnnotationMode() {
    method containsElement (line 13954) | containsElement(element) {
    method focus (line 13957) | focus() {
    method _isContainerRtl (line 13960) | get _isContainerRtl() {
    method isInPresentationMode (line 13963) | get isInPresentationMode() {
    method isChangingPresentationMode (line 13966) | get isChangingPresentationMode() {
    method isHorizontalScrollbarEnabled (line 13969) | get isHorizontalScrollbarEnabled() {
    method isVerticalScrollbarEnabled (line 13972) | get isVerticalScrollbarEnabled() {
    method _getVisiblePages (line 13975) | _getVisiblePages() {
    method cleanup (line 13987) | cleanup() {
    method _cancelRendering (line 13994) | _cancelRendering() {
    method #ensurePdfPageLoaded (line 13999) | async #ensurePdfPageLoaded(pageView) {
    method #getScrollAhead (line 14014) | #getScrollAhead(visible) {
    method forceRendering (line 14028) | forceRendering(currentlyVisiblePages) {
    method hasEqualPageSizes (line 14042) | get hasEqualPageSizes() {
    method getPagesOverview (line 14052) | getPagesOverview() {
    method optionalContentConfigPromise (line 14075) | get optionalContentConfigPromise() {
    method optionalContentConfigPromise (line 14087) | set optionalContentConfigPromise(promise) {
    method scrollMode (line 14106) | get scrollMode() {
    method scrollMode (line 14109) | set scrollMode(mode) {
    method _updateScrollMode (line 14127) | _updateScrollMode(pageNumber = null) {
    method spreadMode (line 14148) | get spreadMode() {
    method spreadMode (line 14151) | set spreadMode(mode) {
    method _updateSpreadMode (line 14165) | _updateSpreadMode(pageNumber = null) {
    method _getPageAdvance (line 14206) | _getPageAdvance(currentPageNumber, previous = false) {
    method nextPage (line 14308) | nextPage() {
    method previousPage (line 14318) | previousPage() {
    method updateScale (line 14327) | updateScale({
    method increaseScale (line 14357) | increaseScale(options = {}) {
    method decreaseScale (line 14363) | decreaseScale(options = {}) {
    method #updateContainerHeightCss (line 14369) | #updateContainerHeightCss(height = this.container.clientHeight) {
    method #resizeObserverCallback (line 14375) | #resizeObserverCallback(entries) {
    method containerTopLeft (line 14384) | get containerTopLeft() {
    method #cleanupTimeouts (line 14387) | #cleanupTimeouts() {
    method #cleanupSwitchAnnotationEditorMode (line 14397) | #cleanupSwitchAnnotationEditorMode() {
    method #preloadEditingData (line 14405) | #preloadEditingData(mode) {
    method annotationEditorMode (line 14415) | get annotationEditorMode() {
    method annotationEditorMode (line 14418) | set annotationEditorMode({
    method refresh (line 14483) | refresh(noUpdate = false, updateArgs = Object.create(null)) {
  class SecondaryToolbar (line 14500) | class SecondaryToolbar {
    method constructor (line 14502) | constructor(options, eventBus) {
    method isOpen (line 14618) | get isOpen() {
    method setPageNumber (line 14621) | setPageNumber(pageNumber) {
    method setPagesCount (line 14625) | setPagesCount(pagesCount) {
    method reset (line 14629) | reset() {
    method #updateUIState (line 14644) | #updateUIState() {
    method #bindListeners (line 14656) | #bindListeners(buttons) {
    method #cursorToolChanged (line 14695) | #cursorToolChanged({
    method #scrollModeChanged (line 14708) | #scrollModeChanged({
    method #spreadModeChanged (line 14734) | #spreadModeChanged({
    method open (line 14746) | open() {
    method close (line 14757) | close() {
    method toggle (line 14768) | toggle() {
  constant DEFAULT_HEIGHT_IN_PAGE (line 14779) | const DEFAULT_HEIGHT_IN_PAGE = 40;
  class SignatureManager (line 14780) | class SignatureManager {
    method constructor (line 14821) | constructor({
    method #initTabButtons (line 14924) | #initTabButtons(typeButton, drawButton, imageButton, panels) {
    method #resetCommon (line 14957) | #resetCommon() {
    method #resetTab (line 14964) | #resetTab(name) {
    method #initTab (line 14985) | #initTab(name) {
    method #disableButtons (line 15017) | #disableButtons(value) {
    method #initTypeTab (line 15023) | #initTypeTab(reset) {
    method #initDrawTab (line 15049) | #initDrawTab(reset) {
    method #showError (line 15174) | #showError(type) {
    method #initImageTab (line 15179) | #initImageTab(reset) {
    method #extractSignature (line 15253) | async #extractSignature(file) {
    method #getOutlineForType (line 15289) | #getOutlineForType() {
    method #getOutlineForDraw (line 15292) | #getOutlineForDraw() {
    method #reportTelemetry (line 15299) | #reportTelemetry(data) {
    method #addToolbarButton (line 15308) | #addToolbarButton(signatureData, uuid, description) {
    method #signaturesChanged (line 15407) | async #signaturesChanged() {
    method getSignature (line 15415) | getSignature(params) {
    method loadSignatures (line 15418) | async loadSignatures(reload = false) {
    method renderEditButton (line 15447) | async renderEditButton(editor) {
    method open (line 15464) | async open({
    method #cancel (line 15483) | #cancel() {
    method #finish (line 15486) | #finish() {
    method #close (line 15489) | #close() {
    method #add (line 15506) | async #add() {
    method destroy (line 15569) | destroy() {
  class EditDescriptionDialog (line 15574) | class EditDescriptionDialog {
    method constructor (line 15582) | constructor({
    method open (line 15619) | async open(editor) {
    method #update (line 15639) | async #update() {
    method #cancel (line 15649) | #cancel() {
    method #finish (line 15658) | #finish() {
    method #close (line 15661) | #close() {
  class Toolbar (line 15672) | class Toolbar {
    method constructor (line 15675) | constructor(options, eventBus, toolbarDensity = 0) {
    method #updateToolbarDensity (line 15775) | #updateToolbarDensity({
    method setPageNumber (line 15789) | setPageNumber(pageNumber, pageLabel) {
    method setPagesCount (line 15794) | setPagesCount(pagesCount, hasPageLabels) {
    method setPageScale (line 15799) | setPageScale(pageScaleValue, pageScale) {
    method reset (line 15804) | reset() {
    method #bindListeners (line 15818) | #bindListeners(buttons) {
    method #editorModeChanged (line 15905) | #editorModeChanged({
    method #updateUIState (line 15930) | #updateUIState(resetNumPages = false) {
    method updateLoadingIndicatorState (line 15980) | updateLoadingIndicatorState(loading = false) {
  constant DEFAULT_VIEW_HISTORY_CACHE_SIZE (line 15989) | const DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20;
  class ViewHistory (line 15990) | class ViewHistory {
    method constructor (line 15991) | constructor(fingerprint, cacheSize = DEFAULT_VIEW_HISTORY_CACHE_SIZE) {
    method _writeToStorage (line 16020) | async _writeToStorage() {
    method _readFromStorage (line 16024) | async _readFromStorage() {
    method set (line 16027) | async set(name, val) {
    method setMultiple (line 16032) | async setMultiple(properties) {
    method get (line 16039) | async get(name, defaultValue) {
    method getMultiple (line 16044) | async getMultiple(properties) {
  constant FORCE_PAGES_LOADED_TIMEOUT (line 16092) | const FORCE_PAGES_LOADED_TIMEOUT = 10000;
  method initialize (line 16160) | async initialize(appConfig) {
  method _parseHashParams (line 16195) | async _parseHashParams() {
  method _initializeViewerComponents (line 16285) | async _initializeViewerComponents() {
  method run (line 16505) | async run(config) {
  method externalServices (line 16589) | get externalServices() {
  method initialized (line 16592) | get initialized() {
  method initializedPromise (line 16595) | get initializedPromise() {
  method updateZoom (line 16598) | updateZoom(steps, scaleFactor, origin) {
  method zoomIn (line 16609) | zoomIn() {
  method zoomOut (line 16612) | zoomOut() {
  method zoomReset (line 16615) | zoomReset() {
  method touchPinchCallback (line 16621) | touchPinchCallback(origin, prevDistance, distance) {
  method touchPinchEndCallback (line 16631) | touchPinchEndCallback() {
  method pagesCount (line 16635) | get pagesCount() {
  method page (line 16638) | get page() {
  method page (line 16641) | set page(val) {
  method supportsPrinting (line 16644) | get supportsPrinting() {
  method supportsFullscreen (line 16647) | get supportsFullscreen() {
  method supportsPinchToZoom (line 16650) | get supportsPinchToZoom() {
  method supportsIntegratedFind (line 16653) | get supportsIntegratedFind() {
  method loadingBar (line 16656) | get loadingBar() {
  method supportsMouseWheelZoomCtrlKey (line 16661) | get supportsMouseWheelZoomCtrlKey() {
  method supportsMouseWheelZoomMetaKey (line 16664) | get supportsMouseWheelZoomMetaKey() {
  method supportsCaretBrowsingMode (line 16667) | get supportsCaretBrowsingMode() {
  method moveCaret (line 16670) | moveCaret(isUp, select) {
  method setTitleUsingUrl (line 16674) | setTitleUsingUrl(url = "", downloadUrl = null) {
  method setTitle (line 16691) | setTitle(title = this._title) {
  method _docFilename (line 16699) | get _docFilename() {
  method _docTitle (line 16702) | get _docTitle() {
  method _hideViewBookmark (line 16715) | _hideViewBookmark() {
  method close (line 16724) | async close() {
  method open (line 16771) | async open(args) {
  method download (line 16819) | async download() {
  method save (line 16826) | async save() {
  method downloadOrSave (line 16853) | async downloadOrSave() {
  method _documentError (line 16861) | async _documentError(key, moreInfo = null) {
  method _otherError (line 16870) | async _otherError(key, moreInfo = null) {
  method progress (line 16889) | progress(level) {
  method load (line 16899) | load(pdfDocument) {
  method _scriptingDocProperties (line 17060) | async _scriptingDocProperties(pdfDocument) {
  method _initializeAutoPrint (line 17092) | async _initializeAutoPrint(pdfDocument, openActionPromise) {
  method _initializeMetadata (line 17119) | async _initializeMetadata(pdfDocument) {
  method _initializePageLabels (line 17156) | async _initializePageLabels(pdfDocument) {
  method _initializePdfHistory (line 17190) | _initializePdfHistory({
  method _initializeAnnotationStorageCallbacks (line 17215) | _initializeAnnotationStorageCallbacks(pdfDocument) {
  method setInitialView (line 17235) | setInitialView(storedHash, {
  method _cleanup (line 17272) | _cleanup() {
  method forceRendering (line 17280) | forceRendering() {
  method beforePrint (line 17285) | beforePrint() {
  method afterPrint (line 17320) | afterPrint() {
  method rotatePages (line 17335) | rotatePages(delta) {
  method requestPresentationMode (line 17338) | requestPresentationMode() {
  method triggerPrinting (line 17341) | async triggerPrinting() {
  method bindEvents (line 17346) | bindEvents() {
  method bindWindowEvents (line 17403) | bindWindowEvents() {
  method unbindEvents (line 17527) | unbindEvents() {
  method unbindWindowEvents (line 17531) | unbindWindowEvents() {
  method testingClose (line 17536) | async testingClose() {
  method _accumulateTicks (line 17544) | _accumulateTicks(ticks, prop) {
  method _accumulateFactor (line 17553) | _accumulateFactor(previousScale, factor, prop) {
  method _unblockDocumentLoadEvent (line 17564) | _unblockDocumentLoadEvent() {
  method scriptingReady (line 17568) | get scriptingReady() {
  function onPageRender (line 17610) | function onPageRender({
  function onPageRendered (line 17617) | function onPageRendered({
  function onPageMode (line 17636) | function onPageMode({
  function onNamedAction (line 17663) | function onNamedAction(evt) {
  function onSidebarViewChanged (line 17681) | function onSidebarViewChanged({
  function onUpdateViewarea (line 17689) | function onUpdateViewarea({
  function onViewerModesChanged (line 17705) | function onViewerModesChanged(name, evt) {
  function onResize (line 17710) | function onResize() {
  function onHashchange (line 17728) | function onHashchange(evt) {
  function onPageNumberChanged (line 17739) | function onPageNumberChanged(evt) {
  function onImageAltTextSettings (line 17750) | function onImageAltTextSettings() {
  function onFindFromUrlHash (line 17756) | function onFindFromUrlHash(evt) {
  function onUpdateFindMatchesCount (line 17768) | function onUpdateFindMatchesCount({
  function onUpdateFindControlState (line 17777) | function onUpdateFindControlState({
  function onScaleChanging (line 17796) | function onScaleChanging(evt) {
  function onRotationChanging (line 17800) | function onRotationChanging(evt) {
  function onPageChanging (line 17807) | function onPageChanging({
  function onWheel (line 17819) | function onWheel(evt) {
  function closeSecondaryToolbar (line 17855) | function closeSecondaryToolbar({
  function closeEditorUndoBar (line 17869) | function closeEditorUndoBar(evt) {
  function onClick (line 17877) | function onClick(evt) {
  function onKeyUp (line 17881) | function onKeyUp(evt) {
  function onKeyDown (line 17886) | function onKeyDown(evt) {
  function beforeUnload (line 18161) | function beforeUnload(evt) {
  function getViewerConfiguration (line 18181) | function getViewerConfiguration() {
  function webViewerLoad (line 18397) | function webViewerLoad() {
Copy disabled (too large) Download .json
Condensed preview — 5084 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (49,194K chars).
[
  {
    "path": ".devcontainer/README.md",
    "chars": 1257,
    "preview": "## Overview\n\nWith [VS Code Remote Development](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vsco"
  },
  {
    "path": ".devcontainer/devcontainer.json",
    "chars": 207,
    "preview": "{\n\t\"name\": \"Node.js 18 & TeX Live Base\",\n\t\"dockerFile\": \"stable/Dockerfile\",\n\t\"customizations\": {\n\t\t\"vscode\": {\n\t\t\t\"exte"
  },
  {
    "path": ".devcontainer/sid/Dockerfile",
    "chars": 1410,
    "preview": "FROM debian:sid-slim\n\nENV DEBIAN_FRONTEND=noninteractive\nRUN apt-get update \\\n    && apt-get -y install --no-install-rec"
  },
  {
    "path": ".devcontainer/stable/Dockerfile",
    "chars": 1844,
    "preview": "#-------------------------------------------------------------------------------------------------------------\n# Copyrig"
  },
  {
    "path": ".devcontainer/texlive/Dockerfile",
    "chars": 721,
    "preview": "FROM texlive/texlive:latest\n\n# https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributio"
  },
  {
    "path": ".gitattributes",
    "chars": 62,
    "preview": "*.js linguist-detectable=false\n*.ftl linguist-detectable=false"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug-report.md",
    "chars": 2174,
    "preview": "---\nname: Bug Report\nabout: Create a bug report to help us resolve problems\n---\n\n> _Please fill the following fields wit"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature-request.md",
    "chars": 633,
    "preview": "---\nname: Feature Request\nabout: Suggest a feature to improve the extension\n---\n\n> _Please fill the following fields wit"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 112,
    "preview": "version: 2\nupdates:\n- package-ecosystem: \"github-actions\"\n  directory: \"/\"\n  schedule:\n      interval: \"weekly\"\n"
  },
  {
    "path": ".github/disabled/docker_on_linux.yml",
    "chars": 491,
    "preview": "name: Docker on Linux\non: [push]\n\njobs:\n  linux:\n    runs-on: ubuntu-latest\n    timeout-minutes: 30\n    steps:\n    - use"
  },
  {
    "path": ".github/workflows/README.md",
    "chars": 1648,
    "preview": "# Overview\n\nWe run tests on GitHub Actions on Windows, macOS, and Linux with the minimal installations of TeX Live.\n\nWe "
  },
  {
    "path": ".github/workflows/codeql-analysis.yml",
    "chars": 2587,
    "preview": "# For most projects, this workflow file will not need changing; you simply need\n# to commit it to your repository.\n#\n# Y"
  },
  {
    "path": ".github/workflows/lock.yml",
    "chars": 447,
    "preview": "name: 'Lock Threads'\n\non:\n  schedule:\n    # avoid rate limit at 00:00 everyday\n    - cron: '37 2 * * *'\n  workflow_dispa"
  },
  {
    "path": ".github/workflows/package.yml",
    "chars": 532,
    "preview": "name: LaTeX Workshop Extension Package\nenv:\n  cache-version: v12\non: [push]\n\npermissions:\n  contents: read\n\njobs:\n  linu"
  },
  {
    "path": ".github/workflows/texlive_on_linux.yml",
    "chars": 2241,
    "preview": "name: TeX Live on Linux\nenv:\n  cache-version: v12\non: [push, pull_request]\n\npermissions:\n  contents: read\n\njobs:\n  linux"
  },
  {
    "path": ".github/workflows/texlive_on_mac.yml",
    "chars": 2412,
    "preview": "name: TeX Live on macOS\nenv:\n  cache-version: v12\non: [push, pull_request]\n\npermissions:\n  contents: read\n\njobs:\n  macos"
  },
  {
    "path": ".github/workflows/texlive_on_win.yml",
    "chars": 2259,
    "preview": "name: TeX Live on Windows\nenv:\n  cache-version: v12\non: [push, pull_request]\n\npermissions:\n  contents: read\n\njobs:\n  win"
  },
  {
    "path": ".gitignore",
    "chars": 416,
    "preview": "out/\n.vscode-test/\nnode_modules/\ndev/expl3.cwl\ndev/unimathsymbols.txt\ndev/cwl/\nVERSION\n.idea/\n__pycache__/\n.mypy_cache/\n"
  },
  {
    "path": ".vscode/extensions.json",
    "chars": 248,
    "preview": "{\n\t// See http://go.microsoft.com/fwlink/?LinkId=827846\n\t// for the documentation about the extensions.json format\n\t\"rec"
  },
  {
    "path": ".vscode/launch.json",
    "chars": 2907,
    "preview": "// A launch configuration that compiles the extension and then opens it inside a new window\n{\n    \"version\": \"0.2.0\",\n  "
  },
  {
    "path": ".vscode/settings.json",
    "chars": 652,
    "preview": "// Place your settings in this file to overwrite default and user settings.\n{\n    \"files.exclude\": {\n        \"out\": true"
  },
  {
    "path": ".vscode/tasks.json",
    "chars": 1298,
    "preview": "// See https://go.microsoft.com/fwlink/?LinkId=733558\n// for the documentation about the tasks.json format\n{\n    \"versio"
  },
  {
    "path": ".vscodeignore",
    "chars": 1193,
    "preview": ".vscode/\n.vscode-test/\ncoverage/\nout/data/\nout/dev/\nout/resources/\nout/snippets/\nout/test/\ntest/\nsrc/**/*.ts\nsrc/**/*.md"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 106690,
    "preview": "# Change Log\n\n## [10.13.1] - 2026-02-26\n\n### Fixed\n- Fix expansion of `%OUTDIR%` in `%AUXDIR%`.\n\n## [10.13.0] - 2026-02-"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 1862,
    "preview": "# Contributing to LaTeX-Workshop\n\nPlease notice that we can reject any kinds of pull requests. Especially, we will rejec"
  },
  {
    "path": "LICENSE.txt",
    "chars": 1075,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2016 James Yu\n\nPermission is hereby granted, free of charge, to any person obtainin"
  },
  {
    "path": "README.md",
    "chars": 15544,
    "preview": "# Visual Studio Code LaTeX Workshop Extension\n\n[![version](https://img.shields.io/visual-studio-marketplace/v/James-Yu.l"
  },
  {
    "path": "data/README.md",
    "chars": 2808,
    "preview": "# Data files for intellisense\n\nWe describe how the data files used for intellisense are generated.\n\n## Unicode mathemati"
  },
  {
    "path": "data/at-suggestions.json",
    "chars": 5653,
    "preview": "{\n\t\"cdot\": {\n\t\t\"prefix\": \"@.\",\n\t\t\"body\": \"\\\\cdot\",\n\t\t\"description\": \"\\\\cdot\"\n\t},\n\t\"infinity\": {\n\t\t\"prefix\": \"@8\",\n\t\t\"bod"
  },
  {
    "path": "data/biblatex-entries.json",
    "chars": 2985,
    "preview": "{\n    \"article\": [\n        \"author\",\n        \"date\",\n        \"journaltitle\",\n        \"title\",\n        \"year\"\n    ],\n    "
  },
  {
    "path": "data/biblatex-optional-entries.json",
    "chars": 17063,
    "preview": "{\n    \"article\": [\n        \"addendum\",\n        \"annotator\",\n        \"commentator\",\n        \"doi\",\n        \"editor\",\n    "
  },
  {
    "path": "data/bibtex-entries.json",
    "chars": 1476,
    "preview": "{\n    \"article\": [\n        \"author\",\n        \"journal\",\n        \"number\",\n        \"title\",\n        \"volume\",\n        \"ye"
  },
  {
    "path": "data/bibtex-optional-entries.json",
    "chars": 7414,
    "preview": "{\n    \"article\": [\n        \"addendum\",\n        \"annotator\",\n        \"commentator\",\n        \"doi\",\n        \"editor\",\n    "
  },
  {
    "path": "data/classnames.json",
    "chars": 80059,
    "preview": "{\n  \"BHCexam\": {\n    \"command\": \"BHCexam\",\n    \"detail\": \"\",\n    \"documentation\": \"\"\n  },\n  \"BMSTU-IU8\": {\n    \"command\""
  },
  {
    "path": "data/commands.json",
    "chars": 18549,
    "preview": "{\n  \"begin\": {\n    \"snippet\": \"begin{\",\n    \"detail\": \"Begin a new environment\",\n    \"postAction\": \"editor.action.trigge"
  },
  {
    "path": "data/environments.json",
    "chars": 1972,
    "preview": "[\n    { \"name\": \"document\", \"arg\": { \"format\": \"\", \"snippet\": \"\\n$0\" } },\n    { \"name\": \"table\" },\n    {\n        \"name\":"
  },
  {
    "path": "data/latex-snippet.json",
    "chars": 7340,
    "preview": "{\n\t\"item\": {\n\t\t\"prefix\": \"item\",\n\t\t\"body\": \"\\n\\\\item \",\n\t\t\"description\": \"\\\\item on a newline\"\n\t},\n\t\"subscript\": {\n\t\t\"pr"
  },
  {
    "path": "data/macros.json",
    "chars": 25690,
    "preview": "[\n  {\n    \"name\": \"begin\",\n    \"arg\": {\n      \"format\": \"\",\n      \"snippet\": \"begin{\"\n    },\n    \"detail\": \"Begin a new "
  },
  {
    "path": "data/packagenames.json",
    "chars": 449561,
    "preview": "{\n  \"a4\": {\n    \"command\": \"a4\",\n    \"detail\": \"Support for A4 paper sizes\",\n    \"documentation\": \"https://ctan.org/pkg/"
  },
  {
    "path": "data/packages/abntcite.json",
    "chars": 914,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"citeonline\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\""
  },
  {
    "path": "data/packages/acro.json",
    "chars": 84655,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"l3keys2e\"\n    },\n    {\n      \"name\": \"translations\"\n    },\n    {\n      \"name\": \"etool"
  },
  {
    "path": "data/packages/acronym.json",
    "chars": 18954,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"suffix\"\n    },\n    {\n      \"name\": \"xstring\"\n    },\n    {\n      \"name\": \"relsize\",\n  "
  },
  {
    "path": "data/packages/afterpage.json",
    "chars": 380,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"afterpage\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\":"
  },
  {
    "path": "data/packages/algorithm2e.json",
    "chars": 118568,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"ifthen\"\n    },\n    {\n      \"name\": \"ifoddpage\"\n    },\n    {\n      \"name\": \"xspace\"\n  "
  },
  {
    "path": "data/packages/allrunes.json",
    "chars": 7445,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"ifthen\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"bar\",\n      \"detail\": \" ̄\",\n   "
  },
  {
    "path": "data/packages/amsbsy.json",
    "chars": 366,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"amsgen\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"boldsymbol\",\n      \"arg\": {\n   "
  },
  {
    "path": "data/packages/amsfonts.json",
    "chars": 2915,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"mathfrak\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\": "
  },
  {
    "path": "data/packages/amsmath.json",
    "chars": 11771,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"amstext\"\n    },\n    {\n      \"name\": \"amsbsy\"\n    },\n    {\n      \"name\": \"amsopn\"\n    "
  },
  {
    "path": "data/packages/amsopn.json",
    "chars": 2562,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"amsgen\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"operatorname\",\n      \"arg\": {\n "
  },
  {
    "path": "data/packages/amssymb.json",
    "chars": 22548,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"amsfonts\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"approxeq\",\n      \"detail\": \"≊"
  },
  {
    "path": "data/packages/amsthm.json",
    "chars": 2419,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"newtheorem*\",\n      \"arg\": {\n        \"format\": \"{}{}\",\n        \"snipp"
  },
  {
    "path": "data/packages/apacite.json",
    "chars": 67355,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"natbib\",\n      \"if\": \"natbibemu\"\n    },\n    {\n      \"name\": \"natbib\",\n      \"if\": \"na"
  },
  {
    "path": "data/packages/appendix.json",
    "chars": 1177,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"appendixpage\"\n    },\n    {\n      \"name\": \"addappheadtotoc\"\n    },\n   "
  },
  {
    "path": "data/packages/array.json",
    "chars": 660,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"arraybackslash\"\n    },\n    {\n      \"name\": \"extrarowheight\"\n    },\n  "
  },
  {
    "path": "data/packages/attachfile.json",
    "chars": 6412,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"ifpdf\"\n    },\n    {\n      \"name\": \"keyval\"\n    },\n    {\n      \"name\": \"calc\"\n    },\n "
  },
  {
    "path": "data/packages/babel.json",
    "chars": 344669,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"fontspec\",\n      \"if\": \"bidi=default\"\n    },\n    {\n      \"name\": \"fontspec\",\n      \"i"
  },
  {
    "path": "data/packages/beamerbaseauxtemplates.json",
    "chars": 121,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"beamerbaseboxes\"\n    }\n  ],\n  \"macros\": [],\n  \"envs\": [],\n  \"keys\": {},\n  \"args\": []\n"
  },
  {
    "path": "data/packages/beamerbaseboxes.json",
    "chars": 868,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"beamerboxesdeclarecolorscheme\",\n      \"unusual\": true,\n      \"arg\": {"
  },
  {
    "path": "data/packages/beamerbasecolor.json",
    "chars": 3121,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"setbeamercolor\",\n      \"arg\": {\n        \"format\": \"{}{}\",\n        \"sn"
  },
  {
    "path": "data/packages/beamerbasecompatibility.json",
    "chars": 74,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [],\n  \"envs\": [],\n  \"keys\": {},\n  \"args\": []\n}"
  },
  {
    "path": "data/packages/beamerbasefont.json",
    "chars": 1488,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"amssymb\"\n    },\n    {\n      \"name\": \"sansmathaccent\"\n    }\n  ],\n  \"macros\": [\n    {\n "
  },
  {
    "path": "data/packages/beamerbaseframe.json",
    "chars": 5048,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"framelatex\",\n      \"unusual\": true,\n      \"arg\": {\n        \"format\": "
  },
  {
    "path": "data/packages/beamerbaseframecomponents.json",
    "chars": 3126,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"setbeamersize\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snipp"
  },
  {
    "path": "data/packages/beamerbaseframesize.json",
    "chars": 1054,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"framezoom<button overlay specification><zoomed overlay specification>"
  },
  {
    "path": "data/packages/beamerbaselocalstructure.json",
    "chars": 5224,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"enumerate\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"frametitle\",\n      \"arg\": {\n"
  },
  {
    "path": "data/packages/beamerbasemisc.json",
    "chars": 2501,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"headcommand\",\n      \"unusual\": true,\n      \"arg\": {\n        \"format\":"
  },
  {
    "path": "data/packages/beamerbasemodes.json",
    "chars": 1160,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"etoolbox\"\n    },\n    {\n      \"name\": \"beamerbasedecode\"\n    }\n  ],\n  \"macros\": [\n    "
  },
  {
    "path": "data/packages/beamerbasenavigation.json",
    "chars": 13289,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"hyperlinkslideprev<overlay specification>\",\n      \"arg\": {\n        \"f"
  },
  {
    "path": "data/packages/beamerbasenotes.json",
    "chars": 1675,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"note\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\": \"not"
  },
  {
    "path": "data/packages/beamerbaseoptions.json",
    "chars": 1233,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"keyval\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"ProcessOptionsBeamer\",\n      \"u"
  },
  {
    "path": "data/packages/beamerbaseoverlay.json",
    "chars": 24517,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"only<overlay specification>\",\n      \"arg\": {\n        \"format\": \"{}\",\n"
  },
  {
    "path": "data/packages/beamerbaserequires.json",
    "chars": 1033,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"beamerbasecompatibility\"\n    },\n    {\n      \"name\": \"beamerbasefont\"\n    },\n    {\n   "
  },
  {
    "path": "data/packages/beamerbasesection.json",
    "chars": 6453,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"thelecture\",\n      \"unusual\": true\n    },\n    {\n      \"name\": \"lectur"
  },
  {
    "path": "data/packages/beamerbasetemplates.json",
    "chars": 6149,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"beamerbaseauxtemplates\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"usebeamertempla"
  },
  {
    "path": "data/packages/beamerbasethemes.json",
    "chars": 2754,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"usetheme\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\": "
  },
  {
    "path": "data/packages/beamerbasetheorems.json",
    "chars": 12888,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"amsmath\"\n    },\n    {\n      \"name\": \"amsthm\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"na"
  },
  {
    "path": "data/packages/beamerbasetitle.json",
    "chars": 3630,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"titlepage\"\n    },\n    {\n      \"name\": \"partpage\"\n    },\n    {\n      \""
  },
  {
    "path": "data/packages/beamerbasetoc.json",
    "chars": 1323,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"tableofcontents\",\n      \"arg\": {\n        \"format\": \"[]\",\n        \"sni"
  },
  {
    "path": "data/packages/beamerbasetranslator.json",
    "chars": 116,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"translator\"\n    }\n  ],\n  \"macros\": [],\n  \"envs\": [],\n  \"keys\": {},\n  \"args\": []\n}"
  },
  {
    "path": "data/packages/beamerbasetwoscreens.json",
    "chars": 287,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [],\n  \"envs\": [],\n  \"keys\": {\n    \"\\\\setbeameroption#c\": [\n      \"previous slide on second s"
  },
  {
    "path": "data/packages/beamerbaseverbatim.json",
    "chars": 118,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [],\n  \"envs\": [\n    {\n      \"name\": \"semiverbatim\"\n    }\n  ],\n  \"keys\": {},\n  \"args\": []\n}"
  },
  {
    "path": "data/packages/biblatex.json",
    "chars": 987554,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"pdftexcmds\"\n    },\n    {\n      \"name\": \"etoolbox\"\n    },\n    {\n      \"name\": \"keyval\""
  },
  {
    "path": "data/packages/bidi.json",
    "chars": 20462,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"xetex\"\n    },\n    {\n      \"name\": \"iftex\"\n    },\n    {\n      \"name\": \"biditools\"\n    "
  },
  {
    "path": "data/packages/blindtext.json",
    "chars": 6943,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"xspace\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"blinddocument\"\n    },\n    {\n   "
  },
  {
    "path": "data/packages/bm.json",
    "chars": 1648,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"bm\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\": \"bm{${"
  },
  {
    "path": "data/packages/booktabs.json",
    "chars": 2081,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"toprule\"\n    },\n    {\n      \"name\": \"toprule\",\n      \"arg\": {\n       "
  },
  {
    "path": "data/packages/braket.json",
    "chars": 1452,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"bra\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\": \"bra{"
  },
  {
    "path": "data/packages/calc.json",
    "chars": 1918,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"setcounter\",\n      \"arg\": {\n        \"format\": \"{}{}\",\n        \"snippe"
  },
  {
    "path": "data/packages/cancel.json",
    "chars": 855,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"cancel\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\": \"c"
  },
  {
    "path": "data/packages/caption.json",
    "chars": 8152,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"caption3\"\n    },\n    {\n      \"name\": \"ltcaption\"\n    },\n    {\n      \"name\": \"setspace"
  },
  {
    "path": "data/packages/cases.json",
    "chars": 714,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"thesubequation\",\n      \"unusual\": true\n    },\n    {\n      \"name\": \"th"
  },
  {
    "path": "data/packages/chemformula.json",
    "chars": 13251,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"l3keys2e\"\n    },\n    {\n      \"name\": \"tikz\"\n    },\n    {\n      \"name\": \"amsmath\"\n    "
  },
  {
    "path": "data/packages/chemstyle.json",
    "chars": 1769,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"amstext\"\n    },\n    {\n      \"name\": \"caption\"\n    },\n    {\n      \"name\": \"chemscheme\""
  },
  {
    "path": "data/packages/circuitikz.json",
    "chars": 11333,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"tikz\"\n    },\n    {\n      \"name\": \"tikzlibrarycalc\"\n    },\n    {\n      \"name\": \"tikzli"
  },
  {
    "path": "data/packages/class-altacv.json",
    "chars": 8822,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"class-extarticle\"\n    },\n    {\n      \"name\": \"etoolbox\"\n    },\n    {\n      \"name\": \"p"
  },
  {
    "path": "data/packages/class-beamer.json",
    "chars": 1826,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"beamerbasemodes\"\n    },\n    {\n      \"name\": \"ifpdf\"\n    },\n    {\n      \"name\": \"beame"
  },
  {
    "path": "data/packages/class-book.json",
    "chars": 812,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"frontmatter\"\n    },\n    {\n      \"name\": \"mainmatter\"\n    },\n    {\n   "
  },
  {
    "path": "data/packages/class-ctexart.json",
    "chars": 1291,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"ctex\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"partmark\",\n      \"unusual\": true,"
  },
  {
    "path": "data/packages/class-ctexbeamer.json",
    "chars": 1666,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"ctex\"\n    },\n    {\n      \"name\": \"class-beamer\"\n    },\n    {\n      \"name\": \"ucs\",\n   "
  },
  {
    "path": "data/packages/class-ctexbook.json",
    "chars": 1369,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"ctex\"\n    },\n    {\n      \"name\": \"class-book\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"n"
  },
  {
    "path": "data/packages/class-ctexrep.json",
    "chars": 1369,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"ctex\"\n    },\n    {\n      \"name\": \"class-report\"\n    }\n  ],\n  \"macros\": [\n    {\n      "
  },
  {
    "path": "data/packages/class-exam.json",
    "chars": 83408,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"ifthen\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"addpoints\"\n    },\n    {\n      \""
  },
  {
    "path": "data/packages/class-letter.json",
    "chars": 3264,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"address\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\": \""
  },
  {
    "path": "data/packages/class-memoir.json",
    "chars": 170708,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"iftex\"\n    },\n    {\n      \"name\": \"array\"\n    },\n    {\n      \"name\": \"dcolumn\"\n    },"
  },
  {
    "path": "data/packages/class-moderncv.json",
    "chars": 26853,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"etoolbox\"\n    },\n    {\n      \"name\": \"ifthen\"\n    },\n    {\n      \"name\": \"xcolor\"\n   "
  },
  {
    "path": "data/packages/class-scrartcl.json",
    "chars": 49215,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"scrpage2\"\n    },\n    {\n      \"name\": \"scrkbase\"\n    },\n    {\n      \"name\": \"tocbasic\""
  },
  {
    "path": "data/packages/class-scrbook.json",
    "chars": 54357,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"scrpage2\"\n    },\n    {\n      \"name\": \"scrkbase\"\n    },\n    {\n      \"name\": \"tocbasic\""
  },
  {
    "path": "data/packages/class-scrlttr2.json",
    "chars": 33206,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"scrkbase\"\n    },\n    {\n      \"name\": \"typearea\"\n    },\n    {\n      \"name\": \"scrlogo\"\n"
  },
  {
    "path": "data/packages/class-scrreprt.json",
    "chars": 54410,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"scrpage2\"\n    },\n    {\n      \"name\": \"scrkbase\"\n    },\n    {\n      \"name\": \"tocbasic\""
  },
  {
    "path": "data/packages/class-yathesis.json",
    "chars": 15936,
    "preview": "{\n  \"includes\": {\n    \"class-book\": [],\n    \"adjustbox\": [],\n    \"array\": [],\n    \"babel\": [],\n    \"biblatex\": [],\n    \""
  },
  {
    "path": "data/packages/cleveref.json",
    "chars": 7371,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"Crefformat\",\n      \"unusual\": true,\n      \"arg\": {\n        \"format\": "
  },
  {
    "path": "data/packages/color.json",
    "chars": 2748,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"textcolor\",\n      \"arg\": {\n        \"format\": \"{}{}\",\n        \"snippet"
  },
  {
    "path": "data/packages/colortbl.json",
    "chars": 3279,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"array\"\n    },\n    {\n      \"name\": \"color\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\""
  },
  {
    "path": "data/packages/commath.json",
    "chars": 7546,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"amsmath\"\n    },\n    {\n      \"name\": \"ifthen\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"na"
  },
  {
    "path": "data/packages/comment.json",
    "chars": 1626,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"includecomment\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snip"
  },
  {
    "path": "data/packages/coordsys.json",
    "chars": 8115,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"numbline\",\n      \"arg\": {\n        \"format\": \"{}{}\",\n        \"snippet\""
  },
  {
    "path": "data/packages/cquthesis.json",
    "chars": 1889,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"dirtree\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"speakyourlove\"\n    },\n    {\n  "
  },
  {
    "path": "data/packages/csquotes.json",
    "chars": 28856,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"etoolbox\"\n    },\n    {\n      \"name\": \"keyval\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"n"
  },
  {
    "path": "data/packages/ctex.json",
    "chars": 15486,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"zhnumber\"\n    },\n    {\n      \"name\": \"fontspec\"\n    }\n  ],\n  \"macros\": [\n    {\n      "
  },
  {
    "path": "data/packages/currfile.json",
    "chars": 4116,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"kvoptions\"\n    },\n    {\n      \"name\": \"filehook\"\n    },\n    {\n      \"name\": \"currfile"
  },
  {
    "path": "data/packages/currvita.json",
    "chars": 852,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"ifthen\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"cvplace\",\n      \"arg\": {\n      "
  },
  {
    "path": "data/packages/cyrillic.json",
    "chars": 5751,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"CYRA\"\n    },\n    {\n      \"name\": \"CYRB\"\n    },\n    {\n      \"name\": \"C"
  },
  {
    "path": "data/packages/datatool-base.json",
    "chars": 28716,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"etoolbox\"\n    },\n    {\n      \"name\": \"amsmath\"\n    },\n    {\n      \"name\": \"xkeyval\"\n "
  },
  {
    "path": "data/packages/datatool.json",
    "chars": 27778,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"xkeyval\"\n    },\n    {\n      \"name\": \"ifthen\"\n    },\n    {\n      \"name\": \"xfor\"\n    },"
  },
  {
    "path": "data/packages/doi.json",
    "chars": 351,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"hyperref\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"doi\",\n      \"arg\": {\n        "
  },
  {
    "path": "data/packages/easy-todo.json",
    "chars": 1097,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"color\"\n    },\n    {\n      \"name\": \"tocloft\"\n    },\n    {\n      \"name\": \"ifthen\"\n    }"
  },
  {
    "path": "data/packages/empheq.json",
    "chars": 17272,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"mathtools\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"empheqset\",\n      \"arg\": {\n "
  },
  {
    "path": "data/packages/endnotes.json",
    "chars": 1457,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"endnote\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\": \""
  },
  {
    "path": "data/packages/enumerate.json",
    "chars": 198,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [],\n  \"envs\": [\n    {\n      \"name\": \"enumerate\",\n      \"arg\": {\n        \"format\": \"[]\",\n    "
  },
  {
    "path": "data/packages/epigraph.json",
    "chars": 1388,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"epigraph\",\n      \"arg\": {\n        \"format\": \"{}{}\",\n        \"snippet\""
  },
  {
    "path": "data/packages/epstopdf.json",
    "chars": 1569,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"infwarerr\"\n    },\n    {\n      \"name\": \"grfext\"\n    },\n    {\n      \"name\": \"kvoptions\""
  },
  {
    "path": "data/packages/esint.json",
    "chars": 2822,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"int\",\n      \"detail\": \"∫\",\n      \"doc\": \"Integral operator\"\n    },\n  "
  },
  {
    "path": "data/packages/etoolbox.json",
    "chars": 26626,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"newrobustcmd\",\n      \"arg\": {\n        \"format\": \"{}{}\",\n        \"snip"
  },
  {
    "path": "data/packages/eurosym.json",
    "chars": 892,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"euro\",\n      \"detail\": \"€\",\n      \"doc\": \"Euro sign\"\n    },\n    {\n   "
  },
  {
    "path": "data/packages/expl3.json",
    "chars": 199477,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"ExplLoaderFileDate\"\n    },\n    {\n      \"name\": \"ExplSyntaxOff\"\n    },"
  },
  {
    "path": "data/packages/fancybox.json",
    "chars": 10817,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"shadowbox\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\":"
  },
  {
    "path": "data/packages/fancyhdr.json",
    "chars": 6507,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"fancyfoot\",\n      \"arg\": {\n        \"format\": \"[]{}\",\n        \"snippet"
  },
  {
    "path": "data/packages/fancyref.json",
    "chars": 4808,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"varioref\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"fref\",\n      \"arg\": {\n       "
  },
  {
    "path": "data/packages/fancyunits-base.json",
    "chars": 7456,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"unit\",\n      \"arg\": {\n        \"format\": \"{}{}\",\n        \"snippet\": \"u"
  },
  {
    "path": "data/packages/fancyunits-np.json",
    "chars": 2931,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"Graypersecondnp\"\n    },\n    {\n      \"name\": \"metrepersquaresecondnp\"\n"
  },
  {
    "path": "data/packages/fancyunits-per.json",
    "chars": 3332,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"Squaremetre\"\n    },\n    {\n      \"name\": \"cubicmetre\"\n    },\n    {\n   "
  },
  {
    "path": "data/packages/fancyunits_big-fractions.json",
    "chars": 2837,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"GraypersecondUF\"\n    },\n    {\n      \"name\": \"metrepersquaresecondUF\"\n"
  },
  {
    "path": "data/packages/fancyunits_medium-fractions.json",
    "chars": 2837,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"GraypersecondUf\"\n    },\n    {\n      \"name\": \"metrepersquaresecondUf\"\n"
  },
  {
    "path": "data/packages/fancyunits_small-fractions.json",
    "chars": 2837,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"Grayperseconduf\"\n    },\n    {\n      \"name\": \"metrepersquareseconduf\"\n"
  },
  {
    "path": "data/packages/fancyvrb.json",
    "chars": 27078,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"keyval\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"Verb\",\n      \"arg\": {\n        \""
  },
  {
    "path": "data/packages/fhgtechdoku_additional.json",
    "chars": 998,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"fulltextwidth\"\n    },\n    {\n      \"name\": \"setauthor\",\n      \"arg\": {"
  },
  {
    "path": "data/packages/fixme.json",
    "chars": 55739,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"ifthen\"\n    },\n    {\n      \"name\": \"verbatim\"\n    },\n    {\n      \"name\": \"xkeyval\"\n  "
  },
  {
    "path": "data/packages/float.json",
    "chars": 1352,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"newfloat\",\n      \"arg\": {\n        \"format\": \"{}{}{}\",\n        \"snippe"
  },
  {
    "path": "data/packages/fontspec.json",
    "chars": 37464,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"liningnums\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\""
  },
  {
    "path": "data/packages/geometry.json",
    "chars": 5706,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"geometry\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\": "
  },
  {
    "path": "data/packages/german.json",
    "chars": 74,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [],\n  \"envs\": [],\n  \"keys\": {},\n  \"args\": []\n}"
  },
  {
    "path": "data/packages/glossaries.json",
    "chars": 266537,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"ifthen\"\n    },\n    {\n      \"name\": \"xkeyval\"\n    },\n    {\n      \"name\": \"mfirstuc\"\n  "
  },
  {
    "path": "data/packages/glosstex.json",
    "chars": 11040,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"glosstex\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\": "
  },
  {
    "path": "data/packages/graphicx.json",
    "chars": 3601,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"keyval\"\n    },\n    {\n      \"name\": \"trig\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\""
  },
  {
    "path": "data/packages/harvard.json",
    "chars": 349,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"html\"\n    },\n    {\n      \"name\": \"ifthen\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\""
  },
  {
    "path": "data/packages/hyperref.json",
    "chars": 25018,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"iftex\"\n    },\n    {\n      \"name\": \"keyval\"\n    },\n    {\n      \"name\": \"kvsetkeys\"\n   "
  },
  {
    "path": "data/packages/ifluatex.json",
    "chars": 111,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"iftex\"\n    }\n  ],\n  \"macros\": [],\n  \"envs\": [],\n  \"keys\": {},\n  \"args\": []\n}"
  },
  {
    "path": "data/packages/ifpdf.json",
    "chars": 111,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"iftex\"\n    }\n  ],\n  \"macros\": [],\n  \"envs\": [],\n  \"keys\": {},\n  \"args\": []\n}"
  },
  {
    "path": "data/packages/ifplatform.json",
    "chars": 719,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"catchfile\"\n    },\n    {\n      \"name\": \"ifluatex\"\n    },\n    {\n      \"name\": \"pdftexcm"
  },
  {
    "path": "data/packages/iftex.json",
    "chars": 2086,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"ifpdftex\",\n      \"unusual\": true\n    },\n    {\n      \"name\": \"ifPDFTeX"
  },
  {
    "path": "data/packages/ifthen.json",
    "chars": 1639,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"ifthenelse\",\n      \"arg\": {\n        \"format\": \"{}{}{}\",\n        \"snip"
  },
  {
    "path": "data/packages/ifvtex.json",
    "chars": 308,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"iftex\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"ifvtexdvi\"\n    },\n    {\n      \"n"
  },
  {
    "path": "data/packages/ifxetex.json",
    "chars": 111,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"iftex\"\n    }\n  ],\n  \"macros\": [],\n  \"envs\": [],\n  \"keys\": {},\n  \"args\": []\n}"
  },
  {
    "path": "data/packages/import.json",
    "chars": 1052,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"import\",\n      \"arg\": {\n        \"format\": \"{}{}\",\n        \"snippet\": "
  },
  {
    "path": "data/packages/inputenc.json",
    "chars": 1703,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"ucs\",\n      \"if\": \"utf8x\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"DeclareInputM"
  },
  {
    "path": "data/packages/jurabib.json",
    "chars": 20750,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"ifthen\"\n    },\n    {\n      \"name\": \"calc\"\n    },\n    {\n      \"name\": \"keyval\"\n    },\n"
  },
  {
    "path": "data/packages/kantlipsum.json",
    "chars": 1325,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"kant\"\n    },\n    {\n      \"name\": \"kant\",\n      \"arg\": {\n        \"form"
  },
  {
    "path": "data/packages/latex-209.json",
    "chars": 368,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"documentstyle\",\n      \"arg\": {\n        \"format\": \"[]{}\",\n        \"sni"
  },
  {
    "path": "data/packages/latex-dev.json",
    "chars": 91479,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"ActivateGenericHook\",\n      \"unusual\": true,\n      \"arg\": {\n        \""
  },
  {
    "path": "data/packages/latex-document.json",
    "chars": 31591,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"latex-dev\"\n    },\n    {\n      \"name\": \"textcomp\"\n    }\n  ],\n  \"macros\": [\n    {\n     "
  },
  {
    "path": "data/packages/latex-l2tabu.json",
    "chars": 472,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"centerline\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\""
  },
  {
    "path": "data/packages/layout.json",
    "chars": 3217,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"layout\"\n    },\n    {\n      \"name\": \"layout*\"\n    },\n    {\n      \"name"
  },
  {
    "path": "data/packages/letltxmacro.json",
    "chars": 376,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"GlobalLetLtxMacro\",\n      \"arg\": {\n        \"format\": \"{}{}\",\n        "
  },
  {
    "path": "data/packages/libertine.json",
    "chars": 7889,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"ifxetex\"\n    },\n    {\n      \"name\": \"ifluatex\"\n    },\n    {\n      \"name\": \"xkeyval\"\n "
  },
  {
    "path": "data/packages/lipsum.json",
    "chars": 9749,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"l3keys2e\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"lipsum\"\n    },\n    {\n      \"n"
  },
  {
    "path": "data/packages/listings.json",
    "chars": 17342,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"keyval\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"lstloadlanguages\",\n      \"arg\":"
  },
  {
    "path": "data/packages/logsys.json",
    "chars": 8318,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"coordsys\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name\": \"logline\",\n      \"arg\": {\n    "
  },
  {
    "path": "data/packages/longtable.json",
    "chars": 1122,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"caption*\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\": "
  },
  {
    "path": "data/packages/lscape.json",
    "chars": 241,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"graphics\"\n    }\n  ],\n  \"macros\": [],\n  \"envs\": [\n    {\n      \"name\": \"landscape\"\n    "
  },
  {
    "path": "data/packages/ltxtable.json",
    "chars": 296,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"longtable\"\n    },\n    {\n      \"name\": \"tabularx\"\n    }\n  ],\n  \"macros\": [\n    {\n     "
  },
  {
    "path": "data/packages/luatex.json",
    "chars": 19492,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"luatexbanner\",\n      \"unusual\": true\n    },\n    {\n      \"name\": \"luat"
  },
  {
    "path": "data/packages/luatodonotes.json",
    "chars": 3735,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"xcolor\"\n    },\n    {\n      \"name\": \"ifluatex\"\n    },\n    {\n      \"name\": \"ifthen\"\n   "
  },
  {
    "path": "data/packages/manyfoot.json",
    "chars": 1744,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"nccfoots\"\n    },\n    {\n      \"name\": \"perpage\",\n      \"if\": \"perpage\"\n    }\n  ],\n  \"m"
  },
  {
    "path": "data/packages/marvosym.json",
    "chars": 8741,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"Pickup\"\n    },\n    {\n      \"name\": \"Letter\"\n    },\n    {\n      \"name\""
  },
  {
    "path": "data/packages/mathtools.json",
    "chars": 22222,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"keyval\"\n    },\n    {\n      \"name\": \"calc\"\n    },\n    {\n      \"name\": \"mhsetup\"\n    },"
  },
  {
    "path": "data/packages/mdframed.json",
    "chars": 15817,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"color\"\n    },\n    {\n      \"name\": \"etoolbox\"\n    },\n    {\n      \"name\": \"kvoptions\"\n "
  },
  {
    "path": "data/packages/mdwlist.json",
    "chars": 1149,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"desclabelstyle\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snip"
  },
  {
    "path": "data/packages/memhfixc.json",
    "chars": 165,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"theHpagenote\"\n    },\n    {\n      \"name\": \"thememhycontfloat\"\n    }\n  "
  },
  {
    "path": "data/packages/menukeys.json",
    "chars": 10526,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"adjustbox\"\n    },\n    {\n      \"name\": \"etoolbox\"\n    },\n    {\n      \"name\": \"kvoption"
  },
  {
    "path": "data/packages/metrix.json",
    "chars": 3100,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"tikz\"\n    },\n    {\n      \"name\": \"tikzlibrarycalc\"\n    },\n    {\n      \"name\": \"xpatch"
  },
  {
    "path": "data/packages/mhchem.json",
    "chars": 4654,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"l3keys2e\"\n    },\n    {\n      \"name\": \"calc\"\n    },\n    {\n      \"name\": \"amsmath\"\n    "
  },
  {
    "path": "data/packages/microtype.json",
    "chars": 11094,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"keyval\"\n    },\n    {\n      \"name\": \"etoolbox\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"n"
  },
  {
    "path": "data/packages/minted.json",
    "chars": 11374,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"catchfile\"\n    },\n    {\n      \"name\": \"etoolbox\"\n    },\n    {\n      \"name\": \"fvextra\""
  },
  {
    "path": "data/packages/multicol.json",
    "chars": 2432,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"columnbreak\"\n    },\n    {\n      \"name\": \"columnseprulecolor\",\n      \""
  },
  {
    "path": "data/packages/multido.json",
    "chars": 1320,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"multido\",\n      \"arg\": {\n        \"format\": \"{}{}{}\",\n        \"snippet"
  },
  {
    "path": "data/packages/multimedia.json",
    "chars": 2960,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"keyval\"\n    },\n    {\n      \"name\": \"ifpdf\"\n    }\n  ],\n  \"macros\": [\n    {\n      \"name"
  },
  {
    "path": "data/packages/multirow.json",
    "chars": 1859,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"multirow\",\n      \"arg\": {\n        \"format\": \"{}{}{}\",\n        \"snippe"
  },
  {
    "path": "data/packages/nameref.json",
    "chars": 713,
    "preview": "{\n  \"deps\": [\n    {\n      \"name\": \"refcount\"\n    },\n    {\n      \"name\": \"gettitlestring\"\n    }\n  ],\n  \"macros\": [\n    {\n"
  },
  {
    "path": "data/packages/natbib.json",
    "chars": 7995,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"citet\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\": \"ci"
  },
  {
    "path": "data/packages/needspace.json",
    "chars": 471,
    "preview": "{\n  \"deps\": [],\n  \"macros\": [\n    {\n      \"name\": \"Needspace\",\n      \"arg\": {\n        \"format\": \"{}\",\n        \"snippet\":"
  }
]

// ... and 4884 more files (download for full content)

About this extraction

This page contains the full source code of the James-Yu/LaTeX-Workshop GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 5084 files (41.4 MB), approximately 11.1M tokens, and a symbol index with 2466 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!