Re: [問題] github 上 markdown latex 語法顯示問題

看板LaTeX (論文排版)作者 (迅雷不及掩耳盜鈴)時間2年前 (2022/10/02 03:20), 2年前編輯推噓2(205)
留言7則, 3人參與, 2年前最新討論串2/2 (看更多)
※ 引述《wwwh0225 (SeaWave)》之銘言: : 如題,由於我的檔案在本機電腦匯出時,數學算式都很正常,但只要上傳 GitHub ,就會發現跑版的問題。 : 經過一些測試與猜測,我覺得是因為遇到 markdown 語法「斜體」的問題,只要是 : _文字_ : 就會變成斜體,導致我的數學無法正確顯示。 : 因為latex 語法廣泛在markdown 中使用,也不知道該問誰,所以才來這邊詢問。 首先你要先釐清一些概念: (1) 你的 .md 只是純文字檔案,本身沒有任何「該如何顯示」的資訊 (2) 不論是 GitHub 也好還是有些人自己部落格用的 WordPress 也罷   ,是藉助第三方腳本如 MathJax 或 KaTeX 將這些內容渲染出來 (3) 並不是 Markdown 支援 LaTeX 語法,要看解析器是誰 (4) KaTeX/MathJax 也不是所有的 LaTeX 語法都支援 --- 以 GitHub 使用的 MathJax 為例, 這裡先說一般的渲染方式: STEP 01: 載入頁面內容,這時候都還是 $\frac{1}{2}$ STEP 02: 載入腳本,執行腳本 STEP 03: 分析頁面上的文字,找到 $$ 或 $$ $$ 包裹的內容 STEP 04: 將內容轉換成特殊的 HTML + CSS 或是 SVG 或是 MathML STEP 05: 替換頁面上原來的內容 所以一般這類頁面開啟時,左下方通常都會出現載入的訊息 又或者是渲染出的數學式點右鍵還能叫出 MathJax 選單 至於 Markdown 本身也只是一種標註 頁面如何渲染,也會經歷一個這樣的過程 比如 **我很粗** 就會被分析並置換 變成 <strong>我很粗</strong> ---- 這類的解析,就必須要考慮到解析的方式而導致結果有所不同 以 GitHub 為例,我會建議你在輸入純文字的同時注意「空格」 以及換行,甚至標準的 Markdown 解析在字尾有兩個空格的換 行也會有所不同… ``` 測試:$\frac{1}{2}$ // 解析失敗 測試: $\frac{1}{2}$ // 解析成功 ``` ``` 測試 $$\frac{1}{2}$$ 測試 ``` ``` 測試 $$\frac{1}{2}$$ 測試 ``` 雖然 GitHub 支持 MathJax 但他還不適合用來放入過多的數學式 因為渲染太慢會卡頓,解析也差強人意 目前 MathJax 3 有在改良這塊 還能使用 Server-Side Rendering 但這就不是你需要煩惱的了 我也不建議在 GitHub 上面 寫長篇夾雜 MathJax 的 md 文件 : 我的檔案如連結,希望沒有違反版規QQ : https://github.com/wwwh0225/elements-of-statistical-learning/blob/main/ch4.md : 謝謝大家 : ----- : Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.141.109.67 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/LaTeX/M.1664652056.A.280.html

10/02 07:42, 2年前 , 1F
推一個, 好人好文
10/02 07:42, 1F

10/02 08:24, 2年前 , 2F
所以解法方向建議還是轉html或pdf
10/02 08:24, 2F

10/02 08:25, 2年前 , 3F
轉html建議用svg或是其它圖片格式
10/02 08:25, 3F

10/02 20:10, 2年前 , 4F
解析要快唯一KaTeX
10/02 20:10, 4F
Server-Side Rendering 的作法,是在伺服器端 就解析好,也就是說直接返回塞好 SVG 的文件 給使用者,這其實是解析最快的方式,但一般使 用者不太會用。 具體速度比較可以看這裡: https://www.intmath.com/cg5/katex-mathjax-comparison.php 你會發現 MathJax 3 的解析速度已經大幅改善 了,加上他支援的數學式還有可自定義性很高, 其實不比 KaTeX 要差: Process MathJax2 13672 ms Process MathJax3 1025 ms Process KaTeX 2513 ms 主要是字體載入時間還需要再縮短,這個可以靠 各種 CDN 跟快取處理,我自己更偏好使用目前 的 MathJax3 ※ 編輯: Hsins (223.141.109.67 臺灣), 10/02/2022 20:20:03

10/03 18:21, 2年前 , 5F
server side rendering 的碳足跡比較高
10/03 18:21, 5F

10/05 14:18, 2年前 , 6F
推大神,大概了解GitHub 上面打字的原罪在哪裡了,非常
10/05 14:18, 6F

10/05 14:19, 2年前 , 7F
感謝
10/05 14:19, 7F
文章代碼(AID): #1ZE9COA0 (LaTeX)
文章代碼(AID): #1ZE9COA0 (LaTeX)