Как подружить латекс, формулы и Хабр?

    Добрый день, уважаемый читатель! Я недавно на Хабре, за это непродолжительное время опубликовал две статьи, и столкнулся со следующей проблемой: пользователи неоднократно писали в комментариях, что математические формулы во многих браузерах и различных устройствах отображаются некорректно, несмотря на то, что я добавлял их положенным образом через иконку с сигмой (в качестве разметки используется LaTex). Одному из пользователей пришлось даже зайти в мобильную версию Хабра в браузер Mozilla Firefox на iOS, чтобы прочесть формулы! Еще в первой своей статье я обещал решить эту проблему в скором времени. Сейчас оно пришло.

    image
    Рисунок 1. Слева то, что должно быть, а справа – то, что отображается.

    Очевидно, что перед публикацией статьи, я проверяю ее в режиме предпросмотра. Но у меня Хабр работает очень стабильно, все выглядит так, как должно. Как же помочь дорогим читателям и подписчикам?

    У меня возникло несколько идей по поводу того, как можно решить эту проблему.

    Решение 1


    image
    Рисунок 2. Старый добрый способ

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

    Статья получится более винтажной и будет выглядеть необычно на фоне других статей. При том, не нужно учить верстку LaTex. Но проблема в том, что если формул очень много (у меня порой их количество доходило до 16!), это становится чрезвычайно времязатратно и геморройно.

    Решение 2


    Скачать и установить программу-транслятор, которая будет использовать полноценный синтаксис LaTex. Их великое множество: TexnicCenter, WinEdit, TextMate и т. д.

    Это, несомненно, весьма неплохой вариант. Проблема в том, что не у каждого из нас есть время на изучение еще одной вёрстки. LaTex значительно отличается от той же привычной html. В большинстве программ поддерживается конвертация в pdf, так что потом Вам придется делать скриншот или конвертировать в png/jpg/gif и обрезать лишнее.

    Решение 3


    image
    Рисунок 3. Пожалуй, наилучший вариант

    Нет, это не реклама. Я рекомендую этот сайт, потому что сам буду пользоваться им в дальнейшем. На нем все «бесплатно, без регистрации и СМС». Разметка LaTex, но итоговые изображения можно загрузить на Ваше устройство в разичных форматах. Png или gif поддерживается любым браузером и вам не нужно будет учить все теги, структуру LaTex-документа и т. д, а также беспокоиться о корректности отображения формул. Использование на интуитивном уровне.

    На этом все. Если Вы нашли какие-либо иные решения, я буду рад ознакомиться с ними в комментариях! Спасибо, что прочли до конца!
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 42

      +15
      Латекс — это в магазинах для взрослых и в перчатках. То, о чем вы пишете — «латех».
        +15
        Угадал первый комментарий по заголовку статьи.
          0
          Я удивлен что именно мой — первый :-)
          –1
          Название статьи — точно не кликбейт!
            +1

            Тогда исправьте, пожалуйста, на официальный «латех», а лучше вообще «LaTeX». Чтоб не будоражить публику. :)

          0
          Вот спасибо! Как раз находился в поиске подобного сервиса
          +2
          Долго-долго ждали латех на хабре, пилили разные свои решения, а в итоге пришли опять к картинкам.
            +1
            Ожидал увидеть вот это решение.
              0
              Это плохое решение, поскольку завязано на сторонний сайт, доступность которого не гарантирована.
                +1
                Исходный код открыт и формулы не протухнут, если вдруг что.
                  0
                  Не совсем понятно, как открытый код поможет когда этот сторонний сайт ляжет и во всех статьях, его использующих, формулы превратятся в тыкву.
                    0
                    Открытый код поможет использовать свой собственный, а не сторонний, сайт.
                      0
                      И вместо небольшой вероятности массового былинного отказа получим фрагментарные, но зато частые отказики то тут то там.
                        0
                        Ну если хоститься на домашнем компьютере — тогда да. И Хабр — это тоже сторонний сайт, если что.
                      0

                      Не ляжет. Благодаря умной системе кеширования выдерживает не то что хабраэффект, а хакер-ньюз-эффект: https://news.ycombinator.com/item?id=10056464

                        0
                        Может не выдержать ромкомнадзора и случайного опоздания в оплате хостинга
                    0

                    Хм, вы же чуть выше написали про другой сторонний сайт прямо противоположный по смыслу отзыв:


                    Вот спасибо! Как раз находился в поиске подобного сервиса
                      0
                      Есть разница между созданием картинки с формулой на стороннем сайте и вставкой ее через хабрастораж и вставкой в статью ссылки на сторонний сайт, который «на лету» будет эту картинку генерировать
                        0

                        Понял вашу позицию. Мы по-разному риски оцениваем.

                  0
                  У Вас отличная статья! И ваше решение с использованием скрипта — чудесный вариант для продвинутых пользователей. Но есть обыкновенная лень или незнание JS. Мне кажется, лучше я, автор, сделаю картинки для пользователя, чем он будет испытывать дискомфорт от дополнительных телодвижений. Спасибо за Ваше решение!
                  +4

                  Категория "вредные советы". Мы тут так долго добивались поддержки формул не для того, чтоб вставлять их впоследствии картинками. Правильное решение — обратиться в Техподдержку для выявления и решения проблемы.

                    0
                    в «пожалуй, наилучшем варианте» надо делать так, чтобы оно читалось
                    а это означает, что перед стандартной функцией надо ставить "\", а аргумент брать в скобки.

                    Иначе получается… ну вот то и получается, что там автор написал… все слитно и все наклонно и убого.

                    Но тут выхожу я — весь в белом и с розочкой и учу писать более менее правильно:

                    $
                    \int\cos(x)\mathrm{d}x = \sin(x) + C
                    $

                    теперь — пояснять!
                    там под интегралом есть еще \mathrm{} — это сделано, чтобы внутри формулы «dx» было написано с прямой d, потому что это не константа и не переменная в формуле (которые принято делать наклонными в латехе)

                    и вот результат:

                    image
                      0
                      Здравствуйте! Теперь формула выглядит слишком прекрасно!
                        +1

                        Кстати, в русской типографской традиции дифференциал обозначается всё-таки курсивным d. Вот пример из ландавшица, издание 1963 года:


                          –1
                          нет, d (знак дифференциала) в формулах всегда пишется прямым соголасно ГОСТ 54521-2011, так что не надо ссылаться на некие «русские типографские традиции» в то время, когда есть конкретный стандарт. Об этом говорится сразу почти в начале, под заголовком «3 Переменные, функции и операторы», второй абзац буквально.
                            +1

                            Ок, пишите дифференциал по стандарту, вас всё равно поймут.


                            А вообще, и в этом стандарте, и в оригинальной версии ISO 80000-2:2009 написаны странные вещи. Никогда не видел, чтобы мнимая единица обозначалась прямой i, а не курсивной i. При этом на вашем же скриншоте ниже мнимая единица курсивная :)


                            Интересно, что и в английской, и в русской википедии дифференциалы курсивные: https://en.wikipedia.org/wiki/Integral
                            Хотя, казалось бы, в электронном издании внедрить стандарт проще всего.

                              0
                              нет, d (знак дифференциала) в формулах всегда пишется прямым соголасно ГОСТ 54521-2011, так что не надо ссылаться на некие «русские типографские традиции» в то время, когда есть конкретный стандарт.

                              Вы переоцениваете роль стандарта, который, (согласно ему же самому) описывает математическую нотацию в самих же стандартах.


                              Кроме того, насчёт «всегда пишется» вы погорячились. Вот же примеры из конкретных книг. В большинстве хороших книг от крупных уважаемых издательств, что мне встречались, пишут не по стандарту. Значит не всегда пишется, не так ли?


                              Получается как в анекдоте: «Все идут не в ногу, один я в ногу».

                            +1

                            В скобки аргумент-переменную брать не нужно, а dx как раз следует отбить пробелом (см., например, справочник Гиленсона):


                            \int\cos x\, dx = \sin x + C


                            Вот для сравнения формула из справочника Бронштейна и Семендяева:


                              –1
                              ой ли? не надо выдумывать свои правила только насчет переменных не взятых в скобки и приводить в подтверждение этого весьма бездарный вариант типографики, судя по начертанию, к тому же и набранный в ворде для издания…
                              Если есть какие то вопросы — ищите стандарт и следуйте ему.
                              Цитата из стандарта (ГОСТ Р 54521-2011):
                              Аргумент функции указывают в круглых скобках после символа функции без пробела между символом функции и первой круглой скобкой
                              . Однозначность этой цитаты Вам, надеюсь, понятна? Далее в стандарте говорится, что в определенных случаях (в виде исключения для частных случаев) скобки могут быть опущены и ставится пробел. Если Вы понимаете русский язык, то увидите, что там есть «могут быть», то есть по сути «иногда допустимо». А вовсе те так как Вы утверждаете в своем посту, ссылаясь на некий справочник.

                              Привожу тут как раз выдержку:



                              не советуйте людям того, в чем не понимаете.
                                +1
                                Прошу прощения, написано: «Математические константы изображают без наклона (вертикально)» — а далее из трёх приведённых констант без наклона изображена только одна, а две — курсивом.
                                  0
                                  ой ли? не надо выдумывать свои правила только насчет переменных не взятых в скобки

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


                                  приводить в подтверждение этого весьма бездарный вариант типографики, судя по начертанию, к тому же и набранный в ворде для издания

                                  Вы о картинке с формулой из 13-го издания справочника Бронштейна и Семендяева, изданного в 1986 году? Ну, учитывая, что Word появился в 1983 году, то, может, им и пользовались, не берусь судить. :) Я думаю, в издательстве «Наука» оценили бы Вашу ремарку про бездарную типографику. :)


                                  Ладно, вот пример посвежее (3-й том задачника Кудрявцева, издательство «Физматлит», 2003 год):



                                  Тут и скобок нет, и буква d курсивная, и dx отбито пробелом. Разумеется, в случаях, когда есть неоднозначность, скобки будут.


                                  Кстати, если Вы приведёте пример из книги какого-то крупного уважаемого издательства, где cos x будет со скобками, буду благодарен. Не отрицаю, что такие примеры есть, хоть я их не встречал.


                                  Цитата из стандарта (ГОСТ Р 54521-2011)

                                  Заметьте, что это не стандарт оформления научно-технической литературы и не стандарт для типографского оформления текстов.


                                  (в виде исключения для частных случаев)
                                  «могут быть», то есть по сути «иногда допустимо».

                                  Во-первых, если допустимо, то почему вы спорите? Вот же в самом стандарте пример синуса без скобок. Во-вторых, в стандарте ничего не сказано про «исключения» и «иногда».


                                  Но хорошо. Допустим, такова семантика. Примем, что «могут быть» предполагает некий условно-допустимый вариант, который не следует широко применять.


                                  А теперь открываем стандарт ГОСТ Р 54521-2011 и читаем раздел «Область применения»: «Рекомендуемые в стандарте символы и знаки предназначены главным образом для использования в стандартах, но могут быть использованы также и в других областях.»


                                  Выходит, следуя этой логике, положения этого стандарта за пределами оформления стандартов по сути лишь «иногда допустимы»?


                                  Вам, надеюсь, понятна?
                                  Если Вы понимаете русский язык
                                  не советуйте людям того, в чем не понимаете.

                                  Эти части, пожалуй, оставлю без комментариев.

                              +5
                              Но проблема в том, что если формул очень много (у меня порой их количество доходило до 16!)


                              16! = 2.092279e+13. Извините, кто-то же должен был пошутить.
                                +1
                                20922789888000 тогда уж (а наблюдение и действительно забавное).
                                0
                                Немного оффтопа
                                Верните пост про большие яйца :) Или скиньте где еще его можно почитать, друзьям не успел скинуть.
                                  0
                                  Добрый день! К сожалению, на Хабр пост не вернется. Но для Вас я загрузил его на Яндекс. Спасибо за Ваш интерес!
                                    0
                                    Неплохое дополнение для Кеплеровых бочек.
                                      +2

                                      Заинтересовался формулой для формы яйца, мне она показалась недостаточно точной.
                                      Как почти всегда кто-то уже провёл исследование.
                                      http://www.mathematische-basteleien.de/eggcurves.htm

                                        +1
                                        Добрый день! Посмотрел эту статью. Чудесно и научно. Жаль, что она попалась мне на глаза уже после моей публикации.
                                          0

                                          Да тут сожалеть вовсе не о чем. Ваша статья то очень хороша сама по себе.
                                          Читал с удовольствием, поэтому и начал копать дальше.
                                          Сам неоднократно велосипедил, так что вполне понимаю и разделяю ощущения.

                                            0
                                            Здравствуйте! Плюсик Вам в карму! Спасибо за поддержку!
                                      0
                                      Это восхитительно.
                                      Если бы не такие, как вы, мы бы сидели в пещерах и ели сырое мясо.

                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                  Самое читаемое