Есть ли способ отобразить LaTex в README.md в репозитории GitHub? Я погуглил и искал переполнение стека, но ни один из связанных ответов не кажется возможным.
Есть ли способ отобразить LaTex в README.md в репозитории GitHub? Я погуглил и искал переполнение стека, но ни один из связанных ответов не кажется возможным.
Ответы:
Для коротких выражений и не столь сложной математики вы можете использовать встроенный HTML, чтобы получить латексную математику на codecogs, а затем встроить полученное изображение. Вот пример:
- <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 " />
В результате должно получиться что-то вроде следующего
Обновление: это отлично работает в eclipse, но, к сожалению, не в github. Единственный обходной путь заключается в следующем:
Возьмите латексное уравнение и перейдите на http://www.codecogs.com/latex/eqneditor.php , в нижней части области, где отображается ваше уравнение, есть крошечное раскрывающееся меню, выберите URL-адрес, закодированный, и затем вставьте его в свой github markdown следующим образом:
![equation](http://latex.codecogs.com/gif.latex?O_t%3D%5Ctext%20%7B%20Onset%20event%20at%20time%20bin%20%7D%20t)
![equation](http://latex.codecogs.com/gif.latex?s%3D%5Ctext%20%7B%20sensor%20reading%20%7D)
![equation](http://latex.codecogs.com/gif.latex?P%28s%20%7C%20O_t%20%29%3D%5Ctext%20%7B%20Probability%20of%20a%20sensor%20reading%20value%20when%20sleep%20onset%20is%20observed%20at%20a%20time%20bin%20%7D%20t)
Я загружаю репозитории с уравнениями в Gitlab, потому что он имеет встроенную поддержку LaTeX в файлах .md:
```math
SE = \frac{\sigma}{\sqrt{n}}
```
Синтаксис встроенного латекса $`\sqrt{2}`$
.
Gitlab отображает уравнения с помощью JavaScript в браузере вместо отображения изображений, что улучшает качество уравнений.
Больше информации здесь .
Будем надеяться, что Github реализует это и в будущем.
Моя уловка - использовать Jupyter Notebook.
GitHub имеет встроенную поддержку для рендеринга файлов .ipynb. Вы можете написать встроенный и отобразить код LaTeX в записной книжке, и GitHub отобразит его за вас.
Вот пример файла записной книжки: https://gist.github.com/cyhsutw/d5983d166fb70ff651f027b2aa56ee4e
Я работал над сценарием, который автоматизирует большую часть беспорядка, чтобы заставить LaTeX правильно набрать разметку со вкусом Github: https://github.com/leegao/readme2tex
Есть несколько проблем с рендерингом LaTeX для Github. Во-первых, уценка со вкусом Github удаляет большинство тегов и атрибутов. Это означает отсутствие библиотек на основе Javascript (таких как Mathjax) или каких-либо стилей CSS.
Тогда кажется естественным решением встроить изображения предварительно скомпилированных уравнений. Однако вскоре вы поймете, что LaTeX делает больше, чем просто превращает формулы, заключенные в символы доллара, в изображения.
Простое встраивание изображений из онлайн-компиляторов придает вашему документу действительно неестественный вид. На самом деле, я бы сказал, что на вашем повседневном математическом сленге x ^ 2 он даже более удобочитаем, чем нервный .
Я считаю, что важно следить за тем, чтобы ваши документы были набраны естественным и читабельным образом. Вот почему я написал сценарий, который, помимо компиляции формул в изображения, также гарантирует, что получившееся изображение будет правильно подогнано и выровнено по остальному тексту.
Например, вот отрывок из .md
файла, касающийся некоторых перечислительных свойств набора регулярных выражений с использованием readme2tex
:
Как и следовало ожидать, набор уравнений вверху задается простым запуском соответствующей align*
среды.
**Theorem**: The translation $[\![e]\!]$ given by
\begin{align*}
...
\end{align*}
...
Обратите внимание, что в то время как встроенные уравнения ($ ... $) выполняются с текстом, отображать уравнения (те, которые разделены символом \begin{ENV}...\end{ENV}
или$$...$$
) центрируются. Это позволяет людям, которые уже привыкли к LaTeX, оставаться продуктивными.
Если это похоже на то, что может помочь, обязательно проверьте это. https://github.com/leegao/readme2tex
Также можно использовать этот онлайн-редактор: https://www.codecogs.com/latex/eqneditor.php, который генерирует SVG
файлы на лету. Вы можете поставить ссылку на документ , как это:
![](https://latex.codecogs.com/svg.latex?y%3Dx%5E2)
что приводит к:
.
Я тестирую какое-то решение, предложенное другими, и я хотел бы порекомендовать TeXify, созданный и предложенный в комментарии Agurodriguez и дополнительно описанный Томом Хейлом - я хотел бы развить его ответ и объяснить причину, почему это очень хорошее решение:
*.tex.md
файл в своем репозитории , TeXify обнаружит изменения и сгенерирует *.md
файл, в котором латексные формулы будут заменены его изображениями, сохраненными в tex
каталоге вашего репо. Итак, если вы создадите файл README.tex.md, TeXify сгенерирует README.md с изображениями вместо текстовых формул. Таким образом, парсинг текстовых формул и создание документации выполняется автоматически при каждом коммите и нажатии :)tex
каталоге, а файл README.md использует ссылки на эти изображения, вы даже можете удалить TeXify, и вся ваша старая документация будет работать :). tex
Каталог и *.tex.md
файлы будут оставаться в хранилище , так что вы имеете доступ к исходным латексным формулам и картинкам (вы также можете безопасно хранить в tex
директории другой вашей документации фотографии « сделанную вручную» - TeXify не будет их трогать).http://latex.codecogs.com/gif.latex?s%3D%5Ctext%20%7B%20sensor%20reading%20%7D
что хорошо, но имеет некоторые недостатки: формулы в ссылках нелегко (удобно) читать и обновлять, и если возникнут проблемы с этой сторонней службой, ваша старая документация перестанет работать ... В TeXify ваша старая документация будет работать всегда, даже если вы удалите этот плагин (потому что все ваши изображения, созданные на основе латексных формул, остаются в репо в tex
каталоге).Вот ссылка на некоторые из моих репозиториев, где я использую TeXify, документация для которого была создана из файла README.tex.md .
Для автоматического преобразования при отправке на GitHub взгляните на приложение TeXify :
Приложение GitHub, которое ищет в ваших пушах файлы с расширением * .tex.md и отображает их TeX-выражения как изображения SVG.
Как это работает (из исходного репозитория ):
Каждый раз, когда вы нажимаете, TeXify будет запускать и искать файлы * .tex.md в вашем последнем коммите. Для каждого из них будет запущен readme2tex, который будет принимать выражения LaTeX, заключенные между знаками доллара, преобразовывать их в простые изображения SVG, а затем сохранять результат в файл с расширением .md (это означает, что файл с именем README.tex.md будет обработан, и результат будет сохранен как README.md). После этого выходной файл и новые изображения SVG фиксируются и отправляются обратно в ваше репо.
$...$
в тексте есть. Какие-нибудь подсказки почему? Это репо: github.com/brunoconteleite/Spatial-Model-Solver
Мое быстрое решение таково:
Шаг 1. Добавьте латекс в свой .md
файл
$$x=\sqrt{2}$$
Примечание: математические выражения должны быть в $$ ... $$ или \\(... \\)
.
шаг 2. Добавьте следующее в файл scripts.html
темы или (добавьте этот код в конце)
<script type="text/javascript" async
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">
Готово!. См. Свой эк. загрузив страницу.
scripts.html
файл? Я не могу найти упоминания об этом как о функции github.
Jeykyll
темы ( файл темы)? Этот код предназначен для отображения латекса на страницах git.
Вы можете получить услугу непрерывной интеграции (например, Travis CI ) для рендеринга LaTeX и фиксации результатов в github. CI будет развертывать «облачного» воркера после каждой новой фиксации. Рабочий компилирует ваш документ в pdf и либо использует ImageMagick для преобразования его в изображение, либо использует PanDoc для попытки преобразования LaTeX-> HTML, где успех может варьироваться в зависимости от вашего документа. Затем Worker фиксирует изображение или html в вашем репозитории, откуда оно может быть показано в вашем файле readme.
Пример конфигурации TravisCi, которая создает PDF-файл, конвертирует его в PNG и фиксирует его в статическом месте в вашем репо, вставлен ниже. Вам нужно будет добавить строку, которая извлекает pdfconverts PDF в изображение
sudo: required
dist: trusty
os: linux
language: generic
services: docker
env:
global:
- GIT_NAME: Travis CI
- GIT_EMAIL: builds@travis-ci.org
- 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:$GH_TOKEN@github.com/$TRAVIS_REPO_SLUG $TRAVIS_BRANCH-pdf
notifications:
email: false
Эта конфигурация Travis Ci запускает рабочий процесс Ubuntu, загружает латексный образ докера, компилирует ваш документ в pdf и фиксирует его в ветке с именем branchanme-pdf.
Дополнительные примеры см. В этом репозитории github и сопутствующем обсуждении sx , примере PanDoc , https://dfm.io/posts/travis-latex/ и в этом сообщении на Medium .
Вы можете использовать уценки, например
![equ](https://latex.codecogs.com/gif.latex?log(y)=\beta_0&space;+&space;\beta_1&space;x&space;+&space;u)
Код можно набрать здесь: https://www.codecogs.com/latex/eqneditor.php .
Если у вас возникли проблемы с https://www.codecogs.com/latex/eqneditor.php , я обнаружил, что https://alexanderrodin.com/github-latex-markdown/ работал у меня. Он генерирует необходимый вам код Markdown, поэтому вам просто нужно вырезать его и вставить в свой документ README.md.