% % CoDi: Commutative Diagrams for TeX % Copyright (c) 2015-2024 Paolo Brasolin % SPDX-License-Identifier: MIT % % This file is part of CoDi 1.1.2, released on 2024/04/22 under MIT license. % % όζος • (ózos) % 1. node % 2. nodule % 3. gnarl % Ozos is an alternative parsing mechanism for TiKz nodes. % It implements the following transformation % \kDOzos ... {CONTENTS}; ---> \node ... [node contents={CONTENTS}]; % to ensure the node contents always pass through the TikZ key. \usetikzlibrary{commutative-diagrams.koinos} %==[ TikZ/pgf layer ]=========================================================== \pgfkeys{/ozos/every node/.style={}} %==[ main macro ]=============================================================== \def\kDOzos% {\kDOzosFetchThen {\kDOzosMaybeDumpThen \kDOzosOutput}} %==[ fetching routine ]========================================================= % I use the general one implemented by koinos. \let\kDOzosFetchThen\kDFetchOptAndGrpThen %==[ parsing routine ]========================================================== % Trivially solved by fetching. %==[ dumping routine ]========================================================== \def\kDOzosMaybeDumpThen#1{% \kDDump{options: '\the\kDOptTok'}% \kDDump{content: '\the\kDGrpTok'}% #1} %==[ output routine ]=========================================================== \def\kDOzosOutput{ \edef\kDAct{ \noexpand\node [/ozos/every node] \the\kDOptTok [/tikz/node contents={\the\kDGrpTok}]; } \kDAct }