Использование Sublime Text для обеспечения одного предложения в строке в документах LaTeX

Цель состоит в том, чтобы принять третий путь --- a.k.a. используя семантические переводы строк. Это включает в себя ввод одного предложения на строку файла TeX. Это упрощает использование систем управления версиями при работе с TeX файлами и другими текстовыми файлами. (Аналогичная рекомендация была сделана в ответ на этот вопрос.)

Конечно, я мог вручную вставить разрыв строки в конце каждого предложения. Однако это приведет к вредным привычкам (например, при наборе слов на строку при написании писем). Поэтому я ищу альтернативный способ реализации этого.

Одним из решений для тех, кто использует Sublime Text, является использование ST keybindings. По сути, это превратило бы пробел в комбинацию клавиш для script, которая будет

  • проверьте, предшествует ли это концу предложения, и
  • если это так, вставьте разрыв строки.

Вот соответствующий фрагмент:

{ "keys": [" "],
        "context":  [
                {"key": "selector", "operator": "equal", "operand": "text.tex.latex"},
                {"key": "preceding_text", "operator": "regex_match", "operand": "(^.+\\.$)|(^.+\\?$)|(^.+\\!$)|(^.+\\.+\\)$)"},
                {"key": "preceding_text", "operator": "not_regex_match", "operand": "(^.*\\\\ex\\.$)|(^.*\\\\[abz]\\.$)"},
                {"key": "preceding_text", "operator": "not_regex_match", "operand": "(^.*[Cc]f\\.$)|(^.*\\b[Pp]+\\.$)|(^.*etc\\.$)|(^.*\\b[A-Z]\\.$)|(^\\w\\.$)|(^.*M[sr]\\.$)|(^.*Mrs\\.$)"}
                ],
        "command": "insert", "args": {"characters": " %\n"}
    }

Я добавляю это к Sublime/Packages/User/Default (OSX).sublime-keymap и, похоже, делает трюк.

Предполагается, что фрагмент будет искать то, что предшествует пробелу, и дать вам соответствие, если у вас есть строка, которая заканчивается одним из следующих:

  • период,
  • восклицательный знак,
  • вопросительный знак,
  • закрывающая скобка, которой предшествует период.

Однако он проигнорирует строки, заканчивающиеся на период, если им предшествует одно из следующего:

  • '\ ex', '\ a', '\ b', '\ z' (это значит, что можно использовать пакет linguex),
  • 'cf', 'Cf',
  • 'p', 'pp', 'P',
  • 'и т.д.
  • 'Mr', 'Mrs', 'Ms', 'Dr',
  • Отдельные заглавные буквы (для использования инициалов в предложении).

Мне интересно узнать, есть ли другие вещи, которые я должен добавить в этот список ( "Там же", я полагаю, это будет один).

Мне также интересно, есть ли какие-нибудь менее неуклюжие решения этой проблемы.