是否可以自动插入相应的标签至章节、节、小节等?

是否可以自动插入相应的标签至章节、节、小节等?

我想在完成新的章节、节、小节等时使用自动完成功能自动插入标签。本质上,我想覆盖现有的标签以执行以下操作:

假设我输入\chapter{myChapter},我想要一个\label{cha:myChapter}

对于一个部分来说它将是\section{mySection}\label{sec:mySection}

对于本节,\subsection{mySubsection}\label{subsec:mySubsection}

那么,有没有办法修改 TeXStudio 自动完成功能来执行此操作或宏,或者..?

附言:是的,我知道我太懒了。:)

答案1

结构面板中有一个用于结构元素的上下文菜单项“创建标签”。这\label{sec:a-section-title}将为创建\section{A Section Title}。格式不可配置。它始终sec:(也适用于章节)后跟小写连字符版本的标题。

如果需要更多控制,可以为该任务创建脚本。请参阅TeXstudio 手册有关脚本的详细信息以及维基百科页面示例脚本

答案2

使用我自己编写的以下脚本,并根据您的需要进行更改

%SCRIPT
function myfunc(){
linenumber = cursor.lineNumber();
txt = editor.text(linenumber);
ind = txt.search("\{");
ind2 = txt.search("\}")
key = txt.substring(ind+1,ind2)
return "\\section\{"+key+"\}\label\{sec:"+key+"\}";
}

cur = editor.document().cursor(1,0,2000)
for(i = 1;i<100;i++){
editor.replace("\\section\{\w+\}$","",cur,myfunc)
}

相关内容