requarks / wiki

Wiki.js | A modern and powerful wiki app built on Node.js
https://js.wiki
GNU Affero General Public License v3.0
24.38k stars 2.69k forks source link

Inline LaTeX rendering fails for certain commands if it's not surrounded by text #1462

Open mattiasJohnson opened 4 years ago

mattiasJohnson commented 4 years ago

Describe the bug If a row in the markdown editor only is made up by some inline latex it will fail for certain commands.

A row consisting of only $\frac{1}{2}$ will fail and produce the output \frac{1}. If surrounded by text (text $\frac{1}{2}$ asdf) it will render succesfully. Interestingly enough both $\frac{1^{2}}{3^{4}}$ and $\frac{1}{3^{4}}$ will succeed while $\frac{1^{2}}{3}$ will fail which would lead me to believe it somehow is connected to the curly brackets?

The same goes for $\begin{array}{lrc} 1 & 2 & 3 \\ 4 & 5 & 6 \end{array}$ which will by itself produce the output \begin{array}{lrc} 1 & 2 & 3 \\ 4 & 5 & 6 \end.

The inline LaTeX doesn't always fail when not surrounded by any text, for example a row consisting of $\int_{-\infty}^\infty x^{ix} dx$ renders just fine.

To Reproduce Steps to reproduce the behavior:

  1. Write a row in markdown editor consisting of only $\frac{1}{2}$.
  2. View the page.

Expected behavior All LaTeX should render.

Screenshots The code

## Inline LaTeX error

$\begin{array}{lrc} 1 & 2 & 3 \\ 4 & 5 & 6 \end{array}$

text $\begin{array}{lrc} 1 & 2 & 3 \\ 4 & 5 & 6 \end{array}$ text

$\frac{1}{3}$

text $\frac{1}{3}$ text

$\frac{1^{2}}{3^{4}}$

$\frac{1}{3^{4}}$

$\frac{1^{2}}{3}$

the output:

image

Host Info (please complete the following information):

jim-kirisame commented 4 years ago

When formular ends with right brace, and the inline formular does not surrounding by some (non-spacing) text, it would rendering fail.

图片 图片

I think issue #1952 is relevant.

LeLunZ commented 3 years ago

Is this still a issue? I have the same problems. and got to the same fixes as @jim-kirisame Having the latest docker release image installed.

spartazhc commented 3 years ago

The issue still exists on latest Wiki.js 2.5.201

LexsionLee commented 2 years ago

This issue not exists on latest Wiki.js2.5.219 . But I find that unable to enter formulas after the Chinese period Thank you for share.I am a beginner in formulas and encountered problem like you share, which caused me to be unable to enter formulas after the Chinese period . Based on what you wrote, I realized that I only need to add a space at both ends of the formula to evade this problem.

If someone encounters the same situation as me, just do this and it should be fine.

impdx commented 2 years ago

This problem still exists in version 2.5.280。 Expected behavior All LaTeX should render.