63 lines
2.4 KiB
Python
63 lines
2.4 KiB
Python
# 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
|