วิธีแสดงสมการทางคณิตศาสตร์ใน markdown ของ GitHub ทั่วไป (ไม่ใช่บล็อกของ GitHub)


150

หลังจากตรวจสอบฉันพบ mathjax สามารถทำได้ แต่เมื่อฉันเขียนตัวอย่างในไฟล์ markdown ของฉันมันจะไม่แสดงสมการที่ถูกต้อง:

ฉันได้เพิ่มสิ่งนี้ในส่วนหัวของไฟล์ markdown:

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>

และพิมพ์คำสั่ง mathjax:

(E = mc ^ 2), $$ x_ {1,2} = \ frac {-b \ pm \ sqrt {b ^ 2-4ac}} {2b} $$

แต่ GitHub ไม่ได้แสดงสัญลักษณ์ทางคณิตศาสตร์! โปรดช่วยฉันขอบคุณ! บอกวิธีแสดงสัญลักษณ์ทางคณิตศาสตร์ในหน้ามาร์คดาวน์ GitHub


2
มันไม่ได้แก้ปัญหาสำหรับผู้ใช้ทั่วไป แต่คำตอบนี้แนะนำสคริปต์เบราว์เซอร์ที่อย่างน้อยสามารถให้คุณเห็นสมการ: stackoverflow.com/q/11255900/180892
Jeromy Anglim

gitlab ใช้ KaTeX
Foad

คำตอบ:


143

แต่ GitHub ไม่แสดงอะไรเลยสำหรับสัญลักษณ์ทางคณิตศาสตร์! โปรดช่วยฉันขอบคุณ!

การแยกวิเคราะห์ markdown ของ GitHub ดำเนินการโดยห้องสมุด SunDown (เช่น libUpSkirt)

คำขวัญของห้องสมุดเป็น"มาตรฐานตามรวดเร็ว เชื่อถือได้ของ ห้องสมุดการประมวลผล markdown ใน C" คำสำคัญคือ "ปลอดภัย" ที่นั่นพิจารณาคำถามของคุณ :)

อันที่จริงการอนุญาตให้มีการเรียกใช้ javascript นั้นอาจจะผิดสัญญา MarkDown มาตรฐาน text-to-HTML มาตรฐานเล็กน้อย

ยิ่งไปกว่านั้นทุกอย่างที่ดูเหมือนแท็ก HTML จะถูก Escape หรือแยกออก

บอกวิธีแสดงสัญลักษณ์ทางคณิตศาสตร์ใน markdown GitHub ทั่วไป

ทางออกที่ดีที่สุดของคุณคือการหาเว็บไซต์ที่คล้ายกับyuml.meซึ่งสามารถสร้างภาพในทันทีจากการแยกวิเคราะห์การสืบค้น URL ที่ให้ไว้

ปรับปรุง

ฉันพบบางไซต์ที่ให้บริการแก่ผู้ใช้เช่น: codedogs.com ( ดูเหมือนจะไม่สนับสนุนการฝัง ) หรือiTex2Imgอีกต่อไป คุณอาจต้องการลองใช้ แน่นอนว่าคนอื่นอาจมีอยู่และ Google-fu บางคนจะช่วยคุณค้นหา

กำหนดไวยากรณ์มาร์คดาวน์ต่อไปนี้

![equation](http://www.sciweavers.org/tex2img.php?eq=1%2Bsin%28mc%5E2%29&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=)

มันจะแสดงภาพต่อไปนี้

สมการ

หมายเหตุ : เพื่อให้รูปภาพแสดงอย่างถูกต้องคุณจะต้องตรวจสอบให้แน่ใจว่าส่วนหนึ่งของการสอบถามของ URL นั้นได้รับการเข้ารหัสเป็นเปอร์เซ็นต์ คุณสามารถค้นหาเครื่องมือออนไลน์เพื่อช่วยคุณในงานนั้นได้อย่างง่ายดายเช่นwww.url-encode-decode.com


6
@ultoken ขอบคุณสำหรับคำตอบที่เป็นประโยชน์ของคุณ ฉันใช้เว็บไซต์ iTex2Img ที่คุณอ้างถึงด้านบนและฉันเพิ่มสองสูตรในเอกสารของฉัน ฉันมีปัญหาว่าเมื่อฉันเปิดหน้าเอกสารใน GitHub สูตรทั้งสองจะแสดงเหมือนกันในขณะที่พวกเขาแตกต่างกันจริง คุณจะรู้ไหมว่าทำไมมันถึงเกิดขึ้น?
แซม

3
mathurl.comเป็นเว็บไซต์ที่น่าจดจำหากคุณต้องสร้างภาพ
Martin Thoma

2
สิ่งนี้ดูเหมือนจะไม่สามารถใช้กับ GitHub ได้ ภาพไม่แสดงผล ใครรู้ว่าทำไม
OganM

1
@OganM ไวยากรณ์มีการเปลี่ยนแปลง ลิงก์ได้รับการแก้ไขและทดสอบใน GitHub เช่นกัน
nulltoken

1
ไซต์ iTex2Img ดูเหมือนจะไม่ทำงานให้ฉันอย่างสม่ำเสมอ ดูเหมือนว่าภาพจะไม่แสดงบน Github
timbram

91

Markdown รองรับ HTML แบบอินไลน์ HTML แบบอินไลน์สามารถใช้สำหรับทั้งสมการอินไลน์แบบง่ายและรวดเร็วและด้วยและเครื่องมือภายนอกจะทำให้การเรนเดอร์มีความซับซ้อนมากขึ้น

อินไลน์ที่ง่ายและรวดเร็ว

สำหรับรายการอินไลน์ที่รวดเร็วและง่ายใช้ภาษา HTML เครื่องหมายรหัสนิติบุคคล ตัวอย่างที่รวมความคิดนี้กับข้อความตัวห้อยใน markdown คือ: h θ (x) = θ o x + θ 1 x, รหัสที่ตามมา

    h<sub>&theta;</sub>(x) = &theta;<sub>o</sub> x + &theta;<sub>1</sub>x

HTML เครื่องหมายนิติบุคคลรหัสสำหรับสัญลักษณ์ทางคณิตศาสตร์ทั่วไปสามารถพบได้ที่นี่ รหัสสำหรับตัวอักษรกรีกที่นี่

ในขณะที่วิธีการนี้มีข้อ จำกัด มันใช้งานได้จริงในทุก markdown และไม่ต้องการไลบรารี่ภายนอก

การแสดงตัวอย่างแบบอินไลน์ที่ปรับขนาดได้ซับซ้อนด้วย LaTeX และ Codecogs

หากความต้องการของคุณมากขึ้นให้ใช้ตัวแสดงผล LaTeX ภายนอกเช่น CodeCogs สร้างสมกับบรรณาธิการ CodeCogs เลือก svg สำหรับการเรนเดอร์และ HTML สำหรับโค้ดการฝัง Svg แสดงผลได้ดีเมื่อปรับขนาด HTML ช่วยให้ LaTeX อ่านได้ง่ายเมื่อคุณมองไปที่แหล่งที่มา คัดลอกโค้ดฝังจากด้านล่างของหน้าและวางลงใน markdown ของคุณ

<img src="https://latex.codecogs.com/svg.latex?\Large&space;x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}" title="\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}" />

นี้รวมคำตอบนี้และคำตอบนี้

การสนับสนุนGitHubมีเพียงบางครั้งเท่านั้นที่ทำงานโดยใช้ไวยากรณ์ html raw ข้างต้นสำหรับ LaTeX ที่อ่านได้สำหรับฉัน หากตัวเลือกด้านบนไม่ได้ผลสำหรับคุณตัวเลือกอื่นคือแทนที่จะเลือกการแสดงผลURL ที่เข้ารหัสและใช้เอาต์พุตนั้นเพื่อสร้างลิงก์เช่น:

\ Large x = \ frac {-b \ pm \ sqrt {b ^ 2-4ac}} {2a}

![\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}](https://latex.codecogs.com/svg.latex?x%3D%5Cfrac%7B-b%5Cpm%5Csqrt%7Bb%5E2-4ac%7D%7D%7B2a%7D)

สิ่งนี้รวมเอา LaTex ในข้อความรูปภาพ alt ด้วยตนเองและใช้ URL ที่เข้ารหัสสำหรับการแสดงผลบน GitHub

การแสดงผลหลายบรรทัด

หากคุณต้องการการแสดงผลหลายบรรทัดลองดูคำตอบนี้


1
มันใช้งานได้ดี ฉันต้องแปลงสมุดบันทึก jupyter (.ipynb) เป็น.mdและสมการนั้นเป็นรหัสลาเท็กซ์หลายชั้น
Marc Maxmeister

12

หากต้องการแสดงคณิตศาสตร์ในเบราว์เซอร์ด้วยตัวคุณเองคุณสามารถลองใช้ส่วนขยาย Chrome GitHub กับ MathJaxได้ มันค่อนข้างสะดวก


1
มีข้อผิดพลาดกับ icon16.png เมื่อฉันพยายามติดตั้ง
Homero Esmeraldo

10

อีกวิธีหนึ่งคือการใช้สมุดบันทึก jupyter และใช้โหมด markdown ในเซลล์เพื่อสร้างสมการ

สิ่งพื้นฐานดูเหมือนว่าจะทำงานได้อย่างสมบูรณ์แบบเช่นสมการกึ่งกลาง

\begin{equation}
...
\end{equation}

หรือสมการแบบอินไลน์

$ \sum_{\forall i}{x_i^{2}} $

ถึงแม้ว่าหนึ่งในฟังก์ชั่นที่ฉันต้องการจริงๆไม่ได้แสดงในรูปแบบ gitbub \mbox{}ซึ่งเป็นคนเกียจคร้าน แต่ทั้งหมดนี้เป็นวิธีที่ประสบความสำเร็จมากที่สุดในการสร้างสมการบน GitHub


3
ขอบคุณสำหรับคำตอบนี้ แต่มีปัญหานี้: ฉันจัดการเพื่อใช้สมุดบันทึก jupyter ในโหมด markdown และสมการปรากฏขึ้นตกลง อย่างไรก็ตามตอนนี้คุณจะทำอย่างไรเพื่อโอนย้าย jupyter นี้ไปยังreadme.mdบน GitHub
DavidC

1
สมการไม่แสดงผลโดยตรงกับไฟล์ Markdown readme.mdสมสวยมากจะต้องเป็นภาพที่จะอยู่ใน อย่างไรก็ตามคุณสามารถใส่file.ipynbGitHub และ GitHub ได้ดี
หกเหลี่ยม

8

ตอนนี้เป็นปี 2020 ให้ฉันสรุปความคืบหน้าของการสนับสนุนการแสดงสูตรทางคณิตศาสตร์ของโฮสต์ที่เก็บซอร์สโค้ด

GitHub & Bitbucket

GitHub และ Bitbucket ยังคงไม่สนับสนุนการแสดงผลของสูตรทางคณิตศาสตร์ไม่ว่าจะเป็นตัวคั่นเริ่มต้นหรืออื่น ๆ

Bitbucket Cloud / BCLOUD-11192 - เพิ่มการสนับสนุน LaTeX ใน MarkDown Documents (BB-12552)

GitHub / markup - การแสดงสมการทางคณิตศาสตร์

GitHub / มาร์กอัป - รองรับน้ำยาง

ฟอรัมชุมชน GitHub - [คำขอคุณสมบัติ] LaTeX Math ใน Markdown

talk.commonmark.org - สามารถเพิ่มสูตรคณิตศาสตร์ลงใน markdown ได้หรือไม่

GitHub แทบจะไม่คืบหน้าในช่วงไม่กี่ปีที่ผ่านมา

GitLab

GitLab ได้รับการสนับสนุนแล้ว แต่ไม่ใช่วิธีทั่วไป มันใช้ตัวคั่นของมันเอง

This math is inline $`a^2+b^2=c^2`$.

This is on a separate line

```math
a^2+b^2=c^2
```

Markdown GitLab Flavoured - คณิตศาสตร์

สนับสนุนตัวคั่นสากลใคร

ตัวแยกวิเคราะห์ Markdown ที่ใช้โดย Hugo

วิธีอื่นในการเรนเดอร์


6

ในขณะที่ GitHub จะไม่ตีความสูตร MathJax คุณสามารถสร้างเอกสาร Markdown ใหม่โดยอัตโนมัติด้วยสูตรที่ถูกแทนที่ด้วยรูปภาพ

ฉันขอแนะนำให้คุณดูที่แอพ GitHub TeXify :

แอพ GitHub ที่มองหาไฟล์ที่มีนามสกุล * .tex.md และแสดงผลเป็น TeX expressions เป็นภาพ SVG

มันทำงานอย่างไร (จากแหล่งเก็บข้อมูล ):

เมื่อใดก็ตามที่คุณกด TeXify จะเรียกใช้และค้นหาไฟล์ * .tex.md ในการกระทำครั้งล่าสุดของคุณ สำหรับแต่ละอันมันจะรัน readme2tex ซึ่งจะใช้การแสดงออกของ LaTeX ที่อยู่ระหว่างเครื่องหมายดอลลาร์แปลงเป็นภาพ SVG ธรรมดาแล้วบันทึกผลลัพธ์ลงในไฟล์นามสกุล. md (นั่นหมายความว่าไฟล์ชื่อ README.tex.md จะถูกประมวลผลและเอาต์พุตจะถูกบันทึกเป็น README.md) หลังจากนั้นไฟล์เอาต์พุตและรูปภาพ SVG ใหม่จะถูกคอมมิตและส่งกลับไปยัง repo ของคุณ


2

มีทางออกที่ดีสำหรับปัญหาของคุณคือ - ใช้TeXify GitHub ปลั๊กอิน (กล่าวโดยทอมเฮลคำตอบ - แต่ผมพัฒนาคำตอบของเขาในการเชื่อมโยงที่ระบุด้านล่าง) - รายละเอียดเพิ่มเติมเกี่ยวกับปลั๊กอิน GitHub นี้และคำอธิบายว่าทำไมนี้เป็นวิธีที่ดีที่คุณจะพบในที่คำตอบ


2

ฉันใช้กระบวนการที่กล่าวถึงด้านล่างเพื่อแปลงสมการเป็นมาร์กอัป มันใช้งานได้ดีมากสำหรับฉัน มันง่ายมาก !!

สมมุติว่าผมต้องการแสดงสมการการคูณเมทริกซ์

ขั้นตอนที่ 1:

รับสคริปต์สำหรับสูตรของคุณได้จากที่นี่ - https://csrgxtu.github.io/2015/03/20/Writing-Mathematic-Fomulars-in-Markdown/

ตัวอย่างของฉัน:ฉันต้องการZ(i,j)=X(i,k) * Y(k, j); k=1 to nเป็นสูตรสรุป อ้างอิงเว็บไซต์สคริปต์ที่จำเป็นคือ =>

ป้อนคำอธิบายรูปภาพที่นี่

Z_i_j=\sum_{k=1}^{10} X_i_k * Y_k_j

ขั้นตอนที่ 2:

ใช้ตัวเข้ารหัส URL - https://www.urlencoder.org/เพื่อแปลงสคริปต์เป็น URL ที่ถูกต้อง

ตัวอย่างของฉัน:

ป้อนคำอธิบายรูปภาพที่นี่

ขั้นตอนที่ 3:

ใช้เว็บไซต์นี้เพื่อสร้างภาพโดยคัดลอกผลลัพธ์จากขั้นตอนที่ 2 ในพารามิเตอร์คำขอ"eq" - http://www.sciweavers.org/tex2img.php?eq=<b><i>paste-output-here</i></b>&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=

- ตัวอย่างของฉัน:
http://www.sciweavers.org/tex2img.php?eq=Z_i_j=\sum_{k = 1} ^ {10}% 20X_i_k% 20% * 20Y_k_j & BC = White & fc = Black & im = JPG และ FS = 12 & ff = arev และแก้ไข =

ป้อนคำอธิบายรูปภาพที่นี่

ขั้นตอนที่ 4:

อิมเมจอ้างอิงโดยใช้ไวยากรณ์มาร์คดาวน์ - ![alt text](enter url here)

- คัดลอกไฟล์นี้ในมาร์คดาวน์ของคุณและคุณพร้อมที่จะไป:

![Z(i,j)=X(i,k) * Y(k, j); k=1 to n](http://www.sciweavers.org/tex2img.php?eq=Z_i_j%3D%5Csum_%7Bi%3D1%7D%5E%7B10%7D%20X_i_k%20%2A%20Y_k_j&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=)

ภาพด้านล่างเป็นผลลัพธ์ของการ markdown เย่!!


ป้อนคำอธิบายรูปภาพที่นี่


ใครก็ตามที่อ่านข้อความนี้ "Typora" เป็นแอพ markdown ตัวใหม่ที่ฉันชื่นชอบ .. เพียงแค่พูด
Dexter

0

เกี่ยวกับการแปลงภาพ tex →เครื่องมือ LaTeXiT ให้ผลผลิตคุณภาพสูงกว่ามาก ฉันเชื่อว่ามันเป็นมาตรฐานในการแจกแจงส่วนใหญ่ของ TeX แต่คุณสามารถค้นหาได้ทางออนไลน์หากคุณยังไม่มี สิ่งที่คุณต้องทำก็คือใส่ไว้ใน TeX ลากรูปภาพไปยังเดสก์ท็อปของคุณแล้วลากจากเดสก์ท็อปของคุณไปยังไซต์ที่โฮสต์รูปภาพ (ฉันใช้ imgur)


ควรสังเกตว่า LaTeXiT ดูเหมือนว่าจะทำงานภายใต้ MacOS เท่านั้น (แม้ว่าจะไม่ได้ระบุไว้อย่างชัดเจนในเว็บไซต์)
ƒacu.-

0

ฉันใช้สิ่งต่อไปนี้ในส่วนหัวของมาร์คดาวน์ไฟล์

<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js? 
config=TeX-MML-AM_CHTML"
</script>

จากนั้นพิมพ์คำสั่ง mathjax ต่อไปนี้
$$ x_ {1,2} = \ frac {-b \ pm \ sqrt {b ^ 2-4ac}} {2b} $$
มันใช้ได้สำหรับฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.