Я использую 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"}
]
},
в пользовательских сочетаниях клавиш (из настроек) вы получаете то, что просили.
Что касается подсветки синтаксиса, то это можно сделать, но нужно изменить файл .tmLanguage
LaTeXing, что сложнее и может потенциально сломаться при обновлениях пакета. Идея заключается в том, чтобы назначить string
область действия параметру \enquote
.