LaTeXM...:KeyVal(3pm)

🌸 NAME 🌸

Okay so this is the LaTeXM...:KeyVal(3pm) page, bestie, and the module is "LaTeXML::Core::KeyVal" β€” Key-Value Definitions in LaTeXML. Periodt. πŸ’–

✨ DESCRIPTION ✨

It provides an interface to define and access KeyVal definition. Used in conjunction with "LaTeXML::Core::KeyVals" to fully implement KeyVal pairs. It extends LaTeXML::Common::Object. Slay. πŸ¦‹


πŸ’… Exposed Methods

  • DefKeyVal(keyset, key, type, default, %options); β€” Defines a new KeyVal Parameter in the given keyset, key, and with the optional prefix option{prefix}. For descriptions of further parameters, see LaTeXML::Core::KeyVal::define. ✨
  • HasKeyVal(prefix, keyset, key); β€” Checks if the given KeyVal pair exists. πŸ”
  • DisableKeyVal(prefix, keyset, key); β€” Disables the given KeyVal so that it can not be used. 🚫

πŸŽ€ Constructors

Here’s the constructor signature, no cap:

"<LaTeXML::Core::KeyVal-"new(preset, keyset, key); >>

Creates a new KeyVal object. This serves as a simple reference to the given KeyVal object, regardless of its existence or not. It’s giving β€œjust a pointer, bestie” energy. 🫢

πŸ¦‹ KeyVal Key Definition

$keyval->define($type, $default, %options);

(Re-)defines this Key of kind 'kind'. Defines a keyword key used in keyval arguments for the set keyset and, and if the option code is given, defines appropriate macros when used with the keyval package (or extensions thereof). 🌈

If type is given, it defines the type of value that must be supplied, such as 'Dimension'. If default is given, that value will be used when key is used without an equals and explicit value in a keyvals argument. πŸ’…

A scope option can be given, which can be used to define the key-value pair globally instead of in the current scope. πŸŒ€

Several more options can be given. These implement the behaviour of the xkeyval package. πŸ”₯

The prefix parameter can be used to configure a custom prefix for the macros to be defined. The kind parameter can be used to configure special types of xkeyval pairs. ✨

  • The ordinary kind behaves like a normal keyval parameter. πŸ“
  • The command kind defines a command key, that when run stores the value of the key in a special macro, which can be further specified by the macroprefix option. πŸ’»
  • The choice kind defines a choice key, which takes additional options choices (to specify which choices are valid values), mismatch (to be run if an invalid choice is made) and bin (see xkeyval documentation for details). πŸŽ€
  • The boolean kind defines a special choice key that takes possible values true and false, and defines a new Conditional according to the assumed value. The name of this conditional can be specified with the macroprefix option. πŸ‘‘
⚠️ The kind parameter only takes effect when code is given, otherwise only meta-data is stored. iykyk πŸ’€

Helper functions, because we love a support squad:

  • $keyval->defineOrdinary($code); β€” Helper function to define $STATE necessary for an ordinary key. 🧚
  • $keyval->defineCommand($code, $macroprefix); β€” Helper function to define $STATE necessary for a command key. πŸ’œ
  • $keyval->defineChoice($code, $mismatch, $choices, $normalize, $bin); β€” Helper function to define $STATE necessary for an choice key. 🌸
  • $keyval->defineBoolean($code, $mismatch, $macroprefix); β€” Helper function to define $STATE necessary for a boolean key. ⭐

πŸ‘‘ AUTHOR

Tom Wiesing <tom.wiesing@gmail.com> β€” iconic. πŸ’–

Public domain software, produced as part of work done by the United States Government & not subject to copyright in the US.


xoxo, this User Contributed Perl Documentation page comes from perl v5.40.1, dated 2025-11-16 πŸ’…πŸ«Ά

πŸ“¦ where this page comes from