Софт: Detexify

24 ноября 2016 (00:00:00)

Что является первейшим инструментом профессионального математика? Ну правильно, LaTeX. Как же иначе общаться с другими математиками и делиться результатами своей работы?!

Это очень мощная система, факт. Например, мой преподавательский блог показывает формулы при помощи движка MathJax, который является JavaScript-надстройкой над движком LaTeX. И практически все выложенные там оффлайн-материалы подготовлены при помощи LaTeX… но речь сейчас не об этом.

Пользование детищем Дональда Кнута и Лесли Лэмпорта — это, по сути, программистский подход. Который требует помнить команды форматирования формул и мнемоники математических символов. И если с первым особых проблем не возникает — пару раз попользовался и навсегда отложилось в голове, это как типовые фразы нового языка освоить, — то со вторым всё несколько интереснее.

Потому что много их, математических символов. И очень много. И далеко не все они реализованы в рамках стандартных средств системы.

Вот, например, интеграл по замкнутой поверхности. Его мнемонику я помню — чего ж не помнить-то? Базовая мнемоника интеграла — это «int», ещё одна буква «i» добавляет второй знак интеграла (поверхность у нас является 2-многообразием), буква «o» накладывает на них окружность (символизирующую замкнутость поверхности) — получается «oiint». А ещё я помню, что это не стандартная мнемоника, для её использования нужно подключать какой-то пакет. Какой? А вот это с ходу не помню.

И вот совсем недавно наткнулся я на очень любопытный веб-сервис, называющийся Detexify. Идея его следующая: вы от руки вписываете в квадратик на веб-странице математический символ, а сервис пытается его распознать и сообщает вам нужную LaTeX-мнемонику. Если символ не из числа стандартных, то к сообщению добавляется информация о требуемом пакете. Для описанного выше примера это выглядит вот так:

Находится сервис вот здесь. Автор сделал на основе того же алгоритма ещё и приложение под MacOS… ну, тут ничего прокомментировать не могу. Хотя, на мой взгляд, ставить себе такое приложение большого смысла нет — не столь уж часто подобные потребности возникают.

Как можно видеть, сервис предлагает несколько вариантов из числа наиболее похожих на предложенную ему загогулину. И здесь возникает вполне естественный исследовательский зуд.

Ну хорошо, парный знак интеграла с окружностью на нём — это очень легко распознаваемый символ. А как быть со значками похитрее? Я попробовал посмотреть на свои математические рукописания глазами постороннего человека и пришёл к выводу, что наиболее коряво в моём исполнении выглядят две буквы: греческая «каппа» и еврейский «алеф».

С «каппой» сервис справился не без труда, но тут его винить нельзя. Некрасиво я её пишу. «Каппа» в моём исполнении выглядит страшненько и очень даже похожа на лигатуру «æ» из ряда европейских языков. Чего и было отмечено:

С «алефом» же получилось на удивление хорошо, сервис распознал мою загогулину влёт, к полному моему сюрпризу. Хотя эту букву (весьма распространённую в теории множеств) практически никто не умеет толком писать от руки, и сам я не исключение:

Так что в целом данный проект можно охарактеризовать как вполне рабочую, интересную и в определённых ситуациях весьма полезную штуку. В закладки, однозначно.