在 TeXnicCenter 自动完成中自定义光标位置

在 TeXnicCenter 自动完成中自定义光标位置

例如,下面的代码math.xml可以实现equation环境的自动完成

<lxEnvironment name="equation" 
        parameters="1" 
        desc="Math environment"
        icon="math.bmp"
        index="10"
        expafter="}&#xA;&#xA;\label{eq:}&#xA;\end{equation}" 
        expbefore="\begin{"/>

这样当我输入equ并点击Ctrl+时Space,以下内容就会自动完成

\begin{equation}

\label{eq:}
\end{equation}

我想确保在自动完成之后,光标停在给定的位置,例如,之后eq:。现在,它停在空行。我无法通过使用 Xml 代码中的参数来更改行为。我正在使用 TeXnicCenter 2.02。

我依稀记得在TeXnicCenter 1中可以实现这种效果,但忘了具体怎么做了。

答案1

嗯,语法的一般规则lxEnvironment似乎如下:

  1. expbefore打印变量的内容(结果为\begin{
  2. equation这里添加了环境的名称。现在我们有:\begin{equation
  3. 变量的内容expafter被添加,并&#xA;更改为换行符。
  4. 最后,似乎在关闭后将光标设置为(第一个?)空白行或更}简单\begin{equation}

给出的完整代码:

    <lxEnvironment name="equation" 
        parameters="1" 
        desc="Math environment"
        icon="math.bmp"
        index="10"
        expafter="}&#xA;&#xA;\label{eq:}&#xA;\end{equation}" 
        expbefore="\begin{"/>

您可以通过将内容更改expbefore为 和expbefore="\begin{equation}&#xA;&#xA;\label{eq:"expafter测试这一点expafter="}&#xA;\end{equation}"。然后您将equation插入到后面...eg:,并且光标停留在空白行的开头。我认为这是在 TeXnicCenter 代码中硬编码的。要更改它,请联系 TeXnicCenter 的支持,位于主页上技术中心

mycommand.xls为了方便测试,您可以创建如下文件:

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<lxCollection version="1" xmlns:txclxp="http://schemas.ToolsCenter.org/TeXnicCenter/LaTeXCommands.xsd">
    <lxPackage name="username" 
        path="" 
        desc="My commands" 
    >
  <lxEnvironment name="testerle" 
            parameters="0" 
            desc="Math environment"
            icon="math.bmp"
            index="10"
            expafter="}&#xA;\end{equation}" 
            expbefore="\begin{equation}&#xA;&#xA;\label{eq:"/>
    </lxPackage>
</lxCollection>
<!-- $Id$ -->
<!-- 
    $Log: username.xml,v $
    First version 2016/09/26 21:00:00 username
    no message

-->

并将其复制到 Windows 安装 TeXnicCenter 的系统路径,例如C:\Program Files\TeXnicCenter\Packages(64 位版本)。

重新启动 TeXnicCenter 后(关闭所有 TeXnicCenter 窗口,然后打开一个新窗口),您可以测试现在已加载的新环境testerle(以避免出现实际需要和安装的问题equation)...

相关内容