Tôi sử dụng jekyll để viết bài và hiển thị nó trong github-pages. tập tin nguồn của tôi là viết với markdown.
Làm cách nào để chèn công thức vào tệp đánh dấu?
Tôi không muốn lưu công thức vào một hình ảnh. và tải hình ảnh trong tệp đánh dấu. Tôi thực sự muốn viết công thức latex trong tệp đánh dấu trực tiếpLàm thế nào để hỗ trợ latex trong github-trang
Trả lời
Vì tài nguyên trực tuyến đã thay đổi về câu hỏi này, đây là bản cập nhật hỗ trợ LateX với GitHub Pages.
Lưu ý rằng việc hiển thị Latex gần nhất mà không xuất như hình ảnh và hỗ trợ nó trên trang web Jekyll của bạn sẽ là sử dụng MathJax.
MathJax là thực sự khuyến khíchin Jekyllrb docs hỗ trợ toán học, với Kramdown, nó cũng chuyển đổi nó từ LaTeX để PNG, thêm chi tiết về nó ở đây tại Kramdown documentation
Lựa chọn 1: Viết phương trình của bạn trong MathURL và nhúng nó.
Bạn có thể viết phương trình với MathURL, sau đó tạo một url trỏ vĩnh viễn vào phương trình và hiển thị điều này trong thẻ . Tuy nhiên, điều này sẽ ngừng hoạt động nếu MathURL ngoại tuyến.
Phương án 2: Thực hiệnjsMath
jsMath sẽ cho phép hầu hết mủ như cú pháp và sẽ được hỗ trợ trong blog của bạn nếu bạn đã thiết lập nó một cách chính xác, có extensive documentation on this.
Lựa chọn 3: Mathjax (đến nay là đơn giản nhất trong quan điểm của tôi)
Nhiều trang web đã nói rằng Mathjax được coi là một người kế nhiệm của jsMath, và dễ dàng hơn nhiều để thực hiện với Jekyll. MathJax is also used by mathematics.stackexchange.com too!
Bước 1: Có trang web của bạn tải các tập lệnh trong các trang web mà bạn muốn hiển thị toán học. (Thường được thực hiện trong phần đầu)
Tùy chọn: Chọn phân tích cú pháp markdown của bạn trong
_config.yml
.redcarpet
hoặckramdown
được đề xuất trong ví dụ này. Một số trình phân tích cú pháp nhưdiscount
sẽ can thiệp vào cú pháp nhưng tôi có giải pháp bên dưới.Bước 2: Viết phương trình của bạn.
Trích dẫn hướng dẫn này bởi Gaston Sanchez:
MathJax không có hành vi chính xác giống như LaTeX. Theo mặc định, trình xử lý tiền tố tex2jax xác định các dấu phân cách toán LaTeX, là \ (... \) cho toán học trực tuyến và \ [... \] cho các phương trình được hiển thị. Nó cũng xác định các dấu phân cách TeX $$ ...$$ cho phương trình được hiển thị, nhưng nó không xác định $ ... $ là dấu phân cách toán học trực tuyến.
Đọc cú pháp documentation trên cú pháp để biết thêm chi tiết.
- Lưu ý: Sử dụng thẻ
raw
lỏng để đảm bảo phân tích cú pháp Markdown không can thiệp với cú pháp MathJax. - Mặc dù bạn có thể thoát khỏi các dấu gạch chéo ngược (ví dụ:
\\[ \frac{1}{n^{2}} \\]
) đến đảm bảo chúng được phân tích cú pháp chính xác, as described by Chistopher Poole's tutorial, điều này không phải lúc nào cũng trực quan và phức tạp. Giải pháp đơn giản hơn là sử dụng thẻ chất lỏng thô để đảm bảo văn bản bị bộ xử lý Markdown bỏ qua và xuất trực tiếp dưới dạng html tĩnh . Này được thực hiện với{% raw %}
và cũng{% endraw %}
Đây là một mẫu mã:
{% raw %}
$$a^2 + b^2 = c^2$$ --> note that all equations between these tags will not need escaping!
{% endraw %}
Cuối cùng cũng đảm bảo rằng các phông chữ hỗ trợ hiển thị latex như một số có vấn đề như cỡ chữ quá nhỏ. Ngoài ra, đây là một số số additional methods like Google Charts and MathML được thảo luận trong trang web chị em latex StackExchange.
MathJax làm việc hoàn hảo cho tôi. Trang tại http://docs.mathjax.org/en/latest/start.html có một mẫu tốt trên đó. – MxNx
[ở đây] (http://gastonsanchez.com/opinion/2014/02/16/Mathjax-with-jekyll/) là một bài đăng trên blog rất hay về cách sử dụng mathjax với jekyll – glS
Nó cũng đơn giản như thêm thẻ tập lệnh mathjax trong bố cục bài đăng ngay bây giờ. Nó khá rõ ràng trong các tài liệu bây giờ: https://jekyllrb.com/docs/extras/#math-support –
Nếu bạn sử dụng Jekyll trong trang GitHub của bạn, bạn có thể thêm
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
inlineMath: [['$','$']]
}
});
trong file _includes/head.html
, và sau đó trang web GitHub trang của bạn sẽ hỗ trợ MathJax
- 1. Làm thế nào để hỗ trợ ES7 trong ESLint
- 2. Làm thế nào để hỗ trợ ghci^p để tăng?
- 3. Làm thế nào để hỗ trợ cả HTML4 và HTML5?
- 4. Làm cách nào để Tkinter hỗ trợ PNG trong suốt?
- 5. Làm cách nào để bật hỗ trợ IPv6 trong LWP?
- 6. Làm cách nào để bật hỗ trợ https trong libcurl?
- 7. Làm thế nào để làm cho tấm cheat trong Latex?
- 8. Làm cách nào để bật hỗ trợ PHP trong Netbeans?
- 9. Làm thế nào để bọc văn bản trong bảng LaTeX?
- 10. Làm thế nào để làm tăng unordered_map để hỗ trợ hạng ruồi <string>
- 11. Làm thế nào để hỗ trợ thêm LINQ trong SQL CLR
- 12. Làm thế nào để bạn phát hiện hỗ trợ cho VML hoặc SVG trong trình duyệt
- 13. Làm thế nào để hỗ trợ một phần Cập nhật (PATCH) trong REST
- 14. Làm thế nào để viết vỏ tương tác với hỗ trợ readline trong scala?
- 15. Làm thế nào để hỗ trợ MOV (thời gian nhanh) trong android?
- 16. Làm thế nào để thêm UTF8 cho hỗ trợ không phải tiếng Anh trong JavaFX?
- 17. Làm thế nào để thực hiện hỗ trợ ngôn ngữ cho JavaFX trong tài liệu FXML?
- 18. Làm thế nào để hỗ trợ các yêu cầu HTTP nén trong Asp.Net 4.0/IIS7?
- 19. Làm thế nào để hỗ trợ .NET 2.0 và .NET 4.0 trong một ứng dụng?
- 20. Làm thế nào để hỗ trợ nhiều gói npm riêng tư sống trong một repo git?
- 21. Làm thế nào để hỗ trợ các tham số htmlAttributes trong phần mở rộng HtmlHelper?
- 22. Làm thế nào để sử dụng MultiChoiceModeListener trong ListVIew với và với hỗ trợ?
- 23. Làm cách nào để hỗ trợ nhiều loại tùy chỉnh?
- 24. UTF-8 được hỗ trợ như thế nào trong email?
- 25. Làm cách nào để phát hiện hỗ trợ `focusin`?
- 26. Làm cách nào để phát hiện hỗ trợ rel = "noreferrer"?
- 27. Làm cách nào để hỗ trợ CSS3 cho IE?
- 28. Làm thế nào để cấu hình PlayFramework2 để hỗ trợ SSL?
- 29. Làm thế nào để thực hiện Unity singleton lớp cơ sở để hỗ trợ Generics?
- 30. Làm cách nào để thêm hỗ trợ FTP vào Eclipse?
Không bao giờ cố gắng nhưng có vẻ như doable http: //gastonsanchez.com/blog/opinion/2014/02/16/Mathjax-with-jekyll.html – DomDom
Tuyệt vời. nó hoạt động. – Samuel