Apakah ada cara untuk membuat LaTex di README.md dalam repositori GitHub? Saya sudah googled dan mencari di stack overflow tetapi tidak ada jawaban terkait yang tampaknya layak.
Itu tidak mungkin secara langsung. Adakah hal khusus yang Anda pikir Anda perlukan untuk LaTex? Misalnya, jika Anda ingin persamaan matematika, itu bisa dilakukan dengan beberapa trik tertentu. Beri tahu kami apa yang ingin Anda render, dan seseorang mungkin bisa mengarahkan Anda ke solusi.
Waylan
1
Ya, saya ingin persamaan matematika dan persamaan disejajarkan, bersama dengan simbol matematika inline. Cukup banyak.
sudahkah Anda mempertimbangkan untuk menggunakan notebook Jupyter? Anda bahkan dapat memasukkan kode python sekarang;)
Charlie Parker
Jawaban:
42
Untuk ekspresi pendek dan matematika yang tidak terlalu bagus, Anda bisa menggunakan HTML sebaris untuk mendapatkan matematika yang diberikan lateks pada codecogs dan kemudian menyematkan gambar yang dihasilkan. Berikut sebuah contoh:
- <img src="https://latex.codecogs.com/gif.latex?O_t=\text{ Onset event at time bin } t " />
- <img src="https://latex.codecogs.com/gif.latex?s=\text{ sensor reading } " />
- <img src="https://latex.codecogs.com/gif.latex?P(s | O_t )=\text{ Probability of a sensor reading value when sleep onset is observed at a time bin } t " />
Yang seharusnya menghasilkan sesuatu seperti yang berikutnya
Pembaruan: Ini bekerja sangat baik di gerhana tetapi sayangnya tidak di github. Satu-satunya pekerjaan di sekitar adalah yang berikutnya:
Ambil persamaan lateks Anda dan buka http://www.codecogs.com/latex/eqneditor.php , di bagian bawah area tempat persamaan Anda ditampilkan, ada menu dropdown kecil, pilih URL yang dienkode, lalu tempelkan di penurunan harga github dengan cara berikut:
Apakah Anda tahu apakah GitHub telah menerapkan ini?
Rylan Schaeffer
22
Trik saya adalah menggunakan Notebook Jupyter.
GitHub memiliki dukungan bawaan untuk merender file .ipynb. Anda dapat menulis inline dan menampilkan kode LaTeX di notebook dan GitHub akan merendernya untuk Anda.
Saya telah mengerjakan skrip yang mengotomatiskan sebagian besar kesalahan mendapatkan LaTeX typeset dengan baik ke dalam penurunan harga Github: https://github.com/leegao/readme2tex
Ada beberapa tantangan dengan rendering LaTeX untuk Github. Pertama, markdown rasa Github menghapus sebagian besar tag dan sebagian besar atribut. Ini berarti tidak ada pustaka berbasis Javascript (seperti Mathjax) atau gaya CSS.
Solusi alami kemudian tampaknya menanamkan gambar dari persamaan yang telah dikompilasi. Namun, Anda akan segera menyadari bahwa LaTeX melakukan lebih dari sekedar mengubah formula terlampir tanda dolar menjadi gambar.
Cukup menyematkan gambar dari kompiler online memberikan tampilan yang benar-benar tidak alami ini ke dokumen Anda. Bahkan, saya berpendapat bahwa itu bahkan lebih mudah dibaca dalam bahasa sehari-hari x ^ 2 matematika Anda daripada gelisah .
Saya percaya bahwa memastikan bahwa dokumen Anda diketik dengan cara yang alami dan mudah dibaca adalah penting. Inilah sebabnya saya menulis sebuah skrip yang, di luar mengkompilasi rumus menjadi gambar, juga memastikan bahwa gambar yang dihasilkan dipasang dengan benar dan disejajarkan dengan teks lainnya.
Sebagai contoh, berikut adalah kutipan dari .mdfile yang berkaitan dengan beberapa properti enumerative dari ekspresi reguler menggunakan setet readme2tex:
Seperti yang Anda harapkan, himpunan persamaan di atas ditentukan dengan hanya memulai align*lingkungan yang sesuai
**Theorem**: The translation $[\![e]\!]$ given by
\begin{align*}
...
\end{align*}
...
Perhatikan bahwa sementara persamaan sebaris ($ ... $) dijalankan dengan teks, persamaan tampilan (yang dibatasi oleh \begin{ENV}...\end{ENV}atau $$...$$) dipusatkan. Ini memudahkan orang yang sudah terbiasa dengan LaTeX untuk tetap produktif.
Berdasarkan karya ini saya telah membuat aplikasi GitHub yang mengotomatiskan proses rendering, memicu setiap kali dorongan dibuat. Saya pikir ini berguna jadi saya membagikan tautan untuk mereka yang ingin mencobanya: github.com/agurz/github-texify
agurodriguez
3
Bagus! Itu sebenarnya sangat luar biasa untuk Anda lakukan :)
Lee
Aplikasi TeXify tampaknya tidak berfungsi ketika menyertakan inline mathjax untuk penurunan harga item yang disebutkan.
user32882
15
Anda juga dapat menggunakan editor online ini: https://www.codecogs.com/latex/eqneditor.php yang menghasilkan SVGfile dengan cepat. Anda dapat menempatkan link dalam dokumen Anda seperti ini:
![](https://latex.codecogs.com/svg.latex?y%3Dx%5E2)yang menghasilkan:
.
Saya menguji beberapa solusi yang diusulkan oleh orang lain dan saya ingin merekomendasikan TeXify dibuat dan diusulkan dalam komentar oleh agurodriguez dan dijelaskan lebih lanjut oleh Tom Hale - Saya ingin mengembangkan jawabannya dan memberikan beberapa alasan mengapa ini adalah solusi yang sangat baik:
TeXify adalah pembungkus Readme2Tex (disebutkan dalam jawaban Lee ). Untuk menggunakan Readme2Tex Anda harus menginstal banyak perangkat lunak di mesin lokal Anda (python, lateks, ...) - tetapi TeXify adalah plugin github sehingga Anda tidak perlu menginstal apa pun di mesin lokal Anda - Anda hanya perlu menginstal secara online yang plugin di akun github Anda dengan menekan satu tombol dan memilih repositori yang TeXify akan memiliki akses baca / tulis untuk mem-parsing rumus tex Anda dan menghasilkan gambar.
Ketika di repositori Anda membuat atau memperbarui *.tex.mdfile, TeXify akan mendeteksi perubahan dan menghasilkan *.mdfile tempat formula lateks akan ditukar dengan gambar-gambarnya yang disimpan dalam texdirektori di repo Anda. Jadi jika Anda membuat file README.tex.md maka TeXify akan menghasilkan README.md dengan gambar, bukan rumus tex. Jadi parsing rumus tex dan menghasilkan dokumentasi dilakukan secara otomatis pada setiap commit & push :)
Karena semua rumus Anda diubah menjadi gambar dalam texdirektori dan file README.md menggunakan tautan ke gambar itu, Anda bahkan dapat menghapus instalasi TeXify dan semua dokumentasi lama Anda masih akan bekerja :). The texdirektori dan *.tex.mdfile akan tetap di repositori sehingga Anda memiliki akses ke formula lateks asli Anda dan gambar (Anda juga dapat dengan aman menyimpan di texdirektori gambar dokumentasi lainnya Anda "dibuat dengan tangan" - TeXify tidak akan menyentuh mereka).
Anda dapat menggunakan sintaks persamaan lateks secara langsung dalam file README.tex.md (tanpa kehilangan sintaks markdown .md) yang sangat berguna . Julii dalam jawabannya mengusulkan untuk menggunakan tautan khusus (dengan formula) ke layanan eksternal misalnya. http://latex.codecogs.com/gif.latex?s%3D%5Ctext%20%7B%20sensor%20reading%20%7Dyang bagus namun memiliki beberapa kelemahan: rumus dalam tautan tidak mudah (praktis) untuk dibaca dan diperbarui, dan jika akan ada beberapa masalah dengan layanan pihak ketiga, dokumentasi lama Anda akan berhenti berfungsi ... Di TeXify dokumentasi lama Anda akan berfungsi selalu meskipun Anda menghapus plugin itu (karena semua gambar Anda yang dihasilkan dari rumus lateks tetap berada dalam texdirektori repo ).
The Yuchao Jiang dalam jawabannya, diusulkan untuk menggunakan Jupyter Notebook yang juga bagus namun memiliki kelemahan som: Anda tidak dapat menggunakan rumus langsung dalam file README.md, Anda perlu membuat link yang ada untuk file lain * .ipynb di repo Anda yang berisi lateks Rumus (MathJax). Format file * .ipynb adalah JSON yang tidak mudah dikelola (mis. Gist tidak menampilkan kesalahan terperinci dengan nomor baris dalam file * .ipynb ketika Anda lupa meletakkan koma di tempat yang tepat ...).
Berikut ini tautan ke beberapa repo saya tempat saya menggunakan TeXify yang dokumentasinya dihasilkan dari file README.tex.md .
Setiap kali Anda menekan TeXify akan berjalan dan mencari file * .tex.md di komit terakhir Anda. Untuk masing-masing dari mereka itu akan menjalankan readme2tex yang akan membawa ekspresi LaTeX terlampir di antara tanda-tanda dolar, mengubahnya menjadi gambar SVG biasa, dan kemudian menyimpan output menjadi file ekstensi .md (Itu berarti bahwa file bernama README.tex.md akan diproses dan hasilnya akan disimpan sebagai README.md). Setelah itu, file output dan gambar SVG baru kemudian dikomit dan didorong kembali ke repo Anda.
Karya ini oleh @agurodriguez yang menyebutkannya dalam komentar di atas
icc97
1
@ icc97 ya, tapi agurodriguez tidak membuat jawaban (dan saya mungkin tidak akan pernah memperhatikan komentarnya). Karena Tom membuat jawaban (~ 1 tahun setelah agurodriguez) saya perhatikan bahwa TeXify ada dan memungkinkan saya untuk menggunakan TeXify dan menulis jawaban berdasarkan saya sendiri di sini. Jadi itu bagus :)
Kamil Kiełczewski
3
@ KamilKiełczewski Tidak ada yang salah dengan jawaban ini, saya hanya menyebutkan bahwa TeXify dibuat oleh pengguna SO karena utas ini, yang sangat keren.
icc97
Saya menggunakan TeXify pada readme saya tetapi, untuk beberapa alasan, renderingnya adalah lompatan garis hampir setiap kali di mana ada $...$dalam teks. Ada petunjuk mengapa? Ini adalah repo: github.com/brunoconteleite/Spatial-Model-Solver
Bruno Conte Leite
3
Solusi cepat saya adalah ini:
langkah 1. Tambahkan lateks ke .mdfile Anda
$$x=\sqrt{2}$$
Catatan: persamaan matematika harus dalam $$ ... $$ atau \\(... \\).
langkah 2. Tambahkan berikut ini ke scripts.htmlfile tema atau Anda (tambahkan kode ini di akhir)
scripts.htmlFile apa ? Saya tidak dapat menemukan referensi untuk ini sebagai fitur github.
Jay Lemmon
apakah Anda memiliki file Jeykylltema ( file tema)? Kode ini untuk menampilkan lateks di halaman git.
CKM
2
Harus menjelaskan bahwa ini hanya berfungsi untuk halaman git, bukan untuk README.md dalam repo reguler.
germanium
1
Anda bisa mendapatkan layanan integrasi berkelanjutan (mis. Travis CI ) untuk merender LaTeX dan memberikan hasil ke github. CI akan mempekerjakan pekerja "cloud" setelah setiap komit baru. Pekerja mengkompilasi dokumen Anda ke pdf dan menggunakan ImageMagick untuk mengubahnya menjadi gambar atau menggunakan PanDoc untuk mencoba LaTeX-> konversi HTML di mana keberhasilan dapat bervariasi tergantung pada dokumen Anda. Pekerja kemudian melakukan gambar atau html ke repositori Anda dari tempat itu dapat ditampilkan di readme Anda.
Contoh konfigurasi TravisCi yang membangun PDF, mengonversinya menjadi PNG, dan mengkomitnya ke lokasi statis di repo Anda ditempel di bawah. Anda perlu menambahkan baris yang mengambil pdfconverts PDF ke gambar
sudo: required
dist: trusty
os: linux
language: generic
services: docker
env:
global:
- GIT_NAME: Travis CI
- GIT_EMAIL: [email protected]
- TRAVIS_REPO_SLUG: your-github-username/your-repo
- GIT_BRANCH: master
# I recommend storing your GitHub Access token as a secret key in a Travis CI environment variable, for example $GH_TOKEN.
- secure: ${GH_TOKEN}
script:
- wget https://raw.githubusercontent.com/blang/latex-docker/master/latexdockercmd.sh
- chmod +x latexdockercmd.sh
- "./latexdockercmd.sh latexmk -cd -f -interaction=batchmode -pdf yourdocument.tex -outdir=$TRAVIS_BUILD_DIR/"
- cd $TRAVIS_BUILD_DIR
- convert -density 300 -quality 90 yourdocument.pdf yourdocument.png
- git checkout --orphan $TRAVIS_BRANCH-pdf
- git rm -rf .
- git add -f yourdoc*.png
- git -c user.name='travis' -c user.email='travis' commit -m "updated PDF"
# note we are again using GitHub access key stored in the CI environment variable
- git push -q -f https://your-github-username:$[email protected]/$TRAVIS_REPO_SLUG $TRAVIS_BRANCH-pdf
notifications:
email: false
Konfigurasi Travis Ci ini meluncurkan pekerja Ubuntu yang mengunduh gambar buruh pelabuhan lateks, mengkompilasi dokumen Anda ke pdf dan mengirimkannya ke cabang bernama branchanme-pdf.
Jawaban:
Untuk ekspresi pendek dan matematika yang tidak terlalu bagus, Anda bisa menggunakan HTML sebaris untuk mendapatkan matematika yang diberikan lateks pada codecogs dan kemudian menyematkan gambar yang dihasilkan. Berikut sebuah contoh:
Yang seharusnya menghasilkan sesuatu seperti yang berikutnya
Pembaruan: Ini bekerja sangat baik di gerhana tetapi sayangnya tidak di github. Satu-satunya pekerjaan di sekitar adalah yang berikutnya:
Ambil persamaan lateks Anda dan buka http://www.codecogs.com/latex/eqneditor.php , di bagian bawah area tempat persamaan Anda ditampilkan, ada menu dropdown kecil, pilih URL yang dienkode, lalu tempelkan di penurunan harga github dengan cara berikut:
sumber
Saya mengunggah repositori dengan persamaan ke Gitlab karena memiliki dukungan asli untuk LaTeX dalam file .md:
Sintaks untuk lateks inline adalah
$`\sqrt{2}`$
.Gitlab membuat persamaan dengan JavaScript di browser alih-alih menunjukkan gambar, yang meningkatkan kualitas persamaan.
Info lebih lanjut di sini .
Mari berharap Github akan mengimplementasikan ini juga di masa depan.
sumber
Trik saya adalah menggunakan Notebook Jupyter.
GitHub memiliki dukungan bawaan untuk merender file .ipynb. Anda dapat menulis inline dan menampilkan kode LaTeX di notebook dan GitHub akan merendernya untuk Anda.
Berikut ini contoh file notebook: https://gist.github.com/cyhsutw/d5983d166fb70ff651f027b2aa56ee4e
sumber
Readme2Tex
Saya telah mengerjakan skrip yang mengotomatiskan sebagian besar kesalahan mendapatkan LaTeX typeset dengan baik ke dalam penurunan harga Github: https://github.com/leegao/readme2tex
Ada beberapa tantangan dengan rendering LaTeX untuk Github. Pertama, markdown rasa Github menghapus sebagian besar tag dan sebagian besar atribut. Ini berarti tidak ada pustaka berbasis Javascript (seperti Mathjax) atau gaya CSS.
Solusi alami kemudian tampaknya menanamkan gambar dari persamaan yang telah dikompilasi. Namun, Anda akan segera menyadari bahwa LaTeX melakukan lebih dari sekedar mengubah formula terlampir tanda dolar menjadi gambar.
Cukup menyematkan gambar dari kompiler online memberikan tampilan yang benar-benar tidak alami ini ke dokumen Anda. Bahkan, saya berpendapat bahwa itu bahkan lebih mudah dibaca dalam bahasa sehari-hari x ^ 2 matematika Anda daripada gelisah .
Saya percaya bahwa memastikan bahwa dokumen Anda diketik dengan cara yang alami dan mudah dibaca adalah penting. Inilah sebabnya saya menulis sebuah skrip yang, di luar mengkompilasi rumus menjadi gambar, juga memastikan bahwa gambar yang dihasilkan dipasang dengan benar dan disejajarkan dengan teks lainnya.
Sebagai contoh, berikut adalah kutipan dari
.md
file yang berkaitan dengan beberapa properti enumerative dari ekspresi reguler menggunakan setetreadme2tex
:Seperti yang Anda harapkan, himpunan persamaan di atas ditentukan dengan hanya memulai
align*
lingkungan yang sesuaiPerhatikan bahwa sementara persamaan sebaris ($ ... $) dijalankan dengan teks, persamaan tampilan (yang dibatasi oleh
\begin{ENV}...\end{ENV}
atau$$...$$
) dipusatkan. Ini memudahkan orang yang sudah terbiasa dengan LaTeX untuk tetap produktif.Jika ini terdengar seperti sesuatu yang bisa membantu, pastikan untuk memeriksanya. https://github.com/leegao/readme2tex
sumber
Anda juga dapat menggunakan editor online ini: https://www.codecogs.com/latex/eqneditor.php yang menghasilkan
SVG
file dengan cepat. Anda dapat menempatkan link dalam dokumen Anda seperti ini:![](https://latex.codecogs.com/svg.latex?y%3Dx%5E2)
yang menghasilkan: .sumber
Saya menguji beberapa solusi yang diusulkan oleh orang lain dan saya ingin merekomendasikan TeXify dibuat dan diusulkan dalam komentar oleh agurodriguez dan dijelaskan lebih lanjut oleh Tom Hale - Saya ingin mengembangkan jawabannya dan memberikan beberapa alasan mengapa ini adalah solusi yang sangat baik:
*.tex.md
file, TeXify akan mendeteksi perubahan dan menghasilkan*.md
file tempat formula lateks akan ditukar dengan gambar-gambarnya yang disimpan dalamtex
direktori di repo Anda. Jadi jika Anda membuat file README.tex.md maka TeXify akan menghasilkan README.md dengan gambar, bukan rumus tex. Jadi parsing rumus tex dan menghasilkan dokumentasi dilakukan secara otomatis pada setiap commit & push :)tex
direktori dan file README.md menggunakan tautan ke gambar itu, Anda bahkan dapat menghapus instalasi TeXify dan semua dokumentasi lama Anda masih akan bekerja :). Thetex
direktori dan*.tex.md
file akan tetap di repositori sehingga Anda memiliki akses ke formula lateks asli Anda dan gambar (Anda juga dapat dengan aman menyimpan ditex
direktori gambar dokumentasi lainnya Anda "dibuat dengan tangan" - TeXify tidak akan menyentuh mereka).http://latex.codecogs.com/gif.latex?s%3D%5Ctext%20%7B%20sensor%20reading%20%7D
yang bagus namun memiliki beberapa kelemahan: rumus dalam tautan tidak mudah (praktis) untuk dibaca dan diperbarui, dan jika akan ada beberapa masalah dengan layanan pihak ketiga, dokumentasi lama Anda akan berhenti berfungsi ... Di TeXify dokumentasi lama Anda akan berfungsi selalu meskipun Anda menghapus plugin itu (karena semua gambar Anda yang dihasilkan dari rumus lateks tetap berada dalamtex
direktori repo ).Berikut ini tautan ke beberapa repo saya tempat saya menggunakan TeXify yang dokumentasinya dihasilkan dari file README.tex.md .
sumber
Untuk konversi otomatis saat didorong ke GitHub, lihat aplikasi TeXify :
Cara kerjanya (dari repositori sumber ):
sumber
$...$
dalam teks. Ada petunjuk mengapa? Ini adalah repo: github.com/brunoconteleite/Spatial-Model-SolverSolusi cepat saya adalah ini:
langkah 1. Tambahkan lateks ke
.md
file AndaCatatan: persamaan matematika harus dalam $$ ... $$ atau
\\(... \\)
.langkah 2. Tambahkan berikut ini ke
scripts.html
file tema atau Anda (tambahkan kode ini di akhir)Selesai !. Lihat persamaan Anda. dengan memuat halaman.
sumber
scripts.html
File apa ? Saya tidak dapat menemukan referensi untuk ini sebagai fitur github.Jeykyll
tema ( file tema)? Kode ini untuk menampilkan lateks di halaman git.Anda bisa mendapatkan layanan integrasi berkelanjutan (mis. Travis CI ) untuk merender LaTeX dan memberikan hasil ke github. CI akan mempekerjakan pekerja "cloud" setelah setiap komit baru. Pekerja mengkompilasi dokumen Anda ke pdf dan menggunakan ImageMagick untuk mengubahnya menjadi gambar atau menggunakan PanDoc untuk mencoba LaTeX-> konversi HTML di mana keberhasilan dapat bervariasi tergantung pada dokumen Anda. Pekerja kemudian melakukan gambar atau html ke repositori Anda dari tempat itu dapat ditampilkan di readme Anda.
Contoh konfigurasi TravisCi yang membangun PDF, mengonversinya menjadi PNG, dan mengkomitnya ke lokasi statis di repo Anda ditempel di bawah. Anda perlu menambahkan baris yang mengambil pdfconverts PDF ke gambar
Konfigurasi Travis Ci ini meluncurkan pekerja Ubuntu yang mengunduh gambar buruh pelabuhan lateks, mengkompilasi dokumen Anda ke pdf dan mengirimkannya ke cabang bernama branchanme-pdf.
Untuk lebih banyak contoh lihat repo github ini dan diskusi sx yang menyertainya , contoh PanDoc , https://dfm.io/posts/travis-latex/ , dan postingan ini di Medium .
sumber
Anda dapat menggunakan penurunan harga, misalnya
Kode dapat diketik di sini: https://www.codecogs.com/latex/eqneditor.php .
sumber
Jika Anda mengalami masalah dengan https://www.codecogs.com/latex/eqneditor.php , saya menemukan bahwa https://alexanderrodin.com/github-latex-markdown/ bekerja untuk saya. Ini menghasilkan kode penurunan harga yang Anda butuhkan, jadi Anda cukup memotong dan menempelkannya ke dokumen README.md Anda.
sumber