+ def __init__(self, texifier: Texifier) -> None:
+ self._texifier = texifier
+
+ def renderChunk(self, chunk: Chunk) -> bytes:
+ meta = []
+ if chunk.icon:
+ meta += [br'\glowicon{%s}' % chunk.icon.encode('UTF-8')]
+ meta += [self._texifier.texify(x)
+ for x in [chunk.character, chunk.screen_name, chunk.author]
+ if x is not None]
+
+ return br'''\wrapstuffclear
+\begin{wrapstuff}[l]
+\fbox{
+\begin{varwidth}{0.5\textwidth}
+ \smash{\parbox[t][0pt]{0pt}{
+ \setlength{\fboxrule}{0.2pt}
+ \setlength{\fboxsep}{0pt}
+ \vspace{-3.4pt}
+ \fbox{\hspace{107mm}}
+ }\\*}
+ \vspace{-1em}
+\begin{center}
+%s
+\end{center}
+\end{varwidth}
+}
+\end{wrapstuff}
+
+\strut
+
+\noindent %s
+''' % (
+ br'\\*'.join(meta),
+ self._texifier.texify(chunk.content))
+
+
+class BesideIconLayout(Layout):
+
+ def __init__(self, texifier: Texifier) -> None: