config file
config.py
DEFAULT_OPTIONS = {"remove_comments": True, "strip_lines": True}
# Replace without regex
replace_simple = [
["\\ds\\", "\\displaystyle\\"],
["$\\C$", "\\mathcal{C}"],
["\\e^", "\\text{e}^"],
["\\mathscr", "\\mathcal"],
# ["\\[", "$$"],
# ["\\]", "$$"],
["\n$$", "\n$$\n"],
["$$\n", "\n$$\n"],
["\\begin", "\n\\begin"],
["\\begin{center}", ""],
["\\end{center}", ""],
["\\begin{solution}", ":::startsolution\n"],
["\\end{solution}", "\n\n:::endsolution"],
]
# Deleted with TexSoup
# Example: \vspace{1cm} -> ""
del_commands = [
"vspace",
"Bareme",
"cornouaille",
"renewcommand",
"setbar",
"esp",
"encadre",
"ref",
"arraycolsep",
"label",
"renewcommand",
"hspace",
"parindent",
"raisebox",
"rhead",
"lhead",
"lfoot",
"rfoot",
"addtolength",
"pagestyle",
"thispagestyle",
"marginpar",
"newpage",
"hfill",
"medskip",
"bigskip",
"smallskip",
"setlength",
"decofourleft",
"footrulewidth",
"decofourright",
]
del_environnements = [r"\begin{center}", r"\end{center}"]
del_blocks = ["center"]
replace_commands = [
# ["chapter", "# S_T_R"],
# ["section", "## S_T_R"],
# ["subsection", "### S_T_R"],
# ["textbf", "**S_T_R**"],
# ["textsc", "S_T_R"],
# ["emph", "_S_T_R_"],
["psframebox", "S_T_R"],
]
# template mkdocs
fake_admonition = {"latex_name": "definition", "type": "tip", "texte": "Défintion"}
def template_mkdocs(admonition: dict):
admonition = f"""\n!!!tip "{admonition["texte"]} """ + r'\2"\n\n'
end = r"\\end{" + admonition["latex_name"] + "}"
# admonitions
admonitions_mkdocs = [
# definition
[
r"\\begin\{definition\}(\[(?P<block_title>.*?)\])?",
"""\n!!!tip "Définition """ + r'\2"\n\n',
],
[r"\\end{definition}", "\n\n:::"],
# definitions
[
r"\\begin\{definitions\}(\[(?P<block_title>.*?)\])?",
"""\n!!!tip "Définitions """ + r'\2"\n\n',
],
[r"\\end{definitions}", "\n\n:::"],
# exemple
[
r"\\begin\{exemple\}(\[(?P<block_title>.*?)\])?",
"""\n!!!example "Exemple """ + r'\2"\n\n',
],
[r"\\end{exemple}", "\n\n:::"],
# exemples
[
r"\\begin\{exemples\}(\[(?P<block_title>.*?)\])?",
"""\n!!!example "Exemples """ + r'\2"\n\n',
],
[r"\\end{exemples}", "\n\n:::"],
# remarque
[
r"\\begin\{remarque\}(\[(?P<block_title>.*?)\])?",
"""\n!!!note "Remarque """ + r'\2"\n\n',
],
[r"\\end{remarque}", "\n\n:::"],
# remarques
[
r"\\begin\{remarques\}(\[(?P<block_title>.*?)\])?",
"""\n!!!note "Remarques """ + r'\2"\n\n',
],
[r"\\end{remarques}", "\n\n:::"],
# propriete
[
r"\\begin\{propriete\}(\[(?P<block_title>.*?)\])?",
"""\n!!!tip "Propriété """ + r'\2"\n\n',
],
[r"\\end{propriete}", "\n\n:::"],
# proprietes
[
r"\\begin\{proprietes\}(\[(?P<block_title>.*?)\])?",
"""\n!!!tip "Propriétés """ + r'\2"\n\n',
],
[r"\\end{proprietes}", "\n\n:::"],
# theoreme
[
r"\\begin\{theoreme\}(\[(?P<block_title>.*?)\])?",
"""\n!!!tip "Théorème """ + r'\2"\n\n',
],
[r"\\end{theoreme}", "\n\n:::"],
# theorem
[
r"\\begin\{theorem\}(\[(?P<block_title>.*?)\])?",
"""\n!!!tip "Theorem """ + r'\2"\n\n',
],
[r"\\end{theorem}", "\n\n:::"],
# methode
[
r"\\begin\{methode\}(\[(?P<block_title>.*?)\])?",
"""\n!!!faq "Méthode """ + r'\2"\n\n',
],
[r"\\end{methode}", "\n\n:::"],
]
admonitions_docusaurus = [
[
r"\\begin\{definition\}(\[(?P<block_title>.*?)\])?",
r"\n:::tip Définition: \2\n\n",
],
[r"\\end{definition}", "\n\n:::"],
[
r"\\begin\{definitions\}(\[(?P<block_title>.*?)\])?",
r"\n:::tip Définitions: \2\n\n",
],
[r"\\end{definitions}", "\n\n:::"],
[
r"\\begin\{propriete\}(\[(?P<block_title>.*?)\])?",
r"\n:::tip Propriété: \2\n\n",
],
[r"\\end{propriete}", "\n\n:::"],
[
r"\\begin\{proprietes\}(\[(?P<block_title>.*?)\])?",
r"\n:::tip Propriétés: \2\n\n",
],
[r"\\end{proprietes}", "\n\n:::"],
# theoreme
[
r"\\begin\{theoreme\}(\[(?P<block_title>.*?)\])?",
r"\n:::tip Théorème: \2\n\n",
],
[r"\\end{theoreme}", "\n\n:::"],
# theorem
[
r"\\begin\{theorem\}(\[(?P<block_title>.*?)\])?",
r"\n:::tip Theorem: \2\n\n",
],
[r"\\end{theorem}", "\n\n:::"],
[
r"\\begin\{exemple\}(\[(?P<block_title>.*?)\])?",
r"\n:::note Exemple: \2\n\n",
],
[r"\\end{exemple}", "\n\n:::"],
[
r"\\begin\{remarques\}(\[(?P<block_title>.*?)\])?",
r"\n:::note Remarques: \2\n\n",
],
[r"\\end{remarques}", "\n\n:::"],
[
r"\\begin\{remarque\}(\[(?P<block_title>.*?)\])?",
r"\n:::note Remarque: \2\n\n",
],
[r"\\end{remarque}", "\n\n:::"],
[
r"\\begin\{preuve\}(\[(?P<block_title>.*?)\])?",
r"\n:::note Preuve: \2\n\n",
],
[r"\\end{preuve}", "\n\n:::"],
[
r"\\begin\{methode\}(\[(?P<block_title>.*?)\])?",
r"\n:::warning Méthode: \2\n\n",
],
[r"\\end{methode}", "\n\n:::"],
]
clean_quote = [r'\\"', '"']
blocks = [
[r"\\begin\{multicols\}\{((?P<arg>.*?))\}", ""],
[r"\\end{multicols}", ""],
[r"\\begin\{minipage\}\{((?P<arg>.*?))\}", ""],
[r"\\end{minipage}", ""],
[r"\\begin\{colitemize\}\{((?P<arg>.*?))\}", r"\\begin{itemize}"],
[r"\\end{colitemize}", r"\\end{itemize}"],
]
math_sub = [
[r"\\np\{((?P<arg>.*?))\}", r"\1"],
[r"\\nombre\{((?P<arg>.*?))\}", r"\1"],
# [r"\\section\{((?P<arg>.*?))\}", r':::section \1'],
[r"\\textsf\{((?P<arg>.*?))\}", r"\1"],
[r"\\Large(\{(?P<arg>.*?)\})?", r"\1"],
[r"\\parbox\{((?P<arg>.*?))\}", ""],
[r"\\end\{((?P<arg>.*?))\}", r"\\end{\1}\n"],
[r"\\Oijk", r"$\\left(\\text{O};~\\vect{i},~\\vect{j},~\\vect{k}\\right)$"],
[r"\\Ouv", r"$\\left(\\text{O};~\\vect{u},~\\vect{v}\\right)$"],
[r"\\Oij", r"$\\left(\\text{O};~\\vect{i},~\\vect{j}\\right)$"],
[r"\\vect\{((?P<arg>.*?))\}", r"\\overrightarrow{\1}"],
[r"\\e(\W)", r"\1"],
]
postpandoc = [
[r"\\textsf\{((?P<arg>.*?))\}", r"\1"],
[r"\\Large(\{(?P<arg>.*?)\})?", r"\1"],
[r"\\parbox\{((?P<arg>.*?))\}", ""],
[r"\\parindent\{((?P<arg>.*?))\}", ""],
[r"\\hspace\{((?P<arg>.*?))\}", ""],
[r"\\pagestyle\{((?P<arg>.*?))\}", ""],
[r"\\thispagestyle\{((?P<arg>.*?))\}", ""],
[r"\\enlargethispage\{((?P<arg>.*?))\}", ""],
[r"\\vspace\{((?P<arg>.*?))\}", ""],
[r"\\end\{((?P<arg>.*?))\}", r"\\end{\1}\n"],
[r"\\Oijk", r"$\\left(\\text{O};~\\vect{i},~\\vect{j},~\\vect{k}\\right)$"],
[r"\\Ouv", r"$\\left(\\text{O};~\\vect{u},~\\vect{v}\\right)$"],
[r"\\Oij", r"$\\left(\\text{O};~\\vect{i},~\\vect{j}\\right)$"],
[r"\\vect\{((?P<arg>.*?))\}", r"\\overrightarrow{\1}"],
[r"\\rbrace", r"\\}"],
[r"\\strut", ""],
[r"\\quad", ""],
[r"\\setlength", ""],
[r"\\e(\W)", r"\1"],
[r"\\psframebox\[.*\]", ""],
[r"\\ldotcarreaux\[.*\]", ""],
[r"\\bigskip", ""],
[r"\\smallskip", ""],
[r"\\medskip", ""],
[r"\\hfill", ""],
# [r"\\label\{.*\}", ""],
[r"\\hypertarget\{.*\}", ""],
[r'\\"', '"']
# [r"\\fexo\{((?P<arg>.*?))\}\{((?P<arg>.*?))\}\{((?P<arg>.*?))\}", r"\1\n\2\n\3"],
]