These are the packages associated with the keyword: macro programming.
| Identifier | Caption |
|---|---|
| adjustbox | Apply graphics package macros to general boxes. |
| advdate | Print a date relative to "today". |
| afterpackage | Add commands to package after it's loaded. |
| afterpage | Execute command after the next page break. |
| aliascnt | Alias counters. |
| alphalph | Convert numbers to letters. |
| arabic | Read a lower-case roman number. |
| aro-bend | Exercises in TeX, with answers. |
| around-the-bend | Typeset exercises in TeX, with answers. |
| arrayjob | Array data structures for (La)TeX. |
| arrayjobx | Array data structures for (La)TeX. |
| at | Short commands starting '@'. |
| atbegshi | Execute stuff at \shipout time. |
| atenddvi | Provides the \AtEndDvi command. |
| atveryend | Hooks at the very end of a document. |
| authoraftertitle | Make author, etc., available after \maketitle. |
| auxhook | Hooks for auxiliary files. |
| babeltools | Tools for dealing with Babel annoyances. |
| base | Definitive source of Plain TeX on CTAN. |
| basix | A BASIC interpreter written in TeX. |
| bigintcalc | Integer calculations on very large numbers. |
| binhex | Convert numbers into binary, octal and hexadecimal. |
| binomexp | Calculate Pascal's triangle. |
| bitelist | Split list, in TeX's mouth. |
| bitset | Handle bit-vector datatype. |
| blkcntrl | Block-element hooks in LaTeX. |
| boolexpr | A boolean expression evaluator and a switch command. |
| brclc | Support 16-bit (double) calculations in LaTeX. |
| calc | Simple arithmetic in LaTeX commands. |
| calctab | Language for numeric tables. |
| calorie | Calorie checking for dieters. |
| catchfile | Catch an external file into a macro. |
| catchfilebetweentags | Catch text delimited by docstrip tags. |
| catoptions | Preserving and recalling standard catcodes. |
| checkend | Extend "improperly closed environment" messages |
| checklab | A patch for the label-checking code. |
| chklref | Check for problems with labels in LaTeX. |
| chngcntr | Change the resetting of counters. |
| cjw | A bundle of packages and classes. |
| classes | The source of LaTeX's standard classes. |
| clefval | Key/value support with a hash. |
| clsguide | Documentation of LaTeX class and package writing. |
| cmdstring | Get command name reliably. |
| cmdtrack | Check used commands. |
| collcell | Collect contents of a tabular cell as argument to a macro. |
| collect | Collect text for later re-use. |
| collectbox | Collect and process macro arguments as boxes. |
| comma | Formats a number by inserting commas. |
| compare | Compare two strings. |
| compsci | Document (LaTeX) programming with LaTeX. |
| context | The ConTeXt macro package. |
| context-rst | Process reStructuredText with ConTeXt. |
| coollist | Manipulate COntent Oriented LaTeX Lists. |
| coolstr | String manipulation in LaTeX. |
| count1to | Make use of count1 to count9. |
| cprotect | Allow verbatim, etc., in macro arguments. |
| currfile | Provide file name and path of input files. |
| dbprocess | Process database output. |
| dcounter | Support dynamic counters. |
| declare | Declare register names locally. |
| default | Provide default parameters for TeX macros. |
| defstring | Define macros as verbatim macros. |
| dialogl | Macros for constructing interactive LaTeX scripts. |
| doafter | Do things after a group. |
| doc | Format LaTeX documentation. |
| dox | Extend the doc package. |
| dozenal | Typeset documents using base twelve numbering (also called "dozenal") |
| dprogress | LaTeX-relevant log information for debugging. |
| dps | Create a "matching" game with a hidden message. |
| drac | Declare active character substitution, robustly. |
| dtxgallery | A small collection of minimal DTX examples. |
| dtxtut | Tutorial on writing .dtx and .ins files |
| emarks | Named mark registers with e-TeX. |
| endnote | Generic "endnotes" code. |
| engord | Converts numbers to English ordinal numbers. |
| engrec | Enumerate with lower- or uppercase Greek letters. |
| environ | A new interface for environments in LaTeX. |
| eolgrab | Catch arguments delimited by end of line. |
| eplain | Extended plain tex macros. |
| escapetext | Make plain text safe for use in LaTeX. |
| etex | An extended version of TeX, from the NTS project. |
| etexcmds | Avoid name clashes with e-TeX commands. |
| etex-pkg | E-TeX support package. |
| etextools | e-TeX tools for LaTeX users and package writers. |
| etoolbox | Tool-box for LaTeX programmers using e-TeX. |
| etoolbox-de | German translation of documentation of etoolbox. |
| euro | Provide Euro values for national currency amounts. |
| eurofont | Provides a command that prints a euro symbol. |
| everyhook | Hooks for standard TeX token lists. |
| everypage | Provide hooks to be run on every page of a document. |
| everyshi | Take action at every \shipout. |
| expl3 | Wrapper package for experimental LaTeX 3. |
| export | Import and export values of LaTeX registers. |
| exp-testopt | Expandable \@testopt (and related) macros. |
| extract | Extract parts of a document and write to another document. |
| extradefs | A miscellany of support macros. |
| fancynum | Typeset numbers. |
| fenixpar | One-shot changes to token registers such as \everypar. |
| fifinddo | Filtering files using TeX. |
| filecontents | Extended filecontents and filecontents* environments |
| fileerr | LaTeX's mechanisms for dealing with file errors. |
| filehook | Hooks for input files. |
| filemod | Provide file modification times, and compare them. |
| fltpoint | Simple floating point arithmetic. |
| fmtcount | Display the value of a LaTeX counter in a variety of formats. |
| forarray | Using array structures in LaTeX. |
| forloop | Iteration in LaTeX. |
| format | Format a counter as a fixed-point number. |
| fp | Fixed point arithmetic. |
| fragments | Fragments of LaTeX code. |
| fwlw | Get first and last words of a page. |
| gates | Support for writing modular and customisable code. |
| getfiledate | Find the date of last modification of a file. |
| getoptk | Define macros with sophisticated options. |
| gmutils | Support macros for other packages. |
| grfext | Manipulate the graphics package's list of extensions. |
| grffile | Extended file name support for graphics. |
| hackalloc | Make allocations local. |
| hanoi | Tower of Hanoi in TeX. |
| hardwrap | Hard wrap text to a certain character length. |
| harvmac | Macros for scientific articles. |
| he-she | Alternating pronouns to aid to gender-neutral writing. |
| hex | Print a counter in hexadecimal. |
| hobsub | Construct package bundles |
| hopatch | Load patches for packages. |
| iching | A font for I Ching divinations. |
| ifdraft | Detect "draft" and "final" class options. |
| ifetex | Provides \ifetex switch. |
| iflang | Expandable checks for the current language. |
| ifluatex | Provides the \ifluatex switch. |
| ifmtarg | If-then-else command for processing potentially empty arguments. |
| ifnextok | Utility macro: peek ahead without ignoring spaces. |
| ifoddpage | Determine if the current page is odd or even. |
| ifpdf | Provides the \ifpdf conditional. |
| ifplatform | Conditionals to test which platform is being used. |
| iftex | Am I running under pdfTeX, XeTeX or LuaTeX? |
| ifthen | Conditional commands in LaTeX documents. |
| ifthenx | Extra tests for \ifthenelse. |
| ifvtex | Detects use of VTeX and its facilities. |
| ifxetex | Am I running under XeTeX? |
| infwarerr | Complete set of information/warning/error message macros. |
| inlinedef | Inline expansions within definitions. |
| inputtrc | Trace which file loads which. |
| inscrutable | A response to Perl hackers' silliness. |
| intcalc | Expandable arithmetic operations with integers. |
| interfaces | Set parameters for other packages, conveniently. |
| inversepath | Calculate inverse file paths. |
| itnumpar | Spell numbers in words (Italian). |
| js-misc | Miscellaneous macros from Joachim Schrod. |
| kantlipsum | Generate sentences in Kant's style. |
| keycommand | Simple creation of commands with key-value arguments. |
| keyreader | A robust interface to xkeyval. |
| keyval | Process 'key=value' schemes. |
| keyval2e | A lightweight and robust key-value parser. |
| kpathsea | Path searching library for TeX-related files. |
| kvdefinekeys | Define keys for use in the kvsetkeys package. |
| kvoptions | Key value format for package options. |
| kvsetkeys | Key value parser with default handler support. |
| l3dt | Experimental LaTeX 3 data tables. |
| l3experimental | Experimental LaTeX3 concepts. |
| l3kernel | LaTeX3 programming conventions. |
| l3keys2e | LaTeX 2e option processing using LaTeX 3 keys. |
| l3packages | High-level LaTeX3 concepts. |
| l3regex | Regular expression facilities for LaTeX. |
| laansort | Sorting within TeX. |
| labelcas | Check the existence of labels, and fork accordingly. |
| lambda-lists | Lists in TeX's mouth. |
| lamstex | A merge of the best in AMS-TeX and LaTeX. |
| laps | Zero-width boxes for annotations, etc. |
| latex | A TeX macro package that defines LaTeX. |
| latex-base | Base sources of LaTeX. |
| latex-tds | A structured copy of the LaTeX distribution. |
| lazylist | Lists in TeX’s “mouth”. |
| lcg | Generate random integers. |
| letltxmacro | Let assignment for LaTeX macros. |
| linegoal | A "dimen" that returns the space left on the line. |
| lipsum | Easy access to the Lorem Ipsum dummy text. |
| lmake | Process lists to do repetitive actions. |
| locality | Various macros for keeping things local. |
| localloc | Macros for localizing TeX register allocations. |
| logbox | e-TeX showbox facilities for exploration purposes. |
| logfilter | Choose what you want to see of a (La)TeX log. |
| logical-markup-utils | Packages for language-dependent inline quotes and dashes. |
| longnamefilelist | Tidy \listfiles with long file names. |
| ltxcmds | Some LaTeX kernel commands for general use. |
| ltxdoc | Class for documented LaTeX macro files. |
| ltxfileinfo | Print version info for latex class or style file. |
| ltxkeys | A robust key parser for LaTeX. |
| ltxnew | A simple means of creating commands. |
| ltxtools | A collection of LaTeX API macros. |
| ltxutil | LaTeX utility macros. |
| luacode | Helper for executing lua code from within TeX. |
| lualatex-platform | Load platform-specific code into luatex. |
| luatexbase | Basic resource management for LuaTeX code. |
| luatex-pkg | Basic definitions for LuaTeX. |
| luatextra | Additional macros for Plain TeX and LaTeX in LuaTeX. |
| lua-visual-debug | Visual debugging with LuaLaTeX. |
| macros2e | A list of internal LaTeX2e macros. |
| magicnum | Access TeX systems' "magic numbers". |
| makebox | Defines a \makebox* command. |
| makecmds | The new \makecommand command always (re)defines a command. |
| makedoc | Preprocessing documentation with TeX. |
| makedtx | Perl script to help generate dtx and ins files |
| makeprog | A literate system for TeX programming. |
| makerobust | Making a macro robust. |
| makerobust209 | Make an existing LaTeX command robust. |
| maybeload | Prevent reloading of files. |
| mdwlist | Miscellaneous list-related commands. |
| mdwtools | Miscellaneous tools by Mark Wooding. |
| memexsupp | Experimental memoir support. |
| mfirstuc | Uppercase the first letter of a word. |
| mflogo | LaTeX support for Metafont logo fonts. |
| mhsetup | The MH bundle "setup" function |
| midnight | A set of useful macro tools. |
| midpage | Environment for vertical centring. |
| miniltx | An abstract of LaTeX facilities for use with Plain TeX. |
| mlist | Logical markup for lists. |
| modroman | Write numbers in lower case roman numerals. |
| moredefs | LaTeX defining, expansion, and debugging commands. |
| morewrites | Always room for a new write stream. |
| mtbe | Macros for "Mathematical TeX by Example". |
| multido | A loop facility for Generic TeX. |
| mwrite | Write information to files. |
| myfilist | Configuring the output of the \listfiles command. |
| mylatex | Make a format containing a document's preamble. |
| mylatexformat | Build a format based on the preamble of a LaTeX file. |
| nameauth | Name authority mechanism for consistency in body text and index. |
| namespc | Rudimentary c++-like namespaces in LaTeX. |
| nbaseprt | Print numbers in non-decimal bases. |
| nccstretch | Insert a stretch between each token of a string |
| newcommand | Generate new LaTeX command definitions. |
| newfile | User level management of LaTeX input and output. |
| newinsert | Reworking Plain TeX's insert macros. |
| nicetext | Minimal markup for simple text (Wikipedia style) and documentation. |
| niceverb | Minimising markup for documenting LaTeX packages. |
| noprot | Avoid the need for protection. |
| nth | Generate English ordinal numbers. |
| numname | Convert a number to its English expression. |
| numprint | Print numbers with separators and exponent if necessary. |
| occam | Strip unnecessary macros from a file. |
| one2many | Generalising mathematical index sets. |
| onlyamsmath | Inhibit use of non-amsmath mathematics markup when using amsmath. |
| optional | Facilitate optional printing of parts of a document. |
| optparams | Macros with multiple optional parameters. |
| ordinalpt | Counters as ordinal numbers in Portuguese. |
| overword | Parse text. |
| pageslts | Variants of last page labels. |
| papermas | Compute the mass of a printed version of a document. |
| parselines | Apply a macro to each line of an environment. |
| patchcmd | Change the definition of an existing command. |
| pdcmac | Damian Cugley's document tools. |
| pdftexcmds | LuaTeX support for pdfTeX utility functions. |
| perltex | Define LaTeX macros in terms of Perl code |
| perpage | Make a counter reset at every page boundary. |
| pgfkeys | Key value control for pgf. |
| pgfkeyx | Extended and more robust version of pgfkeys. |
| pgfopts | LaTeX package options with pgfkeys. |
| pi | Calculate pi. |
| pictexwd | A patched version of PicTeX using fewer registers. |
| picture | Dimens for picture macros. |
| plain | The Plain TeX format. |
| plain-ltx | Make plain TeX files LaTeXable. |
| plainmisc | Miscellaneous contributed macros for plain TeX. |
| polynom | Macros for manipulating polynomials. |
| polynomial | Typeset (univariate) polynomials. |
| preview | Extract bits of a LaTeX source for output. |
| printlen | Print lengths using specified units. |
| processkv | Process key-value pairs. |
| properties | Load properties from a file. |
| protecteddef | Define protected commands. |
| ps4pdf | Use PostScript commands inside a pdfLaTeX document. |
| pst-xkey | Key-value syntax for pstricks packages. |
| random | Generating "random" numbers in TeX. |
| randtext | Randomise the order of characters in strings. |
| rangen | Generate random integers, rational and decimal numbers. |
| realboxes | Variants of common box-commands that read their content as real box and not as macro argument. |
| realcalc | Macros for real arithmetic calculations. |
| redefine | Conditional macro, etc., definitions. |
| refcount | Counter operations with label references. |
| regcount | Display the allocation status of the TeX registers. |
| regexpatch | High level patching of commands. |
| regstats | Information about register use. |
| removefr | Remove from counter-reset lists. |
| remreset | Remove counters from reset list. |
| renditions | Multiple versions from the same content. |
| repeat | Repeat execution of macros. |
| reverxii | Playing Reversi in TeX. |
| robustcommand | Declare robust command, with \newcommand checks. |
| romannum | Generate roman numerals instead of arabic digits. |
| rotchiffre | Perform simple rotation cyphers. |
| rvwrite | Increase the number of available output streams in LaTeX. |
| samples | Samples of Plain TeX coding. |
| savesym | Redefine symbols where names conflict. |
| seqsplit | Split long sequences of characters in a neutral way. |
| setouterhbox | Set hbox in outer horizontal mode. |
| setstrut | Automatic strut computation. |
| settobox | Assigning dimensions of a box to a length register. |
| settosize | Scale text to given width. |
| settosize-ltx | Scale text to make it fit a given width. |
| sgmlcmpt | Suppport for LaTeX formulae as SGML PCDATA. |
| show2e | Variants of \show for LaTeX2e. |
| showdim | Variants on printing dimensions. |
| showkeys | Show label, ref, cite and bib keys. |
| silence | Selective filtering of error messages and warnings. |
| sines | Calculate sin function values. |
| skb | Tools for a repository of long-living documents. |
| skeycommand | Create commands using parameters and keyval in parallel. |
| skeyval | Extensions to xkeyval. |
| somedefs | Save loading all of another package. |
| sphack | Patch LaTeX kernel spacing macros. |
| srcltx | Jump between DVI and TeX files. |
| stack | Tools to define and use stacks. |
| statistik | Store statistics of a document. |
| stdclsdv | Provide sectioning information for package writers. |
| stex | An Infrastructure for Semantic Preloading of LaTeX Documents. |
| storebox | Storing information for reuse. |
| storecmd | Store the name of a defined command in a container. |
| stringstrings | String manipulation for cosmetic and programming application. |
| sty2dtx | Create a .dtx file from a .sty file. |
| substr | Deal with substrings in strings. |
| suffix | Define commands with suffixes |
| syntrace | Labels for tracing in a syntax tree. |
| tamefloats | Experimental use \holdinginserts with LaTeX floats. |
| tdsfrmath | Macros for French teachers of mathematics. |
| technics | A package to format technical documents. |
| ted | A (primitive) token list editor. |
| tex2tok | Convert a TeX source file into tokens. |
| texapi | Macros to write format-independent packages. |
| texdef | Display the definitions of TeX commands. |
| texfilt | A (La)TeX log filter. |
| texinfo | Texinfo documentation system. |
| texinfo-latest | Latest developers' working copy of Texinfo. |
| texsis | Plain TeX macros for Physicists. |
| texsort | Sort/compress numerical lists. |
| textfit | Fit text to a desired size. |
| textmerg | Merge text in TeX and LaTeX. |
| time | Defines a macro \now to print the current time. |
| tip | Macro examples from “TeX in Practice”. |
| tokenizer | A tokenizer. |
| totcount | Find the last value of a counter. |
| trace | Make sensible use of TeX tracing in LaTeX. |
| translation-filecontents-de | German version of filecontents. |
| trig | Simple trigonometric functions. |
| trigonometry | Demonstration code for cos and sin in TeX macros. |
| trimspaces | Trim spaces around an argument or within a macro. |
| tweb | A web system for TeX macro sources. |
| twoopt | Definitions with two optional arguments. |
| uniquecounter | Provides unlimited unique counter. |
| unouter | Suppress \outer flags in Plain TeX. |
| varsfromjobname | Extract variables from the name of the LaTeX file. |
| verbatimbox | Deposit verbatim text in a box. |
| verbdef | Define commands which expand to verbatim text |
| warning | Global warnings at the end of the logfile. |
| weekday | Generate "day of week". |
| williams | Miscellaneous macros by Peter Williams. |
| wochtag | Generate the German weekday name for a date. |
| wright | Define commands with optional arguments. |
| xargs | Define commands with many optional arguments. |
| xcoffins | Rich boxed material for LaTeX 3. |
| xcomment | Allows selected environments to be included/excluded. |
| xesearch | A string finder for XeTeX. |
| xfor | A reimplementation of the LaTeX for-loop macro. |
| xgalley | Control text feeding onto the page. |
| xhfill | Extending \hrulefill. |
| xifthen | Extended conditional commands. |
| xkeyval | Extension of the keyval package. |
| xkvltxp | Provision for expandable macros in package options. |
| xkvview | Xkeyval viewer. |
| xlop | Calculates and displays arithmetic operations. |
| xltxtra | "Extras" for LaTeX users of XeTeX. |
| xmltex | Support for parsing XML documents. |
| xnewcommand | Define \global and \protected commands with \newcommand. |
| xoptarg | Expandable macros that take an optional argument. |
| xparse | A generic document command parser. |
| xpatch | Extending etoolbox patching commands. |
| xspace | Define commands that appear not to eat spaces. |
| xstring | String manipulation for (La)TeX. |
| xtcapts | Defining language-dependent text macros. |
| xtemplate | A high-level interface for declaring document commands. |
| xtrcode | Extract contents of LaTeX environments. |
| yax | Yet Another Key System. |
| ydoc | Macros for documentation of LaTeX classes and packages. |
| ytex | Macro package developed at MIT. |
| zahl2string | Format numbers as German words. |
| zero | Start list (etc.) numbering at zero. |
| zref | A new reference scheme for LaTeX. |
| zwgetfdate | Get package or file date. |
Select up to four keywords, then submit. You will see the packages that have all of your keywords. (If you want just one keyword then you can click on it.)
Note that not every package has keywords so you may want to also search by file name, package identifier, description, or to look at the pages that characterize packages through hierarchies. You can suggest keywords for a package, which would be a help.