Używam Markdown do notatek z zajęć i to świetnie. Robię nawet wstępne przetwarzanie Markdown, aby móc robić rzeczy takie jak tabele. Ale w tym semestrze prowadzę zajęcia z dużą ilością matematyki i chciałbym móc umieścić formuły LaTeX w Markdown, mniej więcej tak:
The refinement relation is written $a \sqsubseteq b$, which can be
pronounced "$a$ approximates $b$" or "$b$ is at least as defined as $a$".
Chciałbym móc wziąć każdy fragment LaTeXa i wstępnie przetworzyć go w ładny, antyializowany plik PNG, który mógłbym następnie dołączyć do mojego Markdown za pomocą <img>
znacznika HTML . Ale absolutnie nie mam pojęcia, jak wziąć fragment LaTeXa i uzyskać ładny obraz
- Ma odpowiednią ramkę ograniczającą
- Jest antyializowany
Wiem tylko, jak uzyskać pełne strony w formatach DVI, PostScript lub PDF.
Jestem pewien, że ten problem został rozwiązany, ale nie byłem w stanie odgadnąć właściwych wyszukiwanych haseł. Wszelkie sugestie, jak je rozwiązać lub gdzie szukać istniejącego rozwiązania?
EDYCJA : Po zainstalowaniu mathTeX mogę powiedzieć, że kod jest nieelastyczny, że narusza standard Linux File System Hierarchy i że jest to praca amatorska - zarówno w dobrym, jak i złym znaczeniu tego słowa. Kod jest tak skomplikowany, że nie ma oczywistych błędów. Będę szukał alternatyw.
Oczywiste jest również, że u dołu rozwiązania są oparte dvipng
.
JEDEN ROK PÓŹNIEJ : Nigdy nie udało mi się uzyskać bezproblemowej integracji, na którą liczyłem, ale utykam według własnego scenariusza. Okazuje się, że zamiast dvipng
tego jest nieco łatwiejszy w użyciu dvips -E
i convert
programie ImageMagick. Korzyści to nieco większa kontrola takich rzeczy jak skalowanie i łatwość tworzenia przezroczystego tła. Ciekawi mogą sprawdzić ten przykład .
Nie mogę nikomu polecić tego rozwiązania. Ale nie mogę też polecić MathTeX.
źródło
Odpowiedzi:
Czy próbowałeś z Pandoc ?
źródło
Być może mathJAX jest biletem. Jest oparty na jsMath , zabytkowej bibliotece JavaScript z 2004 roku.
Od 5 lutego 2015 r. Przejdę do polecania KaTeX - najbardziej wydajnej biblioteki Javascript LaTeX z Khan Academy.
źródło
Dodaj następujący kod na górze plików Markdown, aby uzyskać obsługę renderowania MathJax
a następnie `$ x ^ 2 $` lub `$$ x ^ 2 $$` będą renderowane zgodnie z oczekiwaniami :-)
Zawsze możesz zainstalować lokalną wersję MathJax, jeśli nie chcesz korzystać z dystrybucji online, ale może być konieczne hostowanie jej przez lokalny serwer WWW.
AKTUALIZACJA : obecnie używam pandoc zamiast kanonicznego markdown, ale powyższe jest nadal przydatne.
źródło
Odpowiem na twoje pytanie za pomocą kontr-pytania ...
Co sądzisz o trybie Org? Nie jest tak czysty jak Markdown, ale jest podobny do Markdown i uważam, że jest tak łatwy w obsłudze i pozwala na osadzanie lateksu. Por. http://www.gnu.org/software/emacs/manual/html_node/org/Embedded-LaTeX.html
Postscriptum
Jeśli nie spojrzałeś na tryb org, ma on jedną wielką zaletę jako „naturalny język znaczników” ogólnego zastosowania w stosunku do Markdown, a mianowicie jego traktowanie tabel. Źródło:
reprezentuje dokładnie to, co myślisz ...
Lateks jest renderowany w kawałkach za pomocą lateksu podglądu w trybie tekstowym.
źródło
dvipng
. Problem ze stołem jest ważny, ale napisałem już preprocesor, aby go rozwiązać :-) +1powinieneś spojrzeć na multimarkdown http://fletcherpenney.net/multimarkdown/
obsługuje metadane (nagłówki, słowa kluczowe, datę, autora itp.), tabele, asciimath, matematyka, piekło, jestem pewien, że możesz tam wkleić kod matematyki lateksowej. jest to w zasadzie rozszerzenie do markdown, aby dodać wszystkie inne bardzo przydatne funkcje. Wykorzystuje XSLT, dzięki czemu możesz łatwo tworzyć własne style LaTeX i bezpośrednio je konwertować. Używam go cały czas i bardzo mi się podoba.
Chciałbym, aby obniżka obejmowała po prostu multimarkdown. byłoby raczej miło.
Edycja : Multimarkdown będzie produkować HTML, lateks i kilka innych formatów. HTML może pochodzić z wybranego arkusza stylów. przekształci się również w MathML, który wyświetla się w Firefox i Safari / Chrome, jeśli dobrze pamiętam.
źródło
RStudio ma dobre darmowe IDE, które pozwala na Markdown i LaTeX.
źródło
kramdown robi dokładnie to, co opisujesz:
https://kramdown.gettalong.org/syntax.html#math-blocks
I jest o wiele bardziej niezawodny i dobrze zdefiniowany niż Markdown.
źródło
MimeTeX może się przydać.
źródło
dvipng
jest, że to koń roboczy. Dzięki za świetny wskaźnik! +1Hej, to może nie jest najbardziej idealne rozwiązanie, ale działa dla mnie. W końcu stworzyłem rozszerzenie LaTeX dla Python-Markdown.
https://github.com/justinvh/Markdown-LaTeX
Dodaje obsługę wbudowanych wyrażeń matematycznych i tekstowych przy użyciu składni $ matematycznej $ i% text%. Rozszerzenie jest preprocesorem, który będzie używał lateksu / dvipng do generowania png dla odpowiednich równań / tekstu, a następnie base64 koduje dane w celu bezpośredniego wstawienia obrazów, zamiast mieć obrazy zewnętrzne.
Dane są następnie umieszczane w pliku pamięci podręcznej z ogranicznikami, który koduje wyrażenie do reprezentacji base64. Ogranicza to liczbę uruchomień lateksu.
Oto przykład:
Wyjście:
Jak widać, jest to pełne wyjście, ale to naprawdę nie jest problem, ponieważ już używasz Markdown :)
źródło
tak, ale musisz trochę go zhakować. Napisałem filtr, który zastępuje znaczniki lateksowe
$\some\inline\latex$
lub$$\some\equation$$
odpowiednimi znacznikami obrazu do skryptu mimetex.cgi . Zajęło to wszystkie 5 minut.Ostrzeżenie: spektakularnie brzydkie ...
Oczywiście musisz sam zdefiniować odpowiedni css dla obrazów .block i .inline ...
źródło
Spotkałem się z tą dyskusją dopiero teraz, więc mam nadzieję, że mój komentarz będzie nadal przydatny. Jestem zaangażowany w MathJax i z tego, jak rozumiem twoją sytuację, myślę, że byłby to dobry sposób na rozwiązanie problemu: zostaw swój kod LaTeX w obecnej postaci i pozwól MathJaxowi renderować matematykę podczas oglądania.
Czy jest jakiś powód, dla którego wolisz zdjęcia?
źródło
Jakiego języka używasz?
Jeśli możesz używać ruby, maruku można skonfigurować do przetwarzania matematyki za pomocą różnych konwerterów lateks-> MathML. Instiki używa tego. Możliwe jest także rozszerzenie PHPMarkdown o użycie itex2MML, a także do konwersji matematyki. Zasadniczo wstawiasz dodatkowe kroki w silniku Markdown w odpowiednich punktach.
Tak jest w przypadku Ruby i PHP. Sądzę, że te rozwiązania można również dostosować do innych języków - otrzymałem rozszerzenie itex2MML do tworzenia również powiązań perla.
źródło
Szukałem dokładnie tego samego, kiedy znalazłem teqhtml . Dokonuje konwersji równań $ i $$ na obrazy z ładną zaletą wyrównania wynikowego obrazu pionowo z otaczającym tekstem. Nie dużo doktorów, ale to całkiem proste.
Mam nadzieję, że pomoże to niektórym przyszłym czytelnikom.
źródło
Przepraszam, że wzbudziłem naprawdę stary wątek, ale używam jemdoc od kilku lat i jest naprawdę świetny.
źródło
Możliwe jest parsowanie Markdown w Lua za pomocą kodu Lunamark (patrz jego repozytorium Github ), co oznacza, że Markdown może być analizowany bezpośrednio przez makra w Luatex i obsługuje konwersję do wielu formatów obsługiwanych przez Pandoc (tj. Biblioteka jest dobrze dostosowana do wykorzystania w
lualatex
,context
, Metafun, Zwykły LuaTeX itexlua
skrypty).Projekt został rozpoczęty przez Johna MacFarlane'a , autora Pandoc, a rozwój narzędzia śledzi rozwój Pandoc dość dokładnie i ma podobną (tj. Doskonałą) jakość.
Khaled Hosny napisał moduł kontekstowy, zapewniający wygodną obsługę makr. Odpowiedź Michała na pytanie Czy jest jakiś pakiet z obsługą Markdown? pytanie daje kod zapewniający podobne wsparcie dla lateksu.
źródło