Настройка подсветки синтаксиса Latex

37 views
Skip to first unread message

Vladimir Shabarshin

unread,
Sep 24, 2021, 3:45:09 PM9/24/21
to Колорер по русски
Скажите, пожалуйста, можно ли самому настраивать цвета для элементов языка LaTeX? Смотрел в папке FarColorer, не разобрался.
  •  Например, имена envname некоторых окружений \begin{envname} ... \end{envname} выделяются тёмно-красным цветом, их почти не видно.
  •  А когда на открывающую скобку ставим закрывающую или на \begin ставится свой \end, то в этот момент начало и конец становятся почти чёрными -- не видно. 
  • Прикрепил картинку: 1) окружение center выделено тёмно-красным 2) внизу уравнение идет так же в equation, но курсор стоит на \end -- выделено чёрным, и кажется, что уравнение само по себе написано
latex_coloring.png

Aleksey Dobrunov

unread,
Sep 27, 2021, 12:28:43 PM9/27/21
to color...@googlegroups.com
привет.
Для начала можно попробовать поменять стиль раскраски в настройках плагина (картинка вроде из far). 
Если подходящей темы нет, то уже лезем в структуру схемы. Нужен файл Far Manager\Plugins\FarColorer\base\hrc\common.jar:\scripts\tex.hrc, в нем описаны правила разбора текста.
Сильно в подробности синтаксиса не буду углубляться.  Есть такой старый http://colorer.sourceforge.net/oldies/hrc.html документ. По сути сильно ничего не изменилось. Будет понятна логика работы. 

такой блок
         <block start="/(\\(begin)\s*\{((equation))\})/" end="/(\\(end)\s*\{((equation))\})/x" scheme="Formula" region="Formula" region00="PairStart" region10="PairEnd" region01="Symb" region02="Word" region03="Bracket" region11="Symb" region12="Word" region13="Bracket"/>
раскрашивает  блоки \begin{equation}
а все остальные , не подходящие под шаблоны (ниже/выше equation в hrc файле) блоки разбираются через
         <block start="/(\\begin\s*\{)([\w]+)(\})/" end="/(\\end\s*\{)(\y2)(\})/x" scheme="TeX" region="Bracket"
                region00="PairStart" region10="PairEnd"
                region01="Word" region11="Word"
                region02="LargeBracket" region12="LargeBracket"
                region03="Word" region13="Word"/>

Так вот, каждому найденному региону в тексте будет сопоставлено название, например region="Formula". Как видно из строк выше для одних и тех же областей блока \begin сопоставляются разные названия. Каждое название может иметь синоним/прародитель , например в этом файле <region name="Formula" parent="Insertion"/>. И вот именно для Insertion в hrd файле задается значение цвета.
Сумбурно, но после прочтения ссылки будет понятнее. 
Как итог, чтобы выровнить цвета - нужно поменять названия найденных регионов.
Почему изначально так сделано я не готов сказать. Видимо было удобно стандартные вещи подсвечивать одним цветом, все остальное другим.

Алейсей. 

сб, 25 сент. 2021 г. в 00:45, Vladimir Shabarshin <vladimir....@gmail.com>:
--
Вы получили это сообщение, поскольку подписаны на группу "Колорер по русски".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес colorer_ru+...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/colorer_ru/99966c44-cf9a-47ec-be50-2f77cc2fd62en%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages