就像$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 文件中(在选项界面中加载当前脚本)。