如何处理ChatGPT的Latex格式和Obsidian与Craft不一致的问题

在之前的文章中,我使用了 Obsidian 的 QuickAdd 来创建一个脚本,自动转换从 ChatGPT 中复制的文本,修复其中的 LaTeX 格式。然而,对于 Craft 这款应用,并没有合适的插件可以使用。

我们可以通过 Raycast 来实现这个功能的统一操作。


创建 Raycast 脚本

首先,我们需要创建一个脚本。

image

接着选择 Bash 模板。

然后,我们编辑这个 Bash 脚本,输入如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash

# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title Copy From ChatGPT
# @raycast.mode silent

# Optional parameters:
# @raycast.icon 🤖
# @raycast.packageName ChatGPT Utils

# Documentation:
# @raycast.description Copy From ChatGPT
# @raycast.author Nansen Li
# @raycast.authorURL nansenli.com

# 获取剪贴板内容
clipboard_content=$(pbpaste)

# 检查是否成功获取内容
if [ -z "$clipboard_content" ]; then
echo "剪贴板为空或无法访问。"
exit 1
fi

# 处理剪贴板内容
modified_content=$(echo "$clipboard_content" | \
sed 's/\\\[/$$/g; s/\\\]/$$/g; s/\\( /$/g; s/ \\\)/$/g')

# 将修改后的内容写回剪贴板
echo "$modified_content" | pbcopy

创建完脚本后,我们还需要将脚本所在的目录添加到 Raycast 中。

image

在这一步中,选择刚刚创建的脚本目录。此时,我们可以在 Script Commands 中看到刚刚创建的脚本。


如何使用

在复制完 ChatGPT 的公式后,打开 Raycast 的面板,找到刚刚的脚本并运行,此时剪贴板中的内容就会被自动修复。接下来,只需将其粘贴到 Obsidian 或 Craft 中即可。