Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]贴Latex代码的时候报错 #578

Open
dryangyq opened this issue Mar 10, 2023 · 12 comments
Open

[BUG]贴Latex代码的时候报错 #578

dryangyq opened this issue Mar 10, 2023 · 12 comments
Assignees

Comments

@dryangyq
Copy link

dryangyq commented Mar 10, 2023

BUG描述 | Describe the bug

为了显示公式,我开启了KaTex功能,但是这样我在文章中贴代码的时候,前段就报错了。

```latex
\begin{document}

前端错误:
ParseError: KaTeX parse error: No such environment: document at position 7: \begin{̲d̲o̲c̲u̲m̲e̲n̲t̲}̲

@LuRenJiasWorld
Copy link
Owner

你好,本插件接入的 KaTeX 只支持有限的 LaTeX 语法:https://katex.org/

@dryangyq
Copy link
Author

你好,本插件接入的 KaTeX 只支持有限的 LaTeX 语法:https://katex.org/

不是,我的本意是要贴latex的代码,不是要让KaTex去执行这个代码。有什么办法吗?

@LuRenJiasWorld
Copy link
Owner

LuRenJiasWorld commented Mar 10, 2023

你好,本插件接入的 KaTeX 只支持有限的 LaTeX 语法:https://katex.org/

不是,我的本意是要贴latex的代码,不是要让KaTex去执行这个代码。有什么办法吗?

了解了,暂时没有很好的办法,后面我新增一个 latex-code 的语言类型,用于和 LaTeX 公式区分开来。
有一个 Hack 的解决方案,开启 HTML 解析后,使用如下 HTML 代码来插入 LaTeX 类型的代码高亮:

<pre class=" line-numbers language-latex"><code class="  language-latex">\begin{document}</code></pre>

@dryangyq
Copy link
Author

你好,本插件接入的 KaTeX 只支持有限的 LaTeX 语法:https://katex.org/

不是,我的本意是要贴latex的代码,不是要让KaTex去执行这个代码。有什么办法吗?

了解了,暂时没有很好的办法,后面我新增一个 latex-code 的语言类型,用于和 LaTeX 公式区分开来。 有一个 Hack 的解决方案,开启 HTML 解析后,使用如下 HTML 代码来插入 LaTeX 类型的代码高亮:

<pre class=" line-numbers language-latex"><code class="  language-latex">\begin{document}</code></pre>

好的,感谢。
另外,支持的代码里面,我看没有text啊,就是纯文本的,有时候会贴一些错误日志什么的,感觉用纯文本会好一点。

@LuRenJiasWorld
Copy link
Owner

你好,本插件接入的 KaTeX 只支持有限的 LaTeX 语法:https://katex.org/

不是,我的本意是要贴latex的代码,不是要让KaTex去执行这个代码。有什么办法吗?

了解了,暂时没有很好的办法,后面我新增一个 latex-code 的语言类型,用于和 LaTeX 公式区分开来。 有一个 Hack 的解决方案,开启 HTML 解析后,使用如下 HTML 代码来插入 LaTeX 类型的代码高亮:

<pre class=" line-numbers language-latex"><code class="  language-latex">\begin{document}</code></pre>

好的,感谢。 另外,支持的代码里面,我看没有text啊,就是纯文本的,有时候会贴一些错误日志什么的,感觉用纯文本会好一点。

可以直接不提供语言类型,如:
image
看看这样能否满足纯文本粘贴的需求。

@LuRenJiasWorld LuRenJiasWorld added this to the Version 10.2.3 milestone Mar 10, 2023
@dryangyq
Copy link
Author

不行,好像code不带class之后,就没有样式了。跟空白文本没区别。
image

@LuRenJiasWorld
Copy link
Owner

LuRenJiasWorld commented Mar 10, 2023

不行,好像code不带class之后,就没有样式了。跟空白文本没区别。 image

这个是因为你的主题没有带纯 pre 标签的样式,可以在 CodePen 等网站搜索 CSS Code block 等关键词,找一下相关的样式对其进行美化。

@LuRenJiasWorld
Copy link
Owner

最简单的样式(可以粘到自定义CSS里试一下):

code {
    padding: 2px 4px;
}

pre, code {
    background: #f8f8f8;
    font-family: Menlo, Monaco, Consolas, "Lucida Console", "Courier New", monospace;
    font-size: .92857em;
}

pre {
    margin: 2em 0;
    overflow: auto;
    background: none;
    border: 1px solid #ddd;
}

pre code {
    padding: 0;
    display: block;
}

@dryangyq
Copy link
Author

我之前有的,但是和选择的主题不匹配,比如我选了黑色背景,但是text因为没有相关class,背景就不是黑色,和主题不匹配,我专门把主题里面的相关代码全删除了,才有了统一的效果。
10AA085E

@dryangyq
Copy link
Author

主题的css和插件里面的css,融合到一起,有一种很奇怪的视觉效果。所以我就把主题里面的都删除了。

@LuRenJiasWorld
Copy link
Owner

我之前有的,但是和选择的主题不匹配,比如我选了黑色背景,但是text因为没有相关class,背景就不是黑色,和主题不匹配,我专门把主题里面的相关代码全删除了,才有了统一的效果。 10AA085E

这样改动工作量确实不小,插件没有提供默认样式也是基于这个原因。
其实直接使用 text (虽然不存在)也是可以的,只是会报一个 404 错误,我后续尝试加上这个假类型,空文件,避免 404 就好。

@dryangyq
Copy link
Author

没错,我现在就是用text替代,有一个404,有些插件,我看用的是raw来表示纯文本的。这个404只要能去掉也可以用,没问题。我用joplin写笔记,用的就是text,直接复制过来也能用。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants