This commit is contained in:
team3
2026-07-13 16:11:00 +02:00
parent 9cd8e02e22
commit a8e8e077bd
14 changed files with 454 additions and 62 deletions

View File

@@ -176,6 +176,21 @@ def test_tex_normalisieren():
assert korpus._tex_normalisieren("\\ssname bleibt") == "\\ssname bleibt"
def test_tex_makro_expansion():
"""Parameterlose Präambel-Makros werden im Rumpf ersetzt (aak: \\PP → P)."""
tex = ("\\newcommand{\\PP}{\\mathrm{P}}\n\\newcommand{\\P}{\\mathbf{P}}\n"
"\\newcommand{\\half}[1]{\\frac{#1}{2}}\n\\begin{document}\n"
"Klasse $\\PP$ und $\\P$ sowie $\\PP=\\NP$? Und \\half{x} bleibt.\n"
"\\end{document}\n")
e = korpus._tex_normalisieren(tex)
assert "$\\mathrm{P}$" in e # \PP expandiert
assert "$\\mathbf{P}$" in e # \P getrennt (längster Name zuerst)
assert "\\mathrm{P}=\\NP" in e # \NP unbekannt → bleibt
assert "\\half{x}" in e # Makro mit Parameter: unangetastet
# ohne \begin{document} keine Expansion (kein Präambel-Kontext)
assert korpus._tex_normalisieren("\\PP pur") == "\\PP pur"
async def test_uni_quellen_vorrang_tex(tmp_path):
topic = topic_anlegen("k-tex", art="uni")
ctx = llm.Kontext(run_anlegen(topic), topic, "minimax")