Используйте общие кавычки латекса с csquote во французском режиме и сохраняйте особое выделение в SublimeText

Используйте общие кавычки латекса с csquote во французском режиме и сохраняйте особое выделение в SublimeText

Я использую Sublime Text3 с Latexing и ищу информацию о том, можно ли автоматически заменить во время компиляции обычную кавычку для latex ''mytext""на\enquote{}

Это кажется глупым, но, а) если я хочу отобразить французские кавычки, а не английские кавычки "", мне нужно использовать csquote. б) Если я использую csquote, мне нужно написать \enquote{}и, следовательно,я потерял красивое выделениедля этого конкретного синтаксиса''mytext""

Итак, я пытаюсь сохранить красивую подсветку с пакетом csquotes во французском режиме. Как вы думаете, это возможно?

решение1

Если вы посмотрите, Preferences > Package Settings > LaTeXing > Keybindings - Defaultто найдете такую ​​привязку клавиш:

{
    "keys": ["\""],
    "command": "insert_snippet", "args": {"contents": "``$0''"},
    "context": [
      {"key": "eol_selector", "match_all": true, "operand": "comment.line.percentage", "operator": "not_equal"},
      {"key": "selection_empty", "match_all": true, "operand": true, "operator": "equal"},
      {"key": "selector", "operand": "text.tex.latex", "operator": "equal"},
      {"key": "selector", "operand": "source.r", "operator": "not_equal"},
      {"key": "selector", "operand": "meta.block.parameters.knitr", "operator": "not_equal"},
      {"key": "selector", "operand": "meta.block.parameters.knitr", "operator": "not_equal"},
      {"key": "setting.auto_match_enabled", "operand": true, "operator": "equal"}
    ]
},

который отвечает за автозаполнение.

Если вы поставите следующее

{
    "keys": ["\""],
    "command": "insert_snippet", "args": {"contents": "\\enquote{$0}"},
    "context": [
      {"key": "eol_selector", "match_all": true, "operand": "comment.line.percentage", "operator": "not_equal"},
      {"key": "selection_empty", "match_all": true, "operand": true, "operator": "equal"},
      {"key": "selector", "operand": "text.tex.latex", "operator": "equal"},
      {"key": "selector", "operand": "source.r", "operator": "not_equal"},
      {"key": "selector", "operand": "meta.block.parameters.knitr", "operator": "not_equal"},
      {"key": "selector", "operand": "meta.block.parameters.knitr", "operator": "not_equal"},
      {"key": "setting.auto_match_enabled", "operand": true, "operator": "equal"}
    ]
},

в пользовательских сочетаниях клавиш (из настроек) вы получаете то, что просили.

Что касается подсветки синтаксиса, то это можно сделать, но нужно изменить файл .tmLanguageLaTeXing, что сложнее и может потенциально сломаться при обновлениях пакета. Идея заключается в том, чтобы назначить stringобласть действия параметру \enquote.

Связанный контент