TeXnicCenter 中令人困惑的代码自动完成功能会产生双重 \begin

TeXnicCenter 中令人困惑的代码自动完成功能会产生双重 \begin

我有在 NetBeans 中编写 Python 程序的经验,使用Ctrl+Space或 的代码提示Tab非常容易。以下是我在 TeXnicCenter 中使用代码提示的经验:

当我输入以下内容时:

\begin{d

然后我将会弹出一个窗口,上面写着:

\开始{文档}

\结束{文档}

这时我急切地按下了Ctrl+ Space。但令我沮丧的是,我得到了以下信息:

\begin{\begin{document}

\end{document}

关于如何在 TeXnicCenter 中使用代码提示/代码完成有什么提示吗?

答案1

开始只输入环境的名称,例如docu,按代码完成快捷键,TexnicCenter 将使用\begin和适当的括号创建它。一开始我也被这个绊倒了,但显然它应该可以节省更多的打字时间。

答案2

这是一项功能。为了节省输入,TeXnicCenter 还会\begin{在环境完成时插入。如果您不知道,这可能会让您感到困惑。有了这些知识,它应该很容易使用,正如 mindcorrosive 所说。

不过,如果你愿意,你可以改变这种行为。为此,转到 TeXnicCenter 目录(C:\Program Files\TeXnicCenter例如),切换到子目录Packages并打开文件 TeX.xml。它包含以下几行:

    <lxEnvironment name="document"
        desc="Starts a new document"
        expafter="}&#xA;&#xA;\end{document}" 
        expbefore="\begin{"
    />

如果你将expbefore行改为

        expbefore=""

然后\begin{do会扩展为

\begin{document}

\end{document}

但仅扩展到完整环境的功能do将被替换。我猜你会保留原有的方式,但如果你习惯了其他类型的代码完成,你可以像所述那样调整 TeXnicCenter 的行为。

请注意,您可以.xml在该子文件夹中添加更多文件来扩展代码完成功能。

答案3

仅供参考,Tino Weinkauf 定期在以下网址发布有关 TeXnicCenter 2(目前为 alpha 3)开发的新闻:LaTeX 社区。也许你可以问问他关于这个功能的计划,如果有任何有趣的消息,请在这里添加他的回答。

答案4

修改 .xml 还允许您更改出现的文本。如果您以不同的方式(例如使用 pstool 包)包含图形,这将很有帮助。

在这种情况下,将字段后的 xml exp 更改为:

expafter="}%&#xA;\centering%&#xA;\psfragfig[width=0.8\textwidth]{test_chapter/test1_matlabfrag_20130917T1147_W3H1b}%&#xA;\caption{qwe2}%%&#xA;\label{fig:f1}%%&#xA;%&#xA;\end{figure}"

相关内容