From d7c46f4d147ca520623ac4fa6a9ac4598bfadab2 Mon Sep 17 00:00:00 2001
From: Jiri Kalvoda <jirikalvoda@kam.mff.cuni.cz>
Date: Wed, 4 Sep 2024 22:23:23 +0200
Subject: [PATCH] Prace: Upgrade

---
 prace/bakalarka/formatitko_commands.py | 6 ++++++
 prace/bakalarka/g.py                   | 2 +-
 prace/bakalarka/index.md               | 4 ++--
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/prace/bakalarka/formatitko_commands.py b/prace/bakalarka/formatitko_commands.py
index a816c41e3..17d0bc4bb 100644
--- a/prace/bakalarka/formatitko_commands.py
+++ b/prace/bakalarka/formatitko_commands.py
@@ -140,3 +140,9 @@ def refs(element, content, processor):
         copy(div1, *x),
         texb("}"),
     ]
+
+@formatitko_command
+def directtex(element, content, processor):
+    (code_line,) = element.content
+    assert isinstance(code_line, pf.Code)
+    return [texi(code_line.text)]
diff --git a/prace/bakalarka/g.py b/prace/bakalarka/g.py
index 47eacec57..f7bcd5d57 100644
--- a/prace/bakalarka/g.py
+++ b/prace/bakalarka/g.py
@@ -9,7 +9,7 @@ import sys, os
 d = pathlib.Path("/".join(__file__.split("/")[:-1]))
 
 def load(name):
-    return data_lib.Data(d/name, validate_versions=False, remove_duplications=True)
+    return data_lib.Data(name, validate_versions=False, remove_duplications=True)
 
 def load_main_test():
     return load(d/"main_test/log")
diff --git a/prace/bakalarka/index.md b/prace/bakalarka/index.md
index f51c729e7..4fc7beddf 100755
--- a/prace/bakalarka/index.md
+++ b/prace/bakalarka/index.md
@@ -711,7 +711,7 @@ vynutíme $\vec{y_i} = -\vec{y_j}$. Na to nám stačí jediná podmínka -- ří
 Účelovou funkcí pak řekneme, že sousední auta mají preferovat stejnou barvu, tedy jejich body na sféře mají být blízko sebe, což znamená, že skalární součin má být co největší.
 
 :::{c=box t=algo name="Řešení pomocí semidefinitního programování" notation="sdp"}
-\hfil{\penalty-10000}\relax Vyřešíme následující semidefinitní program v dekomponovaném tvaru:
+[`\hfil{\penalty-10000}\relax{}`]{c=directtex}Vyřešíme následující semidefinitní program v dekomponovaném tvaru:
 $$\progline{maximalizuj}{\sum_{0\le i<2n-1} \vec{y_i}^{\rm T} \vec{y_{i+1}}}{}$$
 $$\progline{za podmínek}{\vec{y_{a_{i,0}}} = -\vec{y_{a_{i,1}}}}{0\le i < n}$$
 $$\progline{}{|y_i| = 1}{0\le i < 2n}$$
@@ -1257,7 +1257,7 @@ def gen_alg(pipeline_name, algo_name, name_suffix, floatpage, add_note=False):
             *(["chyb"] if print_errors else []),
             [pf.Math("\\overline{\\delta_{\\algo{"+algo_name+"}}(n)}", format='InlineMath')],
             [pf.Math("S_{\\delta_{\\algo{"+algo_name+"}}}(n)", format='InlineMath')],
-            *([pf.Math(f"{i} \%", format='InlineMath')] for i in percentils)
+            *([pf.Math(f"{i} \\%", format='InlineMath')] for i in percentils)
             )))
     note = element.content if add_note else []
     return processor.transform([pf.Figure(table, *note, caption=pf.Caption(pf.Plain(*parse_string("Statistika algoritmu "), pf.Math(f"\\algo{{{algo_name}}}", format="InlineMath"), *name_suffix, *parse_string("."))), attributes=dict(floatpage=floatpage, tocmac="", type="table", type_text="Tabulka"))])
-- 
GitLab