From 6e4809000aa25f543b06c290b3f7f017c831e1cc Mon Sep 17 00:00:00 2001 From: "Prof. Dr. Matthias Jung DL9MJ" Date: Mon, 10 Mar 2025 09:37:59 +0100 Subject: [PATCH] feature: added latex --- renderer/fifty_ohm_latex_renderer.py | 14 ++++++++++++++ test/test_picture.py | 19 +++++++++---------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/renderer/fifty_ohm_latex_renderer.py b/renderer/fifty_ohm_latex_renderer.py index 16e481b..21c3656 100644 --- a/renderer/fifty_ohm_latex_renderer.py +++ b/renderer/fifty_ohm_latex_renderer.py @@ -1,5 +1,7 @@ from mistletoe.latex_renderer import LaTeXRenderer +from renderer.picture import Picture + from .comment import BlockComment from .dash import Dash from .halfwidth_spaces import HalfwidthSpaces @@ -22,6 +24,7 @@ class FiftyOhmLaTeXRenderer(LaTeXRenderer): NonbreakingSpaces, NonbreakingSpacesDots, Question, + Picture ) self.question_renderer = question_renderer @@ -92,3 +95,14 @@ class FiftyOhmLaTeXRenderer(LaTeXRenderer): def render_question(self, token): return self.question_renderer(token.question_number) + + @staticmethod + def render_picture_helper(id, ref, text, number): + return f""" + \DARCimage{{1.0\linewidth}}{{{id}include}} + \captionof{{figure}}{{{text}}} + \label{{{ref}}} + """ + + def render_picture(self, token) : + self.render_picture_helper(token.id, token.ref, token.text, token.number) \ No newline at end of file diff --git a/test/test_picture.py b/test/test_picture.py index 47fed4a..2c4b0f6 100644 --- a/test/test_picture.py +++ b/test/test_picture.py @@ -2,6 +2,7 @@ import mistletoe import pytest from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer +from renderer.fifty_ohm_latex_renderer import FiftyOhmLaTeXRenderer from test.util import paragraph @@ -15,13 +16,11 @@ def test_picture_html(): assert mistletoe.markdown(assertion, FiftyOhmHtmlRenderer) == paragraph(assertions[assertion]) -#@pytest.mark.latex -#def test_underline_latex(): -# assertions = { -# "Text": "\n\\underline{Text}\n", -# " Text Text ": "\n\\underline{ Text Text }\n", -# " Text *Text* ": "\n\\underline{ Text \emph{Text} }\n", -# } -# -# for assertion in assertions: -# assert mistletoe.markdown(assertion, FiftyOhmLaTeXRenderer) == assertions[assertion] +@pytest.mark.latex +def test_picture_latex(): + assertions = { + "[picture:123:abc:Text]": FiftyOhmLaTeXRenderer.render_picture_helper("123", "abc", "Text", "TODO"), + } + + for assertion in assertions: + assert mistletoe.markdown(assertion, FiftyOhmLaTeXRenderer) == assertions[assertion]