diff --git a/renderer/fifty_ohm_html_renderer.py b/renderer/fifty_ohm_html_renderer.py
index 9dea785..9051e3c 100644
--- a/renderer/fifty_ohm_html_renderer.py
+++ b/renderer/fifty_ohm_html_renderer.py
@@ -2,13 +2,13 @@ import textwrap
from mistletoe import Document, HtmlRenderer
-from renderer.picture import Picture
-
from .comment import BlockComment
from .dash import Dash
from .halfwidth_spaces import HalfwidthSpaces
from .morse import Morse
from .nonbreaking_spaces import NonbreakingSpaces, NonbreakingSpacesDots
+from .photo import Photo
+from .picture import Picture
from .question import Question
from .quote import Quote
from .references import References
@@ -37,7 +37,8 @@ class FiftyOhmHtmlRenderer(HtmlRenderer):
NonbreakingSpacesDots,
References,
Question,
- Picture
+ Picture,
+ Photo
)
self.question_renderer = question_renderer
@@ -176,10 +177,22 @@ class FiftyOhmHtmlRenderer(HtmlRenderer):
def render_picture_helper(id, ref, text, number):
return f"""
-
+
Abbildung {number}: {text}
"""
def render_picture(self, token) :
- return self.render_picture_helper(token.id, token.ref, token.text, token.number)
\ No newline at end of file
+ return self.render_picture_helper(token.id, token.ref, token.text, token.number)
+
+ @staticmethod
+ def render_photo_helper(id, ref, text, number):
+ return f"""
+
+
+ Abbildung {number}: {text}
+
+ """
+
+ def render_photo(self, token) :
+ return self.render_photo_helper(token.id, token.ref, token.text, token.number)
\ No newline at end of file
diff --git a/renderer/fifty_ohm_latex_renderer.py b/renderer/fifty_ohm_latex_renderer.py
index 94f5725..83891d1 100644
--- a/renderer/fifty_ohm_latex_renderer.py
+++ b/renderer/fifty_ohm_latex_renderer.py
@@ -1,11 +1,11 @@
from mistletoe.latex_renderer import LaTeXRenderer
-from renderer.picture import Picture
-
from .comment import BlockComment
from .dash import Dash
from .halfwidth_spaces import HalfwidthSpaces
from .nonbreaking_spaces import NonbreakingSpaces, NonbreakingSpacesDots
+from .photo import Photo
+from .picture import Picture
from .question import Question
from .quote import Quote
from .tag import Tag
@@ -24,7 +24,8 @@ class FiftyOhmLaTeXRenderer(LaTeXRenderer):
NonbreakingSpaces,
NonbreakingSpacesDots,
Question,
- Picture
+ Picture,
+ Photo
)
self.question_renderer = question_renderer
@@ -103,4 +104,13 @@ class FiftyOhmLaTeXRenderer(LaTeXRenderer):
\label{{{ref}}}"""
def render_picture(self, token) :
+ return self.render_picture_helper(token.id, token.ref, token.text, token.number)
+
+ @staticmethod
+ def render_photo_helper(id, ref, text, number):
+ return rf"""\includegraphics[width=1.0\linewidth]{{photo/{id}}}
+\captionof{{figure}}{{{text}}}
+\label{{{ref}}}"""
+
+ def render_photo(self, token) :
return self.render_picture_helper(token.id, token.ref, token.text, token.number)
\ No newline at end of file
diff --git a/renderer/photo.py b/renderer/photo.py
new file mode 100644
index 0000000..a8676ec
--- /dev/null
+++ b/renderer/photo.py
@@ -0,0 +1,19 @@
+import re
+
+from mistletoe.span_token import SpanToken
+
+
+class Photo(SpanToken):
+ """
+ Span token for photos.
+ Example: [photo:123:n_wasserfalldiagramm_trx_collage:Ansichten verschiedener Transceiver]
+ """
+
+ parse_inner = False
+ pattern = re.compile(r"\[photo:(\d+):(.+):(.+)\]")
+
+ def __init__(self, match_object):
+ self.id = match_object.group(1)
+ self.ref = match_object.group(2)
+ self.text = match_object.group(3)
+ self.number = "TODO"
\ No newline at end of file