# Auto-generate labels and version numbers def generate_labels(): data = "" reset_func = "\\newcommand{\\resetNumbering}{" for label in [ "definition", "example", "theorem", "lemma", "corollary", "proposition", "fact", "formula", "remark", "combine", ]: data += f"\\newcounter{{{label}none}}\n" reset_func += f"\n \\setcounter{{{label}none}}{{0}}\n" data += f"\\newcounter{{{label}section}}[section]\n" data += f"\\renewcommand{{\\the{label}section}}{{\\thesection.\\arabic{{{label}section}}}}\n" reset_func += f" \\setcounter{{{label}section}}{{0}}\n" data += f"\\newcounter{{{label}subsection}}[subsection]\n" data += f"\\renewcommand{{\\the{label}subsection}}{{\\thesubsection.\\arabic{{{label}subsection}}}}\n" reset_func += f" \\setcounter{{{label}subsection}}{{0}}\n" data += f"\\newcounter{{{label}subsubsection}}[subsubsection]\n" data += f"\\renewcommand{{\\the{label}subsubsection}}{{\\thesubsubsection.\\arabic{{{label}subsubsection}}}}\n" reset_func += f" \\setcounter{{{label}subsubsection}}{{0}}\n" data += f"\\newcounter{{{label}paragraph}}[paragraph]\n" data += f"\\renewcommand{{\\the{label}paragraph}}{{\\theparagraph.\\arabic{{{label}paragraph}}}}\n" reset_func += f" \\setcounter{{{label}paragraph}}{{0}}\n" # Generate tcolorboxes if label != "combine": data += f"""\\newtcolorbox{{{label}}}[2][]{{ mainboxstyle, colback={label}color!5!white, colframe={label}color!75!black, colbacktitle={label}color!75!black, title={{\\large #2}}, overlay={{ \\node[overlaystyle, draw={label}color!75!black, fill={label}color!75!black ] at (frame.north east) {{ \\large \\tr{{\\{label}NamingEN}}{{\\{label}NamingDE}}\\printLabel{{{label}}} }}; }}, #1 }}\n\n""" data += f"\\newcommand{{\\inline{label}}}[1][NONAME]{{\\inline[#1]{{{label}}}}}" data += f"\\newcommand{{\\short{label}}}[1][NONAME]{{\\short[#1]{{{label}}}}}" reset_func += "\n \\setcounter{table}{0}\n" reset_func += " \\setcounter{figure}{0}\n" reset_func += "}\n" return data, reset_func