• DocumentCode
    2549771
  • Title

    Itxkeys: A robust key parser for LATEX

  • Author

    Musa, Afiqah ; Yusuf, Yazid ; Meckel, Miriam ; Soltani, Hamid

  • Author_Institution
    Lancashire Bus. Sch., Univ. of Central Lancashire, Preston, UK
  • fYear
    2012
  • fDate
    29-31 May 2012
  • Firstpage
    2313
  • Lastpage
    2317
  • Abstract
    Currently, the three most popular software modules for creating and managing keys in (LA)TEX are the keyval, xkeyval and pgfkeys packages. The pgfkeys package is a part of the “portable graphics format” bundle of packages. This study concerns primarily the extensions of keyval and xkeyval packages by the ltxkeys package and not pgfkeys package, although ltxkeys provides tools that are not available in pgfkeys. The keyval and xkeyval packages are known to lack the level of robustness required for some modern applications of the machinery of keys in (LA)TEX. Specifically, they strip off outer curly braces in values of keys and are unable to parse key values that contain unbalanced conditionals. For large scale projects, the “selective sanitization” used by xkeyval package does slow down key processing. The keyval package can define only one type of key, while the xkeyval package can define up to four types of key. Four might sound many for key management, but the types of key that xkeyval package can handle are not sufficient to meet modern needs. Moreover, when it comes to defining several keys (of the same or different types), these packages require a relatively large estate to achieve this task. The ltxkeys package substantially extends the robustness and functionality of the keyval and xkeyval packages. Robustness results from the ability of the ltxkeys package to preserve outer braces in key values throughout parsing, as well as parse key values with unbalanced conditionals. The ltxkeys package can compactly define up to seven types of key, and, unlike in the keyval and xkeyval packages, it does provide for the definition of keys whose callback macros expect multi-parametered and delimited arguments. The ltxkeys package also introduces and robustly implements the concepts of key commands, key environments, pathkeys, amongst other new ideas in key management in (LA)TEX.
  • Keywords
    grammars; high level languages; software packages; LATEX; delimited arguments; key commands; key environments; key management; large scale projects; ltxkeys; multiparametered arguments; pathkeys; pgfkeys package; portable graphics format; robust key parser; selective sanitization; xkeyval package; Cities and towns; Educational institutions; Robustness;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Fuzzy Systems and Knowledge Discovery (FSKD), 2012 9th International Conference on
  • Conference_Location
    Sichuan
  • Print_ISBN
    978-1-4673-0025-4
  • Type

    conf

  • DOI
    10.1109/FSKD.2012.6234179
  • Filename
    6234179