如何使用 WinEdt 快速输入数学模式分隔符($$)?

如何使用 WinEdt 快速输入数学模式分隔符($$)?

就像$6/8f=2/8f + 4/8f$。原谅我的懒惰,我不想反复输入$$。那么,是否有任何快捷键或类似的东西可以帮助我立即输入$$,或者选择字母并单击即可更改AAA$AAA$

答案1

WinEdt 中没有预定义的快捷方式。

无论如何,您都可以添加一个,例如Ctrl+J在其他地方未使用的一个。

要执行此操作(假设您使用的是版本 7 或更高版本),请转到“选项”->“选项界面”,然后在“菜单和工具栏”分支中双击“主菜单”。将打开该文件的本地副本MainMenu.ini

此时,找到项目

ITEM="$...$"
  CAPTION="$...$"
  IMAGE="Omega"
  MACRO="IfSel(2,'>',!'SetSel(0);');InsLabel('','$','$');"
  REQ_DOCUMENT=1

并添加行

  SHORTCUT="16458::Ctrl+J"

所以

ITEM="$...$"
  CAPTION="$...$"
  IMAGE="Omega"
  MACRO="IfSel(2,'>',!'SetSel(0);');InsLabel('','$','$');"
  SHORTCUT="16458::Ctrl+J"
  REQ_DOCUMENT=1

现在按下Shift+Ctrl+F9以合并更改,您就完成了。

正如您在“插入”->“LaTeX”菜单中看到的,现在“$..$”项有了正确的快捷方式。

在此处输入图片描述


如果您还希望工具栏中有一个与该命令关联的按钮,请执行以下操作。

在“选项界面”的同一分支中,双击“工具栏”。Toolbar.ini将打开该文件的本地副本。

现在找到行

BUTTON="Emphasize_(Italic)"

并在它之前插入行

BUTTON="$...$"

与以前一样,按下Shift+Ctrl+F9以合并更改。

这是您的工具栏按钮:

在此处输入图片描述

答案2

另一个解决方案是使用以下宏,该宏受到字体宏的很大启发:

BeginGroup;  
IfSel('0','=',>  
  'SelWord(1);>  
   IfSel(''0'',''='',>  
         ''Ins("$  $");>  
           PreviousBullet;'',>  
         ''InsLabel(""," $ "," $ ")'');',>    
  'InsLabel(""," $ "," $ ");');  
EndGroup;  
End;

即存储在 中%b\Local\macros\,例如insmath.edt。然后,向 MainMenu.ini 中的 SHORTCUTS 菜单添加一个项目,并找到以下行: END="Shortcuts"。在此行上方添加该项目:

ITEM="InsertSel $ $"
  MACRO="Exe('%b\Local\macros\insmath.edt')"
  SHORTCUT="16570::Ctrl+$"
  REQ_DOCUMENT=1  

它的工作是在选择的两侧插入一个 $ $ 对,如果没有选择,则首先选择最接近的单词。

END="SelectedPopup"您还可以在 PopupMenus.ini 中的行 上方添加两行:

ITEM="Insert $  $"
  MACRO="[InsLabel('','$ ',' $')]"

右键单击选定的文本即可访问此菜单项。

如果您只想排版 $ $并获取其中的光标,只需一个键,您就可以在 ActiveStrings.ini 末尾添加以下行,使 $ 成为一个活动字符串:

STRING="$"  
  START_FILTER="~\"  
  AFTER=0  
  ENABLED=1  
  MODE_FILTER="TeX"  
  MACRO="[SelCharLeft;Ins(' $  $');PreviousBullet;]"

现在$是一个快捷方式,前提是你处于 TeX 模式并且没有键入。据我所知,除了进入内联数学模式之外,\$没有其他情况可以键入其他内容。$

当然,您必须将更改合并到每个修改后的 .ini 文件中(在选项界面中加载当前脚本)。

相关内容