我正在寻找一种在 macOS 上创建系统范围的快捷方式的方法,以便使用一些 LaTeX 宏(例如 {} 或 \emph{},但我尤其对创建一些自定义宏感兴趣)来包装选定的文本。
我知道 TeXShop 等编辑器可以做到这一点,但我想创建一个服务,然后可以在“系统偏好设置”中为其分配一个快捷方式,该快捷方式可在任何应用程序中换行(至少是使用标准 Mac 文本处理的应用程序)。有人能给我指出正确的方向吗?
答案1
我建议你这个答案在 Apple Stack Exchange 网站上了解如何创建替换文本的服务。
除了发布在那里的脚本之外sed
,您还可以使用以下内容来\emph{…}
环绕文本:
IFS='' echo -n '\emph{'"`cat`"'}'
请注意谨慎使用引号:'\emph{'
和中的单引号'}'
确保其中的所有字符都按字面意思理解,而cat
中间反引号周围的双引号则允许反引号发挥作用。首字母IFS=''
表示bash
不要在空格、制表符和换行符上拆分文本。
如果需要在插入的文本中使用单引号,则需要一个棘手的构造:类似于'fo'\''c'\''sle'
将扩展为fo'c'sle
。