Как я могу смешать ЛАТЕКС в со Скидкой с цены? [закрытый]

Я использовал Скидку с цены для примечаний класса, и это является большим. Я даже делаю некоторую предварительную обработку на Скидке с цены, таким образом, я могу сделать вещи как таблицы. Но этот термин, который я преподаю классу с большим количеством математики, и я хотел бы смочь поместить ЛАТЕКСНЫЕ формулы со Скидкой с цены, чем-то вроде этого:

The refinement relation is written $a \sqsubseteq b$, which can be 
pronounced "$a$ approximates $b$" or "$b$ is at least as defined as $a$".

Я хотел бы смочь взять каждый фрагмент ЛАТЕКСА и предварительно обработать его в хороший сглаженный файл PNG, который я мог затем включать в свою Скидку с цены через HTML тег. Но у меня нет абсолютно никакой идеи, как взять фрагмент ЛАТЕКСА и получить хорошее изображение это

  • Имеет правильную ограничительную рамку
  • Сглаживается

Все, что я знаю, как сделать, получают полные страницы в DVI, PostScript или форматах PDF.

Я уверен, что эта проблема была решена, но я не смог предположить правильные критерии поиска. Какие-либо предложения, как решить его или где искать существующее решение?


Править: Установив mathTeX, я могу сказать, что код негибок, что он нарушает стандарт Иерархии Файловой системы Linux, и что это - любительская работа — и в хороших и в плохих смыслах того слова. Код так сложен, что нет никаких очевидных отказов. Я буду искать альтернативы.

Кроме того, ясно, что в основе, решения на основе dvipng.


ОДИН ГОД СПУСТЯ: Я никогда не получал бесшовную интеграцию, на которую я надеялся, но я хромаю вперед на сценарии моего собственного изобретения. Это оказывается этим вместо dvipng немного легче использовать dvips -E и convert программа ImageMagick. Преимущества являются немного большим количеством управления вещей как масштабирование и простоты создания прозрачного фона. Любопытное может осмотреть этот пример.

Я не могу рекомендовать это решение никому. Но я не могу рекомендовать MathTeX также.

173
задан flying sheep 3 August 2012 в 09:41
поделиться

8 ответов

Вы пробовали использовать Pandoc ?

71
ответ дан 23 November 2019 в 20:37
поделиться

Следующее поможет вам начать работу. Вам нужно будет изменить _ documitionDirectory на конкретную папку, хотя:

- (unsigned long long int) documentsFolderSize {
    NSFileManager *_manager = [NSFileManager defaultManager];
    NSArray *_documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *_documentsDirectory = [_documentPaths objectAtIndex:0];   
    NSArray *_documentsFileList;
    NSEnumerator *_documentsEnumerator;
    NSString *_documentFilePath;
    unsigned long long int _documentsFolderSize = 0;

    _documentsFileList = [_manager subpathsAtPath:_documentsDirectory];
    _documentsEnumerator = [_documentsFileList objectEnumerator];
    while (_documentFilePath = [_documentsEnumerator nextObject]) {
        NSDictionary *_documentFileAttributes = [_manager fileAttributesAtPath:[_documentsDirectory stringByAppendingPathComponent:_documentFilePath] traverseLink:YES];
        _documentsFolderSize += [_documentFileAttributes fileSize];
    }

    return _documentsFolderSize;
}
-121--916452-

Это важный вопрос, о котором думают все, прежде чем рассматривать клоюре. Это также трудный вопрос даже для зрелых языков, которые не добавляют вещи, как порции последовательности, которые радикально изменить выполнение некоторых конкретных (хотя и общих) задач. Я нашел несколько хороших мыслей в этом потоке . Многие из эталонов, которые вы найдете, будут связаны с предыдущими версиями java и clojure, так что маловероятно, что кто-то может найти «действительно хорошие эталоны».

Я хотел бы задать вам вопрос: Достаточно ли быстро Java . Это является предварительным условием для того, чтобы клоюр был достаточно быстрым. Если вы можете убедить себя, что ответ на этот вопрос да, то это безопасно, чтобы продолжить в Clojure и реализовать части, которые профилирование идентифицирует как бутылочные горлышки на Java. Потому что у вас есть язык возврата на основной ресурс с хорошо известной производительностью Это, как правило, будет безопасно с Clojure.

-121--2522931-

да, но вам придется немного взломать его самому. Я написал фильтр, который заменяет латекс тэгов $\some\inline\latex $ или $ $\some\equation $ $ соответствующим изображением, тэгами скрипту mimetex.cgi . Это заняло все 5 минут.

Предупреждение: эффектно уродливый...

#!/usr/bin/env python
import sys, markdown,re

MIMETEX_LOC="http://some.server.com/cgi-bin/mimetex.cgi"

def sanitizeLatex(text):
    return re.sub(r"\\",r"%5C", text)

def wrapLatexBlock(text):
    return '<img alt="equation" class="block" src="%s?%s"></img>'%(MIMETEX_LOC,text)

def wrapLatexInline(text):
    return '<img alt="equation" class="inline" src="%s?%s"></img>'%(MIMETEX_LOC,text)

def prepLatexBlock(matchobj):
    return wrapLatexBlock(sanitizeLatex(matchobj.group()[2:-2]))

def prepLatexInline(matchobj):
    return wrapLatexInline(sanitizeLatex(matchobj.group()[1:-1]))


if __name__ == "__main__":
    # initialise markdown
    md=markdown.Markdown()
    raw_md=open(sys.argv[1],"r").read()

    ##
    # deal with embedded latex
    ##
    raw_md=re.sub(r'\$\$(.*?)\$\$',prepLatexBlock, raw_md)
    raw_md=re.sub(r'\$(.*?)\$',prepLatexInline, raw_md)

    ##
    # once latex is parsed, convert md to html
    ##
    main_html=md.convert(raw_md)

    # hey presto!
    print(main_html)

Конечно, вы должны сами определить соответствующий css для изображений .block и .inline...

2
ответ дан 23 November 2019 в 20:37
поделиться

Я отвечу на ваш вопрос встречным вопросом...

Что ты думаешь об Орг-режиме? Он не такой чистый, как Markdown, но он похож на Markdown, и я считаю, что с ним так же легко работать, и он позволяет встраивать латекс. Ср. http://www.gnu.org/software/emacs/manual/html_node/org/Embedded-LaTeX.html

Postscript

Если вы не смотрели на org-режим, то у него есть одна большая сила, как у универсального "естественного языка разметки" над Markdown, а именно, его обработка таблиц. Источник:

| 1 | 0 | 0 |
| -1 | 1 | 0 |
| -1 | -1 | 1 |

представляет именно то, что вы думаете...

И латекс отрисовывается по частям с использованием предварительного просмотра латекса в текстовом режиме.

11
ответ дан 23 November 2019 в 20:37
поделиться

mimeTeX может оказаться полезным.

5
ответ дан 23 November 2019 в 20:37
поделиться

В Lua можно анализировать Markdown с помощью кода Lunamark (см. Его репозиторий Github ), что означает, что Markdown может анализироваться непосредственно макросами в Luatex и поддерживает преобразование во многие форматы, поддерживаемые Pandoc. (т.е. библиотека хорошо подходит для использования в скриптах lualatex , context , Metafun, Plain Luatex и texlua ).

Проект был начат Джоном Макфарлейном , автором Pandoc, и разработка инструмента очень близко отслеживает развитие Pandoc и имеет аналогичное (то есть отличное) качество.

Халед Хосни написал модуль контекста, обеспечивающий удобную поддержку макросов. Ответ Михала на Есть ли какой-нибудь пакет с поддержкой Markdown? вопрос дает код, обеспечивающий аналогичную поддержку Latex.

1
ответ дан 23 November 2019 в 20:37
поделиться

вам следует посмотреть на multimarkdown http://fletcherpenney.net/multimarkdown/

, в нем есть поддержка метаданных (заголовки, ключевые слова, дата, автор и т. Д.), Таблиц, asciimath, mathml, черт возьми, Я уверен, что вы могли бы вставить математический код латекса прямо там. По сути, это расширение для уценки, чтобы добавить все эти другие очень полезные функции. Он использует XSLT, поэтому вы можете легко создавать свои собственные стили LaTeX и напрямую конвертировать их. Я использую его постоянно, и он мне очень нравится.

Я бы хотел, чтобы уценка просто включала мульти-разметку. было бы неплохо.

Изменить : Multimarkdown будет создавать html, latex и несколько других форматов. html может поставляться с таблицей стилей по вашему выбору. он также будет преобразован в MathML, который отображается в Firefox и Safari / Chrome, если я правильно помню.

8
ответ дан 23 November 2019 в 20:37
поделиться

Возможно, mathJAX - это билет. Он построен на jsMath , старинной библиотеке JavaScript 2004 года.

С 5 февраля 2015 г. я бы предпочел рекомендовать KaTeX - наиболее производительную библиотеку Javascript LaTeX от Khan Academy.

40
ответ дан 23 November 2019 в 20:37
поделиться

Какой язык вы используете?

Если вы можете использовать ruby, то maruku можно настроить на обработку математики с помощью различных конвертеров latex->MathML. Instiki использует это. Также можно расширить PHPMarkdown, чтобы использовать itex2MML для преобразования математики. По сути, вы вставляете дополнительные шаги в движок Markdown в соответствующих местах.

Так что с помощью ruby и PHP это можно сделать. Думаю, эти решения можно адаптировать и к другим языкам - я заставил расширение itex2MML сделать привязку к perl.

1
ответ дан 23 November 2019 в 20:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: