我正在使用 TeXStudio 作为我的编辑器。
当我为自己创建宏时,知道光标是否位于分隔符内(例如,$...$、\[...\])有时会很方便。
TeXStudio 中是否有内置函数可以完成这项工作?我认为编辑器知道这一点,因为分隔符内的代码突出显示不同。
答案1
假设两个分隔符之间没有换行符$
。以下脚本将检查光标是否处于数学模式并选择数学代码。
%SCRIPT
var linenum = cursor.lineNumber();
var colnum = cursor.columnNumber();
var strLine = editor.text(linenum); // get current line
var left = strLine.indexOf("$");
while (left != -1) {
var n = strLine.substring(left + 1).indexOf("$");
if (n !== -1){
var right = left + n + 1;
if (left < colnum && colnum <= right){
cursor.select(linenum, left, linenum, right + 1);
break;
}
var n1 = strLine.substring(right + 1).indexOf("$");
left = (n1 === -1) ? -1 : right + n1 + 1;
} else {
break;
}
}