TeXStudio 在自动关闭括号后覆盖第二个 `\`(`\{\text\}` 变成 `\{\text}`)

TeXStudio 在自动关闭括号后覆盖第二个 `\`(`\{\text\}` 变成 `\{\text}`)

一般来说,我希望 TeXStudio 能够关闭我的括号(包括{}),但是在使用此功能时总会出现同样的问题(尤其是在数学模式下):假设我想写一些类似的东西,$\{\hfill\}$TeXStudio 总是忽略第二个括号\(因为它在输入的过程中覆盖了它)并且它生成代码$\{\hfill}$。显然有一个非常简单的解决这个问题的方法(在打开括号后总是放一个空格),但我想知道是否有办法防止第二个括号\被覆盖(在所有情况下),因为我根本不需要这个功能,它总是进入我的工作流程并阻碍我。我已经滚动浏览了属性(也是高级属性),但我还没有找到任何有用的东西(除了在自动完成中停用整个“括号关闭功能”)。

如有任何建议我将非常感激。

答案1

目前您对此无能为力。唯一的可能性是键入完整的表达式,或者删除右括号 ( Ctrl + Shift + K) 的占位符。

自动插入括号最重要的规则是它应该对连续输入透明。例如,如果您输入序列\{sometext\},则编辑器中的文本应该完全相同。

当您在 中输入反斜杠时sometext,此时您处于歧义状态。TXS 无法知道您是想继续输入右括号,还是想输入其他命令。因此,我们能做出的最佳假设是前者。只能稍后从歧义中恢复。目前,TXS 使用最晚的时间来恢复;即,您继续输入,插入反斜杠和将被覆盖的右括号。因此,只有当您确实输入了完整的序列时,才能从歧义假设中恢复。

原则上,可以更早地恢复。只要您h在示例中键入,就可以通过重新插入分隔符的覆盖部分(标记光标的位置)\{\|}来实现。但这需要额外的内部逻辑,目前尚未实现。\{\h|\}|

相关内容