CTAN Comprehensive TeX Archive Network

Macro support

This topic contains packages with support for development of macros.

Add commands to package after it's loaded.
Execute command after the next page break.
Alias counters.
Array data structures for .
Array data structures for .
Sort arrays (or portions of them).
Associate counters, making them step when a master steps.
Short commands starting '@'.
Make author, etc., available after \maketitle.
Code balanced quotes according to document language.
Split list, in ’s mouth.
Producing 'blind' text for testing.
A boolean expression evaluator and a switch command.
BX bundle base components.
Enclose the document body with some pieces of code.
Ghost insertion for proper xkanjiskip.
Dummy text in Japanese.
Adjust the position of parentheses at paragraph head.
Catch an external file into a macro.
Catch text delimited by docstrip tags.
Generic handling of category codes.
Preserving and recalling standard catcodes.
Extend “improperly closed environment” messages.
A patch for the label-checking code.
Change the resetting of counters.
Record classes used in a document.
Get command name reliably.
Store counter values per chapter.
Collect text for later re-use.
Expandable iteration on comma-separated and filename lists.
Compare two strings.
Create new key-value syntax.
Make use of count1 to count9.
Support dynamic counters.
Declare register names locally.
Expand private macros in a document.
Macros for constructing interactive scripts.
Do things after a group.
Apply a command to a list of items.
Declare active character substitution, robustly.
Create duckified dummy content.
Local allocation macros for 2015.
A new interface for environments in .
Catch arguments delimited by end of line.
Avoid name clashes with e- commands.
E- support package.
e- tools for users and package writers.
e- tools for .
German translation of documentation of etoolbox.
Hooks for standard token lists.
Wrapper package for experimental 3.
Import and export values of registers.
Expandable \@testopt (and related) macros.
A miscellany of support macros.
One-shot changes to token registers such as \everypar.
Fetch the current class name.
FIFO and stack implementation for package writers.
Hooks for input files.
Adjust behaviour of the ends of footnotes.
Fix miscellaneous two column mode features.
Fix JFM (for *p).
Setting and clearing of flags in bit fields.
Improve on 's footnote handling.
hyperref aware footnote.sty.
Using array structures in .
Iteration in .
Support for writing modular and customisable code.
Gathering items from a list-like environment.
Clean up title references.
Support macros for other packages.
More gobble macros for Plain and .
Manipulating generalized token lists.
Make allocations local.
Construct package bundles.
Load patches for packages.
Hungarian dummy text (Lórum ipse).
Functionality from IEEEtran for use with other classes.
If-then-else command for processing potentially empty arguments.
Utility macro: peek ahead without ignoring spaces.
Determine if the current page is odd or even.
Conditional commands in documents.
Extra tests for \ifthenelse.
Detect p and its derivatives.
Translate input files on the fly.
Calculate inverse file paths.
Generate sentences in Kant's style.
A ‘lipsum’ package for the Kurdish language.
3 backend drivers.
A testing and building system for .
Experimental 3 concepts.
option processing using 3 keys.
High-level 3 concepts.
Regular expression facilities for .
Check the existence of labels, and fork accordingly.
Lists in 's mouth.
Zero-width boxes for annotations, etc.
Miscellaneous helper packages.
Easy access to the Lorem Ipsum dummy text.
A simple package for including support files.
Process lists to do repetitive actions.
Various macros for keeping things local.
Macros for localizing register allocations.
e- showbox facilities for exploration purposes.
General looping macros for use with .
Provide a graph datastructure for experimental 3.
Some kernel commands for general use.
A collection of API macros.
utility macros.
Swap the definitions of two macros.
The new \makecommand command always (re)defines a command.
Making a macro robust.
Make an existing command robust.
Miscellaneous list-related commands.
Miscellaneous tools by Mark Wooding.
Containers for data in .
Uppercase the first letter of a word.
A set of useful macro tools.
An abstract of facilities for use with Plain .
defining, expansion, and debugging commands.
Quickly define several similar macros.
A loop facility for Generic .
Multiple environments using a "key=value" syntax.
Variations on the primitive command \expandafter.
Write information to files.
Generate new command definitions.
Processing an environment’s body.
Generalisations of the page advance commands.
Resolve macro name conflict between packages.
Tool to prevent paragraph indentation after environments/macros.
Avoid the need for protection.
Flexible and configurable page range typesetting.
Apply a macro to each line of an environment.
Patch loaded packages, etc.
Change the definition of an existing command.
Implements pdf's escape features using or e-.
Lua support for pdf utility functions.
Make a counter reset at every page boundary.
A patched version of PiCTeX using fewer registers.
Dimens for picture macros.
A minimal method for making generic packages.
'Lorem ipsum' for Plain developers.
Process key-value pairs.
Load properties from a file.
Define protected commands.
A ‘lipsum’ for Persian.
An easy way to typeset any part of The Holy Quran.
German translations to the quran package.
Urdu translations to the quran package.
Randomise token strings.
Recycle top matter.
Conditional macro, etc., definitions.
High level patching of commands.
Set the font size relative to the current font size.
Remove from counter-reset lists.
Remove counters from reset list.
Repeat execution of macros.
Declare robust command, with \newcommand checks.
Increase the number of available output streams in .
Redefine symbols where names conflict.
Transfig patch supporting shapepar.
Show label, ref, cite and bib keys.
Show label commands in the margin.
Create commands using parameters and keyval in parallel.
Save loading all of another package.
Patch kernel spacing macros.
Tools to define and use stacks.
Highly customised stacking of objects, insets, baseline changes, etc.
Provide sectioning information for package writers.
Storing information for reuse.
Store the name of a defined command in a container.
Deal with substrings in strings.
Define commands with suffixes.
Tabbing with accented letters.
“Tabbing” front-end to stackengine.
Macros to write format-independent packages.
Case conversion ignoring mathematics, etc.
A single TikZ node for the whole page.
The tokcycle package helps one to build tools to process tokens from an input stream, on a token-by-token basis.
Tool macros.
Find the last value of a counter.
Make sensible use of tracing in .
Trim spaces around an argument or within a macro.
Definitions with two optional arguments.
Suppress \outer flags in Plain .
Watching digest tokens.
Miscellaneous macros by Peter Williams.
Ephemeral macro use.
Define commands with optional arguments.
Define commands with many optional arguments.
Associated counters stepping simultaneously.
Track the number of subsections etc. that occur in a specified tracklevel.
A reimplementation of the for-loop macro.
Control text feeding onto the page.
Extended conditional commands.
Provision for expandable macros in package options.
Xkeyval viewer.
Extending etoolbox patching commands.
Define commands that peek ahead in the input stream.
Process trailing punctuation which may be redundant.
Define commands that appear not to eat spaces.
Chinese dummy text.
Guest Book Sitemap Contact Contact Author