Macro Glossary

# Macro Glossary (All GMs)

Items marked as (Production Czar) should be of interest only to them. Macros that are only used in the file they're defined in may not be listed. The Production Czar should keep this file up to date when changing, removing, or adding useful macros!

\A(something)
  Convention for specific abilities. (something) must be letters only, like all macro names. Defined in LaTeX/Lists/abilities.tex by GMs with \ability; available in charsheets, where it gives the ability name, or with the abilities package (this is rarely used by hand) to produce the ability card. Could be defined to take arguments. See also \extract.

\ability{title}{description}{victim sees}
  Make/be an ability card. Available in character sheets (via character.sty) where it prints the ability title, and with the abilities package to produce the actual card. Used by GMs to define \A(something) macros in Lists/abilities.tex or to make unique abilities in character sheets or misc abilities files.

\attack{result1}{result2}{result3}{result4}{result5}
  Used in LaTeX/Lists/combatcards.tex to define the attack section of cinematic combat cards. Defined in combatcards.sty. Each argument is either \h (hit) or \m (miss); \h optionally takes a single-digit argument (see \h below).

\augment{field}{material}
  Used in LaTeX/Lists/ in defining extractable suites for use in charsheets; defined in charextracts.sty. Augments the given extractable field with the given material, so that when it gets to that extractable in the charsheet the material magically appears. Augments appear at the end of each extractable list by default; use \suitestuff to invoke them earlier. It is an error to \augment a field and never list it in the sheet. See suites docs.

\B(something)
  Convention for specific bluesheets. (something) must be letters only, like all macro names. Defined in LaTeX/Lists/bluesheets.tex by GMs with \listsheet. Available in charsheets and bluesheets, where it gives the name; the packets script looks up the actual file to print. See charsheets.html and printing-packets.html.

\bl
  "Block"; the argument you give \defend in LaTeX/Lists/combatcards.tex for a successful defense slot for a cinematic combat card. Defined in combatcards.sty.

\bulkyitem{item name}{item number}{description}{hands bulky}
  Make/be a bulky object item card. Defined in Lists/items.tex in terms of \specialitem. Available in charsheets (via character.sty) where it gives the name, and with the items package (via items.sty) where it makes the card, marking it as "Bulky: N Hand(s)". Often used to define \I(something) macros. See also "extractable env".

\C(something){info}
  Convention for specific characters. (something) must be letters only, like all macro names. Defined via \newchar by GMs in LaTeX/Lists/characters.tex, supplemented by GMs with \player information in LaTeX/Lists/players.tex. Given meaning by game.cls and available everywhere; see charinfo.

\CC(something)
  Convention for specific cinematic combat cards. (something) must be letters only, like all macro names. Defined in LaTeX/Lists/combatcards.tex by GMs with \combatcard; available in charsheets, where it gives, and with the combatcards package (rarely used by hand), producing the actual card. See also "extractable env".

\cash{amount}
  Make/be an appropriate set of money bills that sum to the the amount. Available in charsheets (via character.sty) where it just gives the amount, and with the money package (via money.sty) where it makes the bills as cards. See also "extractable env".

\clump{clump tag}
  Possibly Production Czar only, though other GMs ought to be able to use it safely. Defined in playerlist.sty; used only in Central/playerlist.tex. Inserts the specified clump of character entries at the specified point, alphabetized as per \orderby. See the comments in LaTeX/Central/playerlist.tex.

\clumpasis{clump tag}
  As \clump above, but doesn't alphabetize; order is that of the clump's entries in characters.tex (intervening entries being irrelevant).

\combatcard{attack column}{defense column}{name}{requires}{description}{effect}
  Make/be a cinematic combat card. Available in character sheets (via character.sty) where it prints the name, and with the combatcards package (via combatcards.sty, rarely used by hand) where it makes the combat cards. Used almost exclusively to define \CC(something) macros by GMs in Lists/combatcards.tex, though it could be used in charsheets or misc files to make unique combat cards.

\defend{result1}{result2}{result3}{result4}{result5}
  Used in LaTeX/Lists/combatcards.tex to define the defense section of cinematic combat cards. Defined in combatcards.sty. Each argument is either \bl (block) or \nb (no block).

\@die{message} (Production Czar)
  Announce a fatal error, print the message and line number to the user, and die (stop the latex job). Defined in game.cls, available in .sty files (on the assumption that the .tex will use game.cls) for responding to error conditions that you want to check for. Give an informative message.... Also see \@warn for non-fatal messages.

\doname (Production Czar)
  Defined by default to do nothing; you can \renewcommand it in your style files. It is called by \name right after setting \me to \name's argument. For instance, sheets.sty uses it to do the pretty header.

\eachchar (Production Czar)
  Defined in game.cls; available everywhere. For each \newchar'd character macro in characters.tex, in the order given there, call \eachcharaction{that macro}. See custom.sty comments.

\eachcharaction{character macro} (Production Czar)
  You define \eachcharaction to take a single argument and do something with it. (It's initialized to cause a you-haven't-set-this error, so use \renewcommand, not \newcommand). When you call \eachchar, it will call your \eachcharaction with each character macro in order; see \eachcharaction above.

\extract[multiplicity]{ ...thing... }
  Inside an extractable environment in a charsheet, make "...thing..." a list entry, and later extract it to produce the bluesheet / item card / whatever. If the optional integer [multiplicity] is given, indicate "(xN)" on the charsheet and extract N of the thing for positive N, do \secret[-N]{same thing} for negative N, and do nothing at all for zero N. If you don't want to extract it, use \mention instead; if you don't want to list it, use \secret instead. Defined in charextracts.sty, available only in charsheets. See charsheets.

extractable env; \begin{extractable}{extractable name}... \end{extractable}
  Defined in charextracts.sty; available in character sheets. Makes a list of entries to be listed in the sheet (if made with \extract or \mention, but not \secret) and to be extracted and printed by the perl scripts (if made with \extract or \secret, but not \mention) --- see charsheets and Charsheets/template.tex. See also \extract, \mention, \secret, \note.

\frobbies{...stuff...}
  Used in the preamble of charsheets to do things that need to be done both in the charsheet itself and in tex-type extractables from it. For instance, if you do \newcommand\hqaddress{84 Mass Ave} in the charsheet, and stick \hqaddress inside a mem packet there, you'll be screwed if the defn of \hqaddress doesn't propagate to the extracted .tex for the char's mem packets; \frobbies ensures it will. You can put any amount of stuff in a \frobbies, and multiple ones add.

\G(something)
  Convention for specific greensheets. (something) must be letters only, like all macro names. Defined in LaTeX/Lists/greensheets by GMs with \listsheet. Available in charsheets and greensheets, where it gives the name; the packets script looks up the actual file to print. See charsheets.html, printing-packets.html.

\gamedate (Production Czar)
  Defined in custom.sty by the Production Czar. Available everywhere; used in various style files to print the game's rundate.

\gamename (Production Czar)
  Defined in custom.sty by the Production Czar. Available everywhere; used in various style files to print the game's name.

\h or \h3 (any digit)
  "Hit"; the argument you give \attack in LaTeX/Lists/combatcards.tex for a successful attack slot for a cinematic combat card. Defined in combatcards.sty. May be optionally followed by a single digit, i.e. \h0, \h2, \h9, to produce "Hit0", "Hit2", "Hit9".

\I(something)
  Convention for specific items. (something) must be letters only, like all macro names. Defined in LaTeX/Lists/items.tex by GMs with \newdef (see \newdef) using \normalitem, \bulkyitem, \unstashitem, or other macros defined there in terms of \specialitem (or, possibly, using \specialitem itself). Available in charsheets, where it turns into the item desc, and with the items package (this is rarely used by hand) to produce the item card. See also \extract.

\IN(something)
  Convention for specific ingestibles. (something) must be letters only, like all macro names. Defined in LaTeX/Lists/ingestibles.tex by GMs with \newdef (see \newdef) in terms of \ingestpacket or \ingestfold. Available with the ingestible package (e.g. LaTeX/Central/misc-ingestibles.tex) with which it becomes the actual ingestible, and if the Czar has un-commented the appropriate places available in charsheets where it turns into the description and can be extracted. See also \extract.

\ifinfo (some code) \else (other code) \fi (Production Czar)
  Potentially useful if you hack style files. If the last call to \testinfo, \testinfo\Ccharacter{info}, had 'info' which was a _base_ info field (not combo) which is blank for \Ccharacter, execute (other code) (for "no info"); otherwise execute (some code). The "\else (other code)" is optional. Defined in game.cls, available everywhere. See \testinfo below.

\ifnonzero (some code) \else (other code) \fi (Production Czar)
  Potentially useful if you hack style files or want to put "conditional" combos like 'formal' in custom.sty (see comments there). If the last thing passed to \testnonzero was non-empty (i.e. not zero width), execute (some code), otherwise execute (other code). The "\else (other code)" is optional. Defined in game.cls, available everywhere. See \testnonzero below.

\ingestfold{outside desc}{item number}{effects}
  A fold-and-staple-style ingestible packet (much like that kind of memory packet) with the "outside desc" and item number (blank is fine) outside and the given effect inside. Always available with the ingestible package, with which it makes the actual fold-and-staple-style ingestible; if the Czar has un-commented the appropriate places it is also available in charsheets, where it turns into the outside desc only and can be extracted. Often used in Lists/ingestibles.tex to define \IN(something) macros. See also \extract, \ingestpacket.

\ingestpacket{outside desc}{item number}{effects}
  As \ingestfold, except it makes a goes-into-envelope-style ingestible packet.

\list(something){\newmacro}{filename base}{title of thing}
  "Helper" macros in LaTeX/Lists/foo.tex for list-type extractable "foo" are often of the form \listfoo, taking a \newmacro (whose name should follow some foo-specific convention like \B(something) for Bluesheets) and defining it as \listsheet{filename base}{title of thing}. This is purely to provide a shorthand; it is done directly in the Lists/foo.tex file itself (at the top), so that its existence is transparent to the outside world, which only knows that things are defined in terms of \listsheet somehow. See list-extractable.html, see \listsheet below, and see examples in Lists/bluesheets.tex, Lists/greensheets.tex.

\listsheet{filename base}{sheet contents name}
  Used in the definition of macros for list-type extractables. While it can be used directly, usually the Template or the Czar will define a \list(foo) (see above) helper macro for each list-type extractable foo and GMs will use that. In most situations, \listsheet simply typesets the sheet contents name (game.cls defines it to do this, so this behavior is available everywhere); when the charsheet extraction magic in LaTeX/Styles/charextracts is at work, it will be redefined so that an appropriate list of the filename arguments is also created. These filename arguments should not have the .tex suffix, and should be names of files of type foo; e.g. bluesheet "cia" refers to $GAME/Bluesheets/cia.tex. See list-extractable.html, and see examples in Lists/bluesheets.tex, Lists/greensheets.tex.

\m
  "Miss"; the argument you give \attack in LaTeX/Lists/combatcards.tex for an unsuccessful attack slot for a cinematic combat card. Defined in combatcards.sty.

\makecard{front side}{back side} (Production Czar)
  Defined in cards.sty, available in style files using that. Create the card whose sides are made by the "front side" and "back side" code. Note this is only the form if you used \RequirePackage[double]{cards} (or \usepackage, and/or with margins specified); if you used [single]{cards} (single-sided) or [mirror]{cards} (mirror sides) it's just \makecard{front}. See cards.html and cards.sty comments.

\me{info}
  \me is equivalent to the last thing given to \name. That is, \name{\Ccorpse} makes \me equivalent to \Ccorpse, so that \me{info} is like \Ccorpse{info}. If \name has not been called yet, \me{anything} turns to "Unowned." If you did \name{Freddy Boy} (say for a bluesheet), \me{} is "Freddy Boy" and you shouldn't call \me{first} etc. Works because of def of \name in game.cls and default in game.cls; available everywhere.

\mechanic@envelope{first header}{second header}{content} (Production Czar)
  Used by the Production Czar when defining new mechanics packets macros in the on-and-in-envelope format, as in \mempacket and \ingestpacket, in new styles based on the mechanics-packet.sty package. See comments in that package.

\mechanic@folded{outside header}{outside desc}{inside desc} (Production Czar)
  Used by the Production Czar when defining new mechanics packets macros in the fold-and-staple format, as in \memfold and \ingestfold, in new styles based on the mechanics-packet.sty package. See comments in that package.

\memfold{trigger}{reaction}
  A fold-and-staple-style memory packet with that trigger and reaction. Available in character sheets (defined in character.sty) in which it makes a list entry giving the trigger only, and sets the full entry up for extraction to a file using the memory package, in which it produces the actual fold-and-staple-style memory packet incl response. See also \extract.

\mempacket{trigger}{reaction}
  As \memfold, except it makes a goes-in-manila-envelope-style memory packet.

\mention[multiplicity]{ ...text... }
  In an extractable list in a charsheet, lists "...text..." as a bulletpoint from the list like \extract does, but prevents it from being actually extracted. If the optional multiplicity is given, indicates "(xN)" in the bulletpoint. (Unless N <= 0, in which case punt.) Defined in charextracts.sty, available only in charsheets. See \extract, \secret. See charsheets.

\name{entry}
  Define \me to be the same as "entry"; "entry" is typically \C(something) for character sheets, \B(something) for bluesheets, etc. It then executes whatever \doname does for that style; for sheets this makes a pretty header at the top. Defined in game.cls, available everywhere.

\nb
  "No Block"; the argument you give \defend in LaTeX/Lists/combatcards.tex for an unsuccessful defense slot for a cinematic combat card. Defined in combatcards.sty.

\newchar\C(something){data}
  Defined in game.cls; used only in LaTeX/Lists/characters.tex by GMs to define characters, including PCs, NPCs, and GMs. (something) must be letters only, like all macro names. The format of 'data' is defined in custom.sty and documented in characters.tex; the Production Czar may well fiddle with it, in which case they should document their changes in characters.tex and charinfo.html (which see). Also see \player. Production Czar should also see custom.sty comments.

\newdef\mymacro[number of args]{text of macro}
  \newdef is much like \newcommand --- that is, it causes \mymacro to be a macro taking the stated number of args and turning into the given text, with any occurence of #1 turning into the first argument, #2 the second, etc. (At most nine args, as with \newcommand.) If [number of args] is zero, it may be omitted, and in this case \newdef acts exactly like \newcommand. If a non-zero number is given, the \mymacro will require braces around each of its arguments, thus preventing GMs from forgetting to give them. That is, if you \newdef\lockpick[1]{You can pick locks in #1 minutes} and call \lockpick without giving the argument (\lockpick{2}), it is an error. If you use \newcommand instead, forgetting arguments is generally not itself an error, but will screw up the processing of your file in arbitrarily subtle ways.

  If you use \newdef\mymacro[0]{...} to define a zero-args macro (i.e. if you give the optional [0]), the macro will require that it be followed by an open brace, even though it isn't reading an argument. This ensures that the macro will not gobble spaces following it. With \newcommand\foo{foo}, "\foo bar" becomes "foobar," losing the space (for technical but sound reasons; ask a TeX person if you want to know). "\foo{} bar" will not lose the space; \newdef\foo[0]{foo} will force it to be called like this. (Or "\foo{blah} bar" which becomes "fooblah bar.") \newdef\foo{foo} will not cause \foo to force the braces.

  latex2e has expanded \newcommand so that it has a *-form and can take a second optional argument; these capabilities have not yet been matched by \newdef.

  \renewdef is to \newdef exactly as \renewcommand is to \newcommand (i.e. you use \newdef\mymacro if \mymacro is not yet defined, and \renewdef\mymacro if it is). You can freely mix them --- e.g. \newcommand\mymacro, then \renewdef\mymacro to override, or \newdef\mymacro, then \renewcommand\mymacro to override.

  The use of \newdef at all is optional, but highly recommended. Template-supplied code uses \newdef to define almost every macro that GMs are expected to use. If you decide you really don't want this, you can either replace them all with \newcommand, or do "\let\newdef=\newcommand" in your custom.sty so that \newdef is exactly the same as \newcommand.

\newpronoun{male form}{female form}{neuter form}{callit}{Callit}
  Defined in game.cls, available everywhere; used by GMs to define a new pronoun, "callit" and "Callit" (must be letters only), available in the rest of the sheet.

\normalitem{item name}{item number}{description}
  Make/be a normal object item card. Defined in Lists/items.tex in terms of \specialitem. Available in charsheets (via character.sty) where it gives the name, and with the items package (via items.sty) where it makes the card. Often used to define \I(something) macros in Lists/items.tex. See also "extractable env".

\note{...text...}
  Note something about an extractable entry in a charsheet, i.e. \extract{...} \note{...} or \mention{...} \note{...}. It does not matter whether the \note is inside the \extract or \mention or following it. The note appears in italics after the item in the charsheet, and nowhere else. Defined in character.sty to do that, and in extractable.sty to ignore the notes. See charsheets.

\orderby{\thenby-separated fields} (Production Czar)
  Defined in playerlist.sty; used in playerlist.tex (only) to define what charinfo fields should be used to auto-order the playerlist. See \thenby below and playerlist.tex comments.

\pageof{particular (card-type) extract}
  Make/be a page of whatever extract (of some card type), e.g. \pageof{ \ImyFavoriteItem }. Available in charsheets (via character.sty) for extractable lists, where it says something like "(a page of) [argument]," and in cards files (whether extracted from charsheets by the packets script or written by hand), where it starts a new page and fills it with the given card. It is not predefined for any non-cards tex-type extracts; the Czar may wish to do so. Cf. \putcard, and see the LaTeX/Central/misc-(various).tex comments and examples.

\player\C(something){data}
  Defined in game.cls; used only in LaTeX/Lists/players.tex by GMs to define player information for character macros already made by GMs in LaTeX/Lists/characters.tex by \newchar. (See \newchar.) The format of 'data' is defined in custom.sty and documented in players.tex; the Czar may well fiddle with it, in which case they should document their changes in players.tex and charinfo.html (which see). The Production Czar should also see custom.sty comments.

\playerlist{...} (Production Czar)
  Defined in playerlist.sty; used in playerlist.tex (only) to define the columns of the playerlist. See \orderby, \thenby, and playerlist.tex comments.

\putcard
  Defined in cards.sty; available in cards files. Make another copy of the last card made. Cf. \pageof. See printing-misc.html and the LaTeX/Central/misc-(various).tex comments.

\renewdef\mymacro[number of arguments]{macro text}
  \renewdef is to \newdef as \renewcommand is to \newcommand. See \newdef above.

\rot{n}{text}
  Defined in game.cls, available everywhere. Produces the given text with all alphabet characters alphabet-rotated by n, which can be any integer. E.g. \rot{2}{abyz8} is cdab8. Since latex expands macros from the outside in, \rot{2}{\foo} will result in whatever \foo would, *not* in a rotated version of that. \Cjones{\rot{2}{char}} and so on do work fine to rotate character names etc. Do not use \lowercase within \rot, as its normal effects are overridden there.

\saystats
  Use in charsheets to produce a nice listing of the character's stats. Defined in characters.sty. Which fields are stats and what their short and long names are gets set by the Czar in custom.sty; the stat values for each char are set in Lists/characters.tex by GMs.

\secret[multiplicity]{...thing...}
  Use inside an extractable environment in a charsheet. "...thing..." will later be extracted/printed by the packets script, but there will not be an entry for it on the character sheet. This is useful for, say, stuff that starts out in a memory packet or a device packet. Secret material prints on separate sheets and says 'secret.' If the optional integer multiplicity is given, extracts that many of the thing. If the multiplicity is negative, acts like \extract[abs value] instead. If the multiplicity is zero, does nothing at all. See also \extract, \mention. Defined in charextracts.sty, available only in charsheets. See charsheets.html.

\semicolon{}
  Defined in game.cls; used in \newchar calls in LaTeX/Lists/characters.sty when a field includes a semicolon, since literal semicolons serve as field delimiters. That is, \Cjones is given a suffix of "III; PhD" as "III\semicolon{} PhD" since "III; PhD" would make "III" the suffix and "PhD" the next field.

\sheetname (Production Czar)
  Used in sheets.sty to put the kind of sheet being made in the pretty header; defined in the style file for that kind of sheet (character.sty, bluesheet.sty, etc). Whatever it's defined as goes into the header. sheets.sty makes it "Miscellaneous Sheet"; you'll want to \renewcommand it to something appropriate for new .sty files.

\sign{name}{room}{description}{mechanic}
  Defined in signs.sty, used by GMs in LaTeX/Central/signs.tex or other files using the signs package. If the "mechanic" field is left blank, the mechanic box is omitted entirely. You may well wish to have the Czar fiddle with the format of signs, in which case they should update this entry and the comments in signs.tex to match.

\specialitem{name}{number}{description}{note} (mostly Czar)
  Makes an item with that name, desc, and number, and whose card will have "note" in a framed rotated box on the side (like "Bulky" or "Unstashable"). While GMs could use this to make individual items or individual item macros, it's usually used by the Czar in the top portion of Lists/items.tex to define other item macros, e.g. \normalitem, \bulkyitem, \unstashitem, which GMs then use. \specialitem is defined in character.sty, which makes it available in charsheets to give just the name, and in items.sty, which makes it make actual cards. See also "extractable env".

\suitestuff
  In a charsheet extractable list, immediately brings out all material the field has been \augment'd with by suites, then clears the memory of the \augments so that another \suitestuff in the field does nothing. Automatically called at the end of each extractable list. Defined in charextracts.sty. See suites docs.

\testinfo\Ccharacter{info} (Production Czar, for hacking)
  Tests where 'info' (which should be a base info field name) is blank for \Ccharacter, setting things up so that \ifinfo works. Defined in game.cls, available everywhere; see \ifinfo above.

\testnonzero{stuff} (Production Czar)
  Potentially useful for hacking or making 'conditional' combos like 'formal.' Tests whether "stuff" is blank (zero width) or nocustomt, setting things up so that \ifnonzero works. Defined in game.cls, available everywhere; see \ifnonzero above.

\thenby (Production Czar)
  Used in a playerlist's \orderby (and nowhere else) to separate fields. Must be present literally (i.e. not another macro that is defined to be \thenby). See \orderby, \playerlist, but mostly playerlist.tex's comments.

tightlist env; \begin{tightlist} \item... \item... \end{tightlist}
  Defined in sheets.sty; available in sheets, but for most charsheet things you want to use the 'extractable' env instead; 'tightlist' is good for a Contacts list, though. Lists the entries in a nice non-space-consuming way.

\topquote{clever quote}{attribution}
  Defined in sheets.sty, available in sheets. Puts the given clever quote with attribution at the top of the sheet in the traditional manner. Unfortunately, it will not detect the error if given a non-clever quote.

\unstashitem{item name}}{item number}{description}
  Make/be an "unstashable" object item card. Defined in Lists/items.tex in terms of \specialitem. Available in charsheets (via character.sty) where it gives the name, and with the items package (via items.sty) where it makes the card, marking it as "Unstashable". See also "extractable env".

\useicon[width]{file.eps}
  Defined in sheets.sty. In a style based on that, or in an individual sheet of such a style, resets the icon used in the header created by \name. \useicon{icon.eps} is called early by sheets.sty to provide a default. The given file should be an encapsulated postscript file, roughly square, and found in DVIPSHEADERS (usually LaTeX/Postscript/). The height will be scaled according to the width (which will try to default reasonably if omitted). If the width is 0pt (it's a length, so tex demands units, not just "0"), or if the filename is blank, the header is icon-less. Since icon filenames will appear in the sheet's postscript, they should be non-game-informative in case any sheets get distributed online.

\W(something)
  Convention for specific whitesheets. (something) must be letters only, like all macro names. Defined in LaTeX/Lists/whitesheets.tex by GMs with \listsheet. Available in charsheets and whitesheets, where it gives the name; the packets script looks up the file with the actual whitesheet. See printing-packets.html, charsheets.html.

\@warn{message} (Production Czar)
  Print the message to the user, offset by blank lines, and keep on going --- see \@die for fatal error messages. Defined in game.cls, available in .sty files (on the assumption that the .tex will use game.cls) for giving warnings. Give informative messages....