aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/components/renderers/Latex.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/components/renderers/Latex.js')
-rw-r--r--frontend/src/components/renderers/Latex.js56
1 files changed, 27 insertions, 29 deletions
diff --git a/frontend/src/components/renderers/Latex.js b/frontend/src/components/renderers/Latex.js
index dcb9ea3..fd3d4e2 100644
--- a/frontend/src/components/renderers/Latex.js
+++ b/frontend/src/components/renderers/Latex.js
@@ -8,37 +8,35 @@ const StyledInlineLatex = styled.div`
margin-bottom: 1em;
`
-class Latex extends React.Component {
- render() {
- // split by \begin{...} and \end{...} flags
- const els = this.props.content.split(/(\\begin\{.*\}[\s\S]*?\\end\{.*\})/gm).map(line => {
- // line doesnt start with \begin{...}, safe to split on \\
- if (!line.match(/^(\\begin\{.*\})/)) {
- return line.split("\\\\")
- } else {
- return line
- }
- }).flat()
-
- // if <=1 lines, just render block
- if (els.length <= 1) {
- return (
- <BlockMath>
- {this.props.content}
- </BlockMath>
- );
+const Latex = (props) => {
+ // split by \begin{...} and \end{...} flags
+ const els = props.content.split(/(\\begin\{.*\}[\s\S]*?\\end\{.*\})/gm).map(line => {
+ // line doesnt start with \begin{...}, safe to split on \\
+ if (!line.match(/^(\\begin\{.*\})/)) {
+ return line.split("\\\\")
} else {
- // new inline block for every line
- const blocks = els.map(line =>
- <StyledInlineLatex>
- <InlineMath>
- {line}
- </InlineMath>
- </StyledInlineLatex>
- )
-
- return blocks;
+ return line
}
+ }).flat()
+
+ // if <=1 lines, just render block
+ if (els.length <= 1) {
+ return (
+ <BlockMath>
+ {props.content}
+ </BlockMath>
+ );
+ } else {
+ // new inline block for every line
+ const blocks = els.map(line =>
+ <StyledInlineLatex>
+ <InlineMath>
+ {line}
+ </InlineMath>
+ </StyledInlineLatex>
+ )
+
+ return blocks;
}
}