1.联动方案
方案1:
zotero插件:Better BibTex for Zotero 与思源笔记插件:文献引用siyuan-plugin-citation插件配合使用
通过思源的API token进行通讯
这个方案的优点是安装运行稳定,缺点是智能插入引用和笔记,不能列出文献列表。虽然后续可以导出Word继续修改参考文献,与word中zotero插件联用,但是比较麻烦,还要依次修改样式,这样还不如直接在word中进行编辑写作,简单稳定可靠。
方案2:
zotero插件:debug-bridge插件 与思源笔记插件:运行JS脚本 siyuan-plugin-jsrunner插件配合使用,通过quicker动作调用联动。
debug-bridge插件实际这是Better BibTex for Zotero的一个测试版本,是一个Zotero开发团队内部用于测试和调试的临时版本,不像v5.1.xx这样的标准稳定版本面向所有用户发布。它的特殊命名方式可以避免用户误认为这是一个正式版本。
从github.com/retorquere/… 最新版插件 (Zotero 7)。
菜单Tools—>Developer—>Run Javascript,运行如下代码(其中CTT为运行外部代码密码):
Zotero.Prefs.set("extensions.zotero.debug-bridge.password","CTT",true);
不用管,代码没返回,结果都会显示此值.其中CTT为思源笔记的密码,debug-bridge插件密码根据教程对debug-bridge插件进行设置时设定的密码,教程中默认为"CTT",方案1中的siyuan-plugin-citation插件也默认为此密码。
优点,功能多,扩展多,还可以扩展与word联动,最终的呈现效果好。缺点是配置太过复杂,稳定性不高,目前还没有调试成功。目前可以在思源笔记中插入作者/年份格式的引用,并能列出参考文献列表,但是每次操作都会提示“debug-bridgei通讯失败。若Zotero已打开,请先安装debug-bridge插件!”作者回复是依赖包的问题,通过下载覆盖依赖包依然会出现相同的问题。
目前来说确定以下方案执行:
当前能用的就是会弹出错误提示的插件,所有思源笔记相关的动作都用不了,大部分跟无法获取Block ID有关,已经把所有需要的环境:C代码片段、运行Javascript代码、运行Python代码都配置了。将zotero更换为zotero7,都没有解决问题,也给插件和作者留过言但是没有回复,查看了相关的评论和回答也都没有解决问题。还通过网络找了定制quicker动作的程序员,但是他们都没有用过zotero和思源笔记很难入手,也不好沟通相关问题。已经折腾了一个星期了,搞不定。zotero和思源笔记以及两个软件相关插件的版本关联问题、quicker动作代码及其中需要根据自己电脑自定义的一些内容太过复杂、不确定。目前智能搁置这个参考文献引用的问题,采用以下过渡方案,后续有插件或软件升级再说。希望后期能够做到zotero——思源笔记——word之间的有效联动,能够有简单稳定可靠的插件和方案。
网络文章用思源笔记
使用过程中提示错误不用管
写论文在word里面写
插入参考文献
插入笔记,笔记的整理和转写在zotero的BBTnote里面完成
2.Quicker相关
Quicker是一个Windows平台上的生产力软件,它提供了一系列便捷的功能来提高工作效率。
Quicker的主要功能包括:
启动器:提供一个启动窗口,可以快速启动软件和打开文件。
文本替换:在任意程序中快速替换、修改文本。
窗口管理:保存和恢复窗口布局,以及其他窗口管理功能。
剪贴板管理:保存剪贴板历史记录,搜索剪贴内容。
宏记录:录制并回放鼠标、键盘操作。
内容搜索:在打开的文件和程序中快速搜索文本内容。
时间统计:统计使用不同程序的时间。
注释编辑:快速添加各类源代码注释模板。
格式转换:支持多种格式互相转换。
quicker高级功能
运行C代码片段:.NET环境
运行Javascript代码:Javascript环境
运行Python代码:Python环境
配置好之后都要添加到 PATH 环境变量
后续再继续学习如何用quicker提高工作效率
配置C代码片段:.NET环境
直接下载安装.NET
配置JavaScript 代码的运行环境
Better BibTex for Zotero可以在zotero外调用JavaScript 代码,所以需要先配置JavaScript 的运行环境。
需要用到Node.js 和 npm 是两种非常常用的 JavaScript 工具,通常联合使用。
Node.js 是运行 JavaScript 代码的运行环境。它使用 Google 的 V8 引擎在服务器端运行 JavaScript,使 JavaScript 也能用于服务器端编程。
npm 是 Node.js 的包管理器,用于 Node 模块/包的发布、安装和管理。npm 仓库中拥有超过100万个可以复用的 JavaScript 模块/包。
简单来说:
Node.js 提供了在服务器端运行 JS 的环境。
npm 用于下载和管理基于 Node.js 的各种工具、框架和模块包。
两者的关系:
安装 Node.js 时,npm 会默认一起安装。
npm 依赖 Node.js 环境来运行。
大多数 Node.js 项目会通过 npm 安装依赖的第三方包。
npm 使得开发/使用 Node.js 项目和包变得非常方便。
所以 Node.js 和 npm 通常要配合使用,前者提供 JavaScript 运行时,后者提供包管理,这两个工具在前端开发中非常重要和常用。
配置Python环境
1.什么是Python嵌入版
Python有两个主要的发行版本:CPython和PyPy。
CPython是用C语言实现的标准Python解释器。这个版本被称为CPython,因为它是用C语言写的Python。
CPython有两个子版本:
普通版本:这是我们通常所说的Python解释器,是从python.org下载和安装使用的。它将Python代码编译成字节码,然后由Python虚拟机执行。
嵌入式版本:这是一个可以嵌入到C/C++程序中的Python解释器,允许在程序内执行Python代码。它提供了一系列C API函数,通过这些函数你可以初始化Python,执行代码,调用Python函数等。嵌入式Python常用于将Python集成到C/C++项目中,或者在没有完整Python环境的平台上运行Python代码。
相比普通版本,嵌入式Python的主要特点是:
更小巧轻量,可以自定义需要的模块和功能,适合资源有限的平台
可以嵌入到C/C++项目中,与其他语言集成
需要通过C API来调用Python,使用上比普通版本复杂
PyPy是另一个Python解释器,主要是用Python语言自己实现的。它与CPython相比,通常可以提高Python代码的执行速度。
所以综上,两者的主要区别在于:
普通版本是标准的Python解释器,功能完整,使用方便
嵌入式版本是可以嵌入到C/C++项目中的精简版Python,使用上更复杂,但可以自定义所需的功能。
2.get-pip.py是什么?
get-pip.py是一个Python安装脚本,用于在系统上安装或升级pip。
pip是Python的包管理工具,用于安装、卸载和管理Python包。使用pip可以方便地下载、安装、升级、卸载PyPI(Python Package Index)上的海量开源软件包。
get-pip.py脚本的主要作用有:
自动下载pip安装包并安装:get-pip.py会从PyPI下载对应平台和Python版本的pip安装包,并自动安装pip。
升级旧版本pip:如果系统已安装旧版本pip,get-pip.py可以将其升级到最新版本。
支持多种平台和Python版本:get-pip.py脚本适用于主流的Linux/Unix、macOS和Windows系统,并兼容Python 2.6到Python 3.x版本。
简化pip安装过程:使用get-pip.py只需要一行命令,不需要手动下载安装包,方便快捷。
使用方法为:
python get-pip.py
或指定Python版本:
python2.7 get-pip.py
python3.6 get-pip.py
get-pip.py使得pip安装变得非常简单方便,是Python环境配置的重要工具。它由Python官方提供并维护,使用安全可靠。建议在配置Python环境时首先使用get-pip.py来安装pip。
手动配置python基本运行环境,步骤如下:
下载Python3.11可嵌入版(www.python.org/ftp/python/…
下载get-pip.py(bootstrap.pypa.io/get-pip.py)…
将C:\Users\Administrator\Documents\Quicker\Minipython\Scripts路径添加到系统的PATH环境变量中。
在Windows系统下,可以通过以下步骤将目录添加到PATH环境变量中:
注:也可以通过setx命令在cmd中临时设置Path变量,但重启后会失效,不如永久修改环境变量值更好。
这个步骤将使指定的pip脚本目录被添加到PATH中,这样就可以在任何目录下直接运行pip命令了。环境变量修改后需要重新打开命令提示符或重启计算机才会完全生效。
打开控制面板,点击系统和安全 - 系统 - 高级系统设置
点击环境变量按钮打开环境变量对话框
在系统变量中找到Path变量,双击编辑
在变量值文本框末尾添加;C:\Users\Administrator\Documents\Quicker\Minipython\Scripts
注意每个路径之间用分号隔开
点击确定保存关闭对话框
打开新的命令提示符窗口,运行pip --version来验证pip命令是否可用
如果未生效,可以重新启动cmd或计算机,环境变量修改才会全局生效
并运行"C:\Users\Administrator\Documents\Quicker\Minipython\python.exe" "C:\Users\Administrator\Documents\Quicker\Minipython\get-pip.py"安装 pip, setuptools, wheel等包,配置基本运行环境
记事本打开C:\Users\Administrator\Documents\Quicker\Minipython\python311._pth文件,文件尾部加上下面代码,并保存关闭。
import site
.\Lib
.\Lib\site-packages
打开命令行,运行"C:\Users\Administrator\Documents\Quicker\Minipython\Scripts\pip.exe" config set global.index-url "pypi.tuna.tsinghua.edu.cn/simple"变更pi…
运行动作。第1次运行,需要等待动作安装工具包。
pythonnet
pythonnet的主要作用是在Python中调用.NET的功能。它是Python语言访问.NET框架的桥梁。
具体来说,pythonnet可以提供以下功能:
在Python代码中实例化.NET对象,调用.NET类库中的方法。
将Python代码转换成.NET可调用的组件,比如封装成DLL文件。
将.NET组件导入Python,调用其中的方法如同调用Python模块一样。
在Python中处理.NET事件,或者在.NET中处理Python事件。
在Python代码中使用.NET的GUI框架来构建图形界面应用程序。
接入Python机器学习等库,通过.NET框架构建桌面或web应用程序。
在IronPython中使用pythonnet库访问.NET类库。
通过.NET框架在Python中调用unmanaged C/C++代码。
支持Python和.NET代码之间的相互转换。
支持Mono平台,可以在Linux/Mac系统上运行pythonnet程序。
总之,pythonnet可以 seen Python和.NET互操作,充分利用两者的优势,是Python语言访问.NET平台的重要桥梁。对于需要跨平台或需要GUI应用等场景都很有用。
pythonnet的安装方法
确保你已经安装了Python和pip。同时Windows环境下需要安装.NET Framework。
打开命令提示符或终端
输入:cd C:\Users\Administrator\Documents\Quicker\Minipython 进入Python的安装目录
直接运行python.exe进入交互式环境
在交互式环境中输入:import clr
如果导入成功,则说明Pythonnet安装正确。
如果失败,会显示模块未找到的错误,则需要检查Pythonnet是否正确安装。