Перейти к содержимому

Есть много способовъ выложить LATEX файлъ на страницу. Я не буду описывать всё великое ихъ множество, а буду писать про тотъ способъ который работаетъ для меня. Если Вы уже знаете другой способъ который работаетъ, эта статья навѣрное Вамъ не пригодится.

Итакъ, чтобы выложить LATEX файл въ интернетъ, нужно перевести его въ форматъ HTML (довольно очевидно). Сдѣлать это можно съ помощью программки pandoc (жми и скачивай). Въ лучшихъ традиціяхъ сайта ЕстествоЗнаніе, мы рекомендуемъ Вамъ только безплатные программы, и pandoc - не изключеніе! Такъ что если Вамъ кто-то скажетъ что у Васъ нѣтъ ни одной лицензіонной программы на компѣ, быстренько скачайте pandoc и скажите "Вотъ она, моя лицензіонная программа!". У неё же есть лицензія GNU GPL, такъ что программа вполнѣ лицензіонная.

Ну да ладно, хватитъ разтекаться мыслію по древу, къ дѣлу!

После того какъ программа pandoc установлена, запускаемъ её вотъ такъ вотъ:
pandoc --from=latex --to=HTML --mathjax lindiff.tex -s -o lindiff3.html --reference-links

Здесь, какъ несложно догадаться lindiff.tex - это изходный TEX файлъ который Вы хотите выложить въ Интернетъ, а lindiff3.html - это файлъ куда программа пишетъ выводъ въ форматѣ HTML. Люди, которые сидятъ въ виндѣ, могутъ нѣмного зависнуть отъ фразы "запускаемъ программу". Для того чтобы запустить программу, нужно найти командную консоль Windows, перейти въ папку где лежитъ нужный файлъ и набрать тамъ эту команду. Какъ это дѣлается, выходитъ за рамки данной статьи, попробуйте погуглить "Какъ работать въ консоли въ Windows".

Долго ли, коротко ли, скоро сказка сказывается, да не скоро дѣло дѣлается, предположимъ что мы таки запустили pandoc. Если Вы откроете HTML файлъ который получился въ результатѣ (въ томъ примерѣ это lindiff3.html), то Вы обнаружите неприятное свойство - все втурненніе ссылки въ документѣ никуда не указываютъ. Каждый изъ насъ знаетъ, что безъ внутреннихъ ссылокъ въ математическомъ текстѣ никуда не дѣться (какъ иначе объяснить, напримеръ, уравненіе (2)?). Поэтому я написалъ программу которая разправляется съ этой проблемой. Если Вамъ доступно тайное (вообще-то не очень тайное) умѣніе читать программы написанные на языке Perl, тогда Вамъ будетъ понятно что эта программа ничего сложного изъ себя не представляетъ, болѣе того, она умѣетъ работать только когда тегъ \label стоитъ въ самомъ концѣ формулы, когда этотъ тегъ только одинъ на формулу и вообще на строчку. Если хотите, можете написать болѣе совѣршенную программу, и потомъ даже скинуть мнѣ - я съ удовольствіемъ размѣщу её здесь.

Итакъ, запускаемъ программу вотъ так:
perl ../../scripts/change_label.pl < lindiff3.html > lindiff4.html

Опять же, въ виндѣ могутъ потребоваться дополнительные примочки чтобы это всё заработало (какъ минимумъ, въ виндѣ нужно будетъ установить Perl, который по понятнымъ причинамъ не является частью системы Windows). Но эти дополнительныя примочки опять же выходятъ за рамки данной статьи.

Итакъ, после того какъ мы запустили программу, мы можемъ наконец-то вставить нашъ файлъ въ интернетъ-старницу. Здесь тоже есть пару подводныхъ камнѣй. Вамъ нужно найти мѣсто въ вашемъ сайтѣ куда можно вставить имѣнно "голый HTML". Если Вы вставите вашъ HTML-кодъ куда-нибудь куда не надо, редакторъ Вашего сайта просто "съестъ его" - напримеръ, вмѣсто символа <, открывающего любой HTML тегъ поставит &lt; или что-то въ этомъ духѣ. Въ результатѣ, HTML кодъ не будетъ восприниматься какъ HTML кодъ и всё пойдётъ насмарку. Поэтому нужно найти куда же можно вставлять HTML кодъ. На сайте ЕстествоЗнаніе (на WP), например, нужно нажать на маленькую незаметную кнопочку "Текстъ":

 

 

 

 

 

 

Но и это ещё не всё. Вставлять въ страницу нужно не весь HTML файлъ. Въ HTML файлахъ есть много информаціи, которая не относится напрямую къ дѣлу. Намъ же нужно только то что будетъ отображаться. Оно находится между открывающимъ и закрывающимъ тегами <BODY> (т. е. между <BODY> и </BODY>, для техъ кто въ HTML-танкѣ).

Но и это ещё не всё. Если у Васъ есть привычка (иногда полезная) пытаться понять команды, которые Вы выполняете, то Вы навѣрное обратили вниманіе что мы поставили опцію --mathjax когда запускали pandoc. MathJax - это такая программка на JavaScript которая преобразуетъ формулы из LATEXa въ картинки непосредственно перед отображеніемъ страницы въ обозревателѣ. Чтобы MathJax заработалъ, нужно ообревателю (или, какъ иногда говорятъ, браузеру) указать где же онъ, этот MathJax находится. Эта информація въ файле содержалась передъ тегомъ <BODY> и если Вы следовали моимъ инструкціямъ, то Вы не скопировали её на страницу Вашего сайта и ничего работать не будетъ. Шутка - на сайте ЕстествоЗнаніе въ заголовкѣ каждой страницы уже прописано где лежитъ MathJax, а вотъ если Вы дѣлаете это для другого сайта, то, какъ говорится "потребуются дополнительныя дѣйствія", которые выходятъ за рамки данной статьи.

Желаемъ удачи въ LATEX'e, HTML'е и въ жизни!