easyliter


Nameeasyliter JSON
Version 1.0.5 PyPI version JSON
download
home_pagehttps://github.com/Psycoy/EasyLiterature
SummaryEasyLiterature is a opensourced, Python-based command line tool for automatic literature management. Simply list the paper titles (or ids) you want to read in a markdown file and it will automatically collect and refine its information in the markdown file, download the pdf to your local machine, and link the pdf to your paper in the markdown file. You can forever keep your notes within the pdfs and mds on your local machine or cloud driver.
upload_time2023-11-04 12:12:29
maintainer
docs_urlNone
authorOliver
requires_python
licenseAGPLv3
keywords title bibtex arxiv doi science scientific-journals
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # EasyLiterature
**EasyLiterature** is a Python-based command line tool for automatic literature management. Welcome star or contribute!

Simply list the paper titles (or ids) you want to read in a markdown file and it will automatically `collect and refine its information in the markdown file`, `download the pdf to your local machine`, and `link the pdf to your paper in the markdown file`. You can forever keep your notes within the pdfs and mds on your local machine or cloud driver.

<br>

**A demo of the entries in your markdown note:**

<img src="figures/demo.png" alt="demo" style="zoom:90%;" />

<br>

Inspired by [Mu Li](https://www.bilibili.com/video/BV1nA41157y4), adapted from [autoLiterature](https://github.com/wilmerwang/autoLiterature). 
Compared to autoLiterature, **EasyLiterature** is much easier to use and supports a wider range of features, such as `title-based paper match`, `paper search and download on Google Scholar and DLBP` (the two main sites for scholars), `citation statistics`, `mannual information update assitant`, etc. **EasyLiterature covers almost all papers thanks to the support of Google Scholar and DLBP!**

___

**中文版介绍:**

**EasyLiterature** 是一个基于python的命令行文件管理工具,永久开源,欢迎star或contribute。

之前沐神(李沐)做过一期视频讲如何阅读文献和整理,我觉得讲得非常好,[链接](https://www.bilibili.com/video/BV1nA41157y4)。EasyLiterature基本基于沐神所述的这一流程实现,并丰富了其他功能。

简单来说,在 Markdown 文件中简单列出想要阅读的论文标题(或ID),它会自动收集并在Markdown文件中完善相关信息,下载论文的PDF到本地机器,并将PDF链接到Markdown文件中的论文。通过这样的流程,我们可以实现永久保存实时编辑的论文PDF和Markdown中的笔记,无论是在本地机器还是云端,并且方便论文一站式分类和管理。

<br>

**markdown文件中的论文信息条目(示意):**

<img src="figures/demo.png" alt="demo" style="zoom:90%;" />

<br>

与之前的实现相比,EasyLiterature兼容之前实现的所有功能,并且支持更多功能,比如:1. 基于标题的论文匹配;2. Google Scholar和DLBP(全球两大主要paper数据库)的论文搜索和下载;3. 引用统计;4. 手动信息更新助手;5. 容错搜索匹配;等等。之前的实现由于数据库的限制,很多文章都找不到。**EasyLiterature得益于增加了Google Scholar和DLBP的支持,几乎覆盖了所有论文!**

<br><br>

## 1. A Simple Usage Example (一个简单的使用示例)
1. Have the python installed on your local machine (preferably >= 3.7).
2. Run `pip install easyliter` in your command line to install.
3. Prepare your markdown note file (e.g., `Note.md`). <br>**Attention:** You may need to download a markdown editor to create/edit this file. I am using [Typora](https://typora.io/), which is not totally free. You can also choose other alternatives.
4. List the formated papers titles in your markdown note file according to the Section 4 below (Recognition Rules). e.g.,<br>
  \- {{BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.}}<br>
  \- {{Xlnet: Generalized autoregressive pretraining for language understanding.}}<br>
  **(pay attention to the space after ‘\-’)** 
5. Create a folder to store the downloaded pdfs (e.g., `PDFs/`).
6. Run `easyliter -i <path to your md file> -o <path to your pdf folder>`. 
<br> (Replace `<path to your md file>` with the actual path to your markdown note file, `<path to your pdf folder>` with the actual path to your pdf folder)
<br>e.g., `easyliter -i "/home/Note.md" -o "/home/PDFs"`
7. Your should able to see that the updated information and downloaded pdf files if no error is reported.
8. This is a simple and common use case. For other features, please read the below sections carefully and follow the instructions.

<br>

**中文版示例**

1. 在您的本地机器上安装 Python(版本 >= 3.7)。
2. 在命令行中运行 `pip install easyliter` 进行安装。
3. 准备您的 markdown 笔记文件(例如,`Note.md`)。<br>**注意**: 您需要下载一个 markdown 编辑器来创建/编辑此文件。我使用的是[Typora](https://typora.io/),它不是完全免费的。您也可以选择其他替代产品。
4. 根据下面第4节(识别规则)在您的 markdown 笔记文件中列出格式化的论文标题。例如:<br>
\- {{BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.}}<br>
  \- {{Xlnet: Generalized autoregressive pretraining for language understanding.}}<br>
  **(注意‘\-’后的空格)** 
5. 创建一个文件夹来存储下载的 pdf 文件(例如,`PDFs/`)。
6. 运行 `easyliter -i <您的 md 文件路径> -o <您的 pdf 文件夹路径>`。
<br>**注意**:将 `<您的 md 文件路径>` 替换为您 markdown 笔记文件的实际路径,将 `<您的 pdf 文件夹路径>` 替换为您 pdf 文件夹的实际路径。
<br>例如:`easyliter -i "/home/Note.md" -o "/home/PDFs"`
7. 如果没有报错,您应该能够看到更新的信息和下载的 pdf 文件。
8. 这是一个简单、常用的使用案例。有关其他功能或使用情形,请仔细阅读以下部分并按照说明操作。

## 2. Install (安装)
### pip install
```bash 
pip install easyliter
or
pip3 install easyliter
```

### install from source(to get the up-to-date version)
```bash
git clone https://github.com/Psycoy/EasyLiterature.git
cd EasyLiterature
pip install -e .
```

## 3. Arguments(使用参数)
```bash
easyliter

optional arguments:

  -h, --help            show this help message and exit
  
  -i INPUT, --input INPUT
  The path to the note file or note file folder.

  -o OUTPUT, --output OUTPUT
  Folder path to save paper pdfs and images. NOTE: MUST BE FOLDER.

  -p PROXY, --proxy PROXY
  The proxy. e.g. 127.0.0.1:1080. If this argument is specified, the google scholar will automatically use a free proxy (not necessarily using the specified proxy address). To use other proxies for google scholar, specify the -gp option. If you want to set up the proxies mannually, change the behaviour in GoogleScholar.set_proxy(). See more at https://scholarly.readthedocs.io/en/stable/ProxyGenerator.html.

  -gp GPROXY_MODE, --gproxy_mode GPROXY_MODE
  The proxy type used for scholarly. e.g., free, single, Scraper. (Note: 1. <free> will automatically choose a free proxy address to use, which is free, but may not be fast. 2. <single> will use the proxy address you specify. 3. <Scraper> is not free to use and need to buy the api key.).

  -d, --delete
  Delete unreferenced attachments in notes. Use with caution, when used, -i must be a folder path including all notes.

  -m MIGRATION, --migration MIGRATION
  The pdf folder path you want to reconnect to.
```


## 4. Recognition Rules (识别规则):
- If the notes file contains `- {paper_id}`, it will download the information of that literature, but not the PDF.
- If the notes file contains `- {{paper_id}}`, it will download both the information of that literature and the PDF.

- Note: `paper_id` supports `article title`, published articles' `doi`, and pre-published articles' `arvix_id`, `biorvix_id`, and `medrvix_id`. It will try all the possible sources online.

___

- 当笔记文件中包含 `- {paper_id}`时候,会下载该文献的信息,不下载PDF。
- 当笔记文件中包含 `- {{paper_id}}`时候,会下载该文献的信息,以及PDF。

- 注意:`paper_id` 支持`文章标题`,已发表文章的`doi`, 预发布文章的`arvix_id`, `biorvix_id`, `medrvix_id`。EasyLiterature会从多个数据库自动识别需要收集和下载的论文,几乎覆盖所有目前存在的论文。


## 5. Usage(使用)
### 5.1. Basic Usage(基本使用)
Assuming `input` is the folder path of the literature notes (.md files) and `output` is the folder path where you want to save the PDFs.

假设`input`为文献笔记(md文件)的文件夹路径,`output`为要保存PDF的文件夹路径。

```bash
# Update all md files in the input folder
# 更新input文件夹下所有md文件
easyliter -i input -o output 

# Only update the input/example.md file
# 仅更新input/example.md文件
easyliter -i input/example.md -o output  

# -d is an optional flag, when -i is a folder path, using -d will delete unrelated pdf files in the PDF folder from the literature notes content
# -d 是个可选项,当 -i 是文件夹路径时候,使用 -d 会删除PDF文件夹下和文献笔记内容无关的pdf文件
easyliter -i input -o output -d
```

### 5.2. Migrating Notes and PDF Files(笔记和pdf文件的迁移)
When you need to move the literature notes or the PDF folder, the links to the PDFs in the literature notes might become unusable. You can use `-m` to re-link the PDF files with the literature notes.

当要移动文献笔记或者PDF文件夹的时候,文献笔记中的PDF链接可能会变的无法使用。可以使用`-m`来重新关联PDF文件和文献笔记。

```bash
# Update all md files in the input folder
# 更新input文件夹下所有md文件
easyliter -i input -m movedPDFs/

# Only update the input/example.md file
# 仅更新input/example.md文件
easyliter -i input/example.md -m movedPDFs/  
```

## 6. Note (注意事项)

1. For users from China mainland, the Google Scholar feature may need a VPN to get it work (the citation function is based on the Google Scholar). If you don't have a VPN, some features may be lost.

  - 对于来自中国大陆的用户,Google Scholar相关功能可能需要 VPN 才能正常工作(引用功能基于 Google scholar)。如果没有挂VPN,某些功能可能会丢失,但不完全影响使用。

2. If your Google Scholar is not working (usually caused by too frequent requests of the Google Scholar API), try to set a proxy for it. Check out the help for `-p` and `-gp` options using `easyliter -h`. See more at the 'Using proxies' section of https://scholarly.readthedocs.io/en/stable/quickstart.html.

  - 如果Google Scholar 无法使用(通常由于对Google Scholar API的访问过于频繁),尝试为其设置代理。使用 easyliter -h 查看 -p 和 -gp 选项的帮助信息来设置代理。详见 https://scholarly.readthedocs.io/en/stable/quickstart.html 的 Using proxies部分。

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Psycoy/EasyLiterature",
    "name": "easyliter",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "title,bibtex,arxiv,doi,science,scientific-journals",
    "author": "Oliver",
    "author_email": "olivernova1998@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ec/53/583e2b3fa49ffd9a6959eb8f442a5132d3def0d12fa026c10a7a216e60f9/easyliter-1.0.5.tar.gz",
    "platform": null,
    "description": "# EasyLiterature\n**EasyLiterature** is a Python-based command line tool for automatic literature management. Welcome star or contribute!\n\nSimply list the paper titles (or ids) you want to read in a markdown file and it will automatically `collect and refine its information in the markdown file`, `download the pdf to your local machine`, and `link the pdf to your paper in the markdown file`. You can forever keep your notes within the pdfs and mds on your local machine or cloud driver.\n\n<br>\n\n**A demo of the entries in your markdown note:**\n\n<img src=\"figures/demo.png\" alt=\"demo\" style=\"zoom:90%;\" />\n\n<br>\n\nInspired by [Mu Li](https://www.bilibili.com/video/BV1nA41157y4), adapted from [autoLiterature](https://github.com/wilmerwang/autoLiterature). \nCompared to autoLiterature, **EasyLiterature** is much easier to use and supports a wider range of features, such as `title-based paper match`, `paper search and download on Google Scholar and DLBP` (the two main sites for scholars), `citation statistics`, `mannual information update assitant`, etc. **EasyLiterature covers almost all papers thanks to the support of Google Scholar and DLBP!**\n\n___\n\n**\u4e2d\u6587\u7248\u4ecb\u7ecd\uff1a**\n\n**EasyLiterature** \u662f\u4e00\u4e2a\u57fa\u4e8epython\u7684\u547d\u4ee4\u884c\u6587\u4ef6\u7ba1\u7406\u5de5\u5177\uff0c\u6c38\u4e45\u5f00\u6e90\uff0c\u6b22\u8fcestar\u6216contribute\u3002\n\n\u4e4b\u524d\u6c90\u795e\uff08\u674e\u6c90\uff09\u505a\u8fc7\u4e00\u671f\u89c6\u9891\u8bb2\u5982\u4f55\u9605\u8bfb\u6587\u732e\u548c\u6574\u7406\uff0c\u6211\u89c9\u5f97\u8bb2\u5f97\u975e\u5e38\u597d\uff0c[\u94fe\u63a5](https://www.bilibili.com/video/BV1nA41157y4)\u3002EasyLiterature\u57fa\u672c\u57fa\u4e8e\u6c90\u795e\u6240\u8ff0\u7684\u8fd9\u4e00\u6d41\u7a0b\u5b9e\u73b0\uff0c\u5e76\u4e30\u5bcc\u4e86\u5176\u4ed6\u529f\u80fd\u3002\n\n\u7b80\u5355\u6765\u8bf4\uff0c\u5728 Markdown \u6587\u4ef6\u4e2d\u7b80\u5355\u5217\u51fa\u60f3\u8981\u9605\u8bfb\u7684\u8bba\u6587\u6807\u9898\uff08\u6216ID\uff09\uff0c\u5b83\u4f1a\u81ea\u52a8\u6536\u96c6\u5e76\u5728Markdown\u6587\u4ef6\u4e2d\u5b8c\u5584\u76f8\u5173\u4fe1\u606f\uff0c\u4e0b\u8f7d\u8bba\u6587\u7684PDF\u5230\u672c\u5730\u673a\u5668\uff0c\u5e76\u5c06PDF\u94fe\u63a5\u5230Markdown\u6587\u4ef6\u4e2d\u7684\u8bba\u6587\u3002\u901a\u8fc7\u8fd9\u6837\u7684\u6d41\u7a0b\uff0c\u6211\u4eec\u53ef\u4ee5\u5b9e\u73b0\u6c38\u4e45\u4fdd\u5b58\u5b9e\u65f6\u7f16\u8f91\u7684\u8bba\u6587PDF\u548cMarkdown\u4e2d\u7684\u7b14\u8bb0\uff0c\u65e0\u8bba\u662f\u5728\u672c\u5730\u673a\u5668\u8fd8\u662f\u4e91\u7aef\uff0c\u5e76\u4e14\u65b9\u4fbf\u8bba\u6587\u4e00\u7ad9\u5f0f\u5206\u7c7b\u548c\u7ba1\u7406\u3002\n\n<br>\n\n**markdown\u6587\u4ef6\u4e2d\u7684\u8bba\u6587\u4fe1\u606f\u6761\u76ee\uff08\u793a\u610f\uff09:**\n\n<img src=\"figures/demo.png\" alt=\"demo\" style=\"zoom:90%;\" />\n\n<br>\n\n\u4e0e\u4e4b\u524d\u7684\u5b9e\u73b0\u76f8\u6bd4\uff0cEasyLiterature\u517c\u5bb9\u4e4b\u524d\u5b9e\u73b0\u7684\u6240\u6709\u529f\u80fd\uff0c\u5e76\u4e14\u652f\u6301\u66f4\u591a\u529f\u80fd\uff0c\u6bd4\u5982\uff1a1. \u57fa\u4e8e\u6807\u9898\u7684\u8bba\u6587\u5339\u914d\uff1b2. Google Scholar\u548cDLBP\uff08\u5168\u7403\u4e24\u5927\u4e3b\u8981paper\u6570\u636e\u5e93\uff09\u7684\u8bba\u6587\u641c\u7d22\u548c\u4e0b\u8f7d\uff1b3. \u5f15\u7528\u7edf\u8ba1\uff1b4. \u624b\u52a8\u4fe1\u606f\u66f4\u65b0\u52a9\u624b\uff1b5. \u5bb9\u9519\u641c\u7d22\u5339\u914d\uff1b\u7b49\u7b49\u3002\u4e4b\u524d\u7684\u5b9e\u73b0\u7531\u4e8e\u6570\u636e\u5e93\u7684\u9650\u5236\uff0c\u5f88\u591a\u6587\u7ae0\u90fd\u627e\u4e0d\u5230\u3002**EasyLiterature\u5f97\u76ca\u4e8e\u589e\u52a0\u4e86Google Scholar\u548cDLBP\u7684\u652f\u6301\uff0c\u51e0\u4e4e\u8986\u76d6\u4e86\u6240\u6709\u8bba\u6587!**\n\n<br><br>\n\n## 1. A Simple Usage Example (\u4e00\u4e2a\u7b80\u5355\u7684\u4f7f\u7528\u793a\u4f8b)\n1. Have the python installed on your local machine (preferably >= 3.7).\n2. Run `pip install easyliter` in your command line to install.\n3. Prepare your markdown note file (e.g., `Note.md`). <br>**Attention:** You may need to download a markdown editor to create/edit this file. I am using [Typora](https://typora.io/), which is not totally free. You can also choose other alternatives.\n4. List the formated papers titles in your markdown note file according to the Section 4 below (Recognition Rules). e.g.,<br>\n  \\- {{BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.}}<br>\n  \\- {{Xlnet: Generalized autoregressive pretraining for language understanding.}}<br>\n  **(pay attention to the space after \u2018\\-\u2019)** \n5. Create a folder to store the downloaded pdfs (e.g., `PDFs/`).\n6. Run `easyliter -i <path to your md file> -o <path to your pdf folder>`. \n<br> (Replace `<path to your md file>` with the actual path to your markdown note file, `<path to your pdf folder>` with the actual path to your pdf folder)\n<br>e.g., `easyliter -i \"/home/Note.md\" -o \"/home/PDFs\"`\n7. Your should able to see that the updated information and downloaded pdf files if no error is reported.\n8. This is a simple and common use case. For other features, please read the below sections carefully and follow the instructions.\n\n<br>\n\n**\u4e2d\u6587\u7248\u793a\u4f8b**\n\n1. \u5728\u60a8\u7684\u672c\u5730\u673a\u5668\u4e0a\u5b89\u88c5 Python\uff08\u7248\u672c >= 3.7\uff09\u3002\n2. \u5728\u547d\u4ee4\u884c\u4e2d\u8fd0\u884c `pip install easyliter` \u8fdb\u884c\u5b89\u88c5\u3002\n3. \u51c6\u5907\u60a8\u7684 markdown \u7b14\u8bb0\u6587\u4ef6\uff08\u4f8b\u5982\uff0c`Note.md`\uff09\u3002<br>**\u6ce8\u610f**\uff1a \u60a8\u9700\u8981\u4e0b\u8f7d\u4e00\u4e2a markdown \u7f16\u8f91\u5668\u6765\u521b\u5efa/\u7f16\u8f91\u6b64\u6587\u4ef6\u3002\u6211\u4f7f\u7528\u7684\u662f[Typora](https://typora.io/)\uff0c\u5b83\u4e0d\u662f\u5b8c\u5168\u514d\u8d39\u7684\u3002\u60a8\u4e5f\u53ef\u4ee5\u9009\u62e9\u5176\u4ed6\u66ff\u4ee3\u4ea7\u54c1\u3002\n4. \u6839\u636e\u4e0b\u9762\u7b2c4\u8282\uff08\u8bc6\u522b\u89c4\u5219\uff09\u5728\u60a8\u7684 markdown \u7b14\u8bb0\u6587\u4ef6\u4e2d\u5217\u51fa\u683c\u5f0f\u5316\u7684\u8bba\u6587\u6807\u9898\u3002\u4f8b\u5982\uff1a<br>\n\\- {{BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.}}<br>\n  \\- {{Xlnet: Generalized autoregressive pretraining for language understanding.}}<br>\n  **(\u6ce8\u610f\u2018\\-\u2019\u540e\u7684\u7a7a\u683c)** \n5. \u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939\u6765\u5b58\u50a8\u4e0b\u8f7d\u7684 pdf \u6587\u4ef6\uff08\u4f8b\u5982\uff0c`PDFs/`\uff09\u3002\n6. \u8fd0\u884c `easyliter -i <\u60a8\u7684 md \u6587\u4ef6\u8def\u5f84> -o <\u60a8\u7684 pdf \u6587\u4ef6\u5939\u8def\u5f84>`\u3002\n<br>**\u6ce8\u610f**\uff1a\u5c06 `<\u60a8\u7684 md \u6587\u4ef6\u8def\u5f84>` \u66ff\u6362\u4e3a\u60a8 markdown \u7b14\u8bb0\u6587\u4ef6\u7684\u5b9e\u9645\u8def\u5f84\uff0c\u5c06 `<\u60a8\u7684 pdf \u6587\u4ef6\u5939\u8def\u5f84>` \u66ff\u6362\u4e3a\u60a8 pdf \u6587\u4ef6\u5939\u7684\u5b9e\u9645\u8def\u5f84\u3002\n<br>\u4f8b\u5982\uff1a`easyliter -i \"/home/Note.md\" -o \"/home/PDFs\"`\n7. \u5982\u679c\u6ca1\u6709\u62a5\u9519\uff0c\u60a8\u5e94\u8be5\u80fd\u591f\u770b\u5230\u66f4\u65b0\u7684\u4fe1\u606f\u548c\u4e0b\u8f7d\u7684 pdf \u6587\u4ef6\u3002\n8. \u8fd9\u662f\u4e00\u4e2a\u7b80\u5355\u3001\u5e38\u7528\u7684\u4f7f\u7528\u6848\u4f8b\u3002\u6709\u5173\u5176\u4ed6\u529f\u80fd\u6216\u4f7f\u7528\u60c5\u5f62\uff0c\u8bf7\u4ed4\u7ec6\u9605\u8bfb\u4ee5\u4e0b\u90e8\u5206\u5e76\u6309\u7167\u8bf4\u660e\u64cd\u4f5c\u3002\n\n## 2. Install (\u5b89\u88c5)\n### pip install\n```bash \npip install easyliter\nor\npip3 install easyliter\n```\n\n### install from source\uff08to get the up-to-date version\uff09\n```bash\ngit clone https://github.com/Psycoy/EasyLiterature.git\ncd EasyLiterature\npip install -e .\n```\n\n## 3. Arguments\uff08\u4f7f\u7528\u53c2\u6570\uff09\n```bash\neasyliter\n\noptional arguments:\n\n  -h, --help            show this help message and exit\n  \n  -i INPUT, --input INPUT\n  The path to the note file or note file folder.\n\n  -o OUTPUT, --output OUTPUT\n  Folder path to save paper pdfs and images. NOTE: MUST BE FOLDER.\n\n  -p PROXY, --proxy PROXY\n  The proxy. e.g. 127.0.0.1:1080. If this argument is specified, the google scholar will automatically use a free proxy (not necessarily using the specified proxy address). To use other proxies for google scholar, specify the -gp option. If you want to set up the proxies mannually, change the behaviour in GoogleScholar.set_proxy(). See more at https://scholarly.readthedocs.io/en/stable/ProxyGenerator.html.\n\n  -gp GPROXY_MODE, --gproxy_mode GPROXY_MODE\n  The proxy type used for scholarly. e.g., free, single, Scraper. (Note: 1. <free> will automatically choose a free proxy address to use, which is free, but may not be fast. 2. <single> will use the proxy address you specify. 3. <Scraper> is not free to use and need to buy the api key.).\n\n  -d, --delete\n  Delete unreferenced attachments in notes. Use with caution, when used, -i must be a folder path including all notes.\n\n  -m MIGRATION, --migration MIGRATION\n  The pdf folder path you want to reconnect to.\n```\n\n\n## 4. Recognition Rules (\u8bc6\u522b\u89c4\u5219)\uff1a\n- If the notes file contains `- {paper_id}`, it will download the information of that literature, but not the PDF.\n- If the notes file contains `- {{paper_id}}`, it will download both the information of that literature and the PDF.\n\n- Note: `paper_id` supports `article title`, published articles' `doi`, and pre-published articles' `arvix_id`, `biorvix_id`, and `medrvix_id`. It will try all the possible sources online.\n\n___\n\n- \u5f53\u7b14\u8bb0\u6587\u4ef6\u4e2d\u5305\u542b `- {paper_id}`\u65f6\u5019\uff0c\u4f1a\u4e0b\u8f7d\u8be5\u6587\u732e\u7684\u4fe1\u606f\uff0c\u4e0d\u4e0b\u8f7dPDF\u3002\n- \u5f53\u7b14\u8bb0\u6587\u4ef6\u4e2d\u5305\u542b `- {{paper_id}}`\u65f6\u5019\uff0c\u4f1a\u4e0b\u8f7d\u8be5\u6587\u732e\u7684\u4fe1\u606f\uff0c\u4ee5\u53caPDF\u3002\n\n- \u6ce8\u610f\uff1a`paper_id` \u652f\u6301`\u6587\u7ae0\u6807\u9898`\uff0c\u5df2\u53d1\u8868\u6587\u7ae0\u7684`doi`, \u9884\u53d1\u5e03\u6587\u7ae0\u7684`arvix_id`, `biorvix_id`, `medrvix_id`\u3002EasyLiterature\u4f1a\u4ece\u591a\u4e2a\u6570\u636e\u5e93\u81ea\u52a8\u8bc6\u522b\u9700\u8981\u6536\u96c6\u548c\u4e0b\u8f7d\u7684\u8bba\u6587\uff0c\u51e0\u4e4e\u8986\u76d6\u6240\u6709\u76ee\u524d\u5b58\u5728\u7684\u8bba\u6587\u3002\n\n\n## 5. Usage\uff08\u4f7f\u7528\uff09\n### 5.1. Basic Usage\uff08\u57fa\u672c\u4f7f\u7528\uff09\nAssuming `input` is the folder path of the literature notes (.md files) and `output` is the folder path where you want to save the PDFs.\n\n\u5047\u8bbe`input`\u4e3a\u6587\u732e\u7b14\u8bb0(md\u6587\u4ef6)\u7684\u6587\u4ef6\u5939\u8def\u5f84\uff0c`output`\u4e3a\u8981\u4fdd\u5b58PDF\u7684\u6587\u4ef6\u5939\u8def\u5f84\u3002\n\n```bash\n# Update all md files in the input folder\n# \u66f4\u65b0input\u6587\u4ef6\u5939\u4e0b\u6240\u6709md\u6587\u4ef6\neasyliter -i input -o output \n\n# Only update the input/example.md file\n# \u4ec5\u66f4\u65b0input/example.md\u6587\u4ef6\neasyliter -i input/example.md -o output  \n\n# -d is an optional flag, when -i is a folder path, using -d will delete unrelated pdf files in the PDF folder from the literature notes content\n# -d \u662f\u4e2a\u53ef\u9009\u9879\uff0c\u5f53 -i \u662f\u6587\u4ef6\u5939\u8def\u5f84\u65f6\u5019\uff0c\u4f7f\u7528 -d \u4f1a\u5220\u9664PDF\u6587\u4ef6\u5939\u4e0b\u548c\u6587\u732e\u7b14\u8bb0\u5185\u5bb9\u65e0\u5173\u7684pdf\u6587\u4ef6\neasyliter -i input -o output -d\n```\n\n### 5.2. Migrating Notes and PDF Files\uff08\u7b14\u8bb0\u548cpdf\u6587\u4ef6\u7684\u8fc1\u79fb\uff09\nWhen you need to move the literature notes or the PDF folder, the links to the PDFs in the literature notes might become unusable. You can use `-m` to re-link the PDF files with the literature notes.\n\n\u5f53\u8981\u79fb\u52a8\u6587\u732e\u7b14\u8bb0\u6216\u8005PDF\u6587\u4ef6\u5939\u7684\u65f6\u5019\uff0c\u6587\u732e\u7b14\u8bb0\u4e2d\u7684PDF\u94fe\u63a5\u53ef\u80fd\u4f1a\u53d8\u7684\u65e0\u6cd5\u4f7f\u7528\u3002\u53ef\u4ee5\u4f7f\u7528`-m`\u6765\u91cd\u65b0\u5173\u8054PDF\u6587\u4ef6\u548c\u6587\u732e\u7b14\u8bb0\u3002\n\n```bash\n# Update all md files in the input folder\n# \u66f4\u65b0input\u6587\u4ef6\u5939\u4e0b\u6240\u6709md\u6587\u4ef6\neasyliter -i input -m movedPDFs/\n\n# Only update the input/example.md file\n# \u4ec5\u66f4\u65b0input/example.md\u6587\u4ef6\neasyliter -i input/example.md -m movedPDFs/  \n```\n\n## 6. Note (\u6ce8\u610f\u4e8b\u9879)\n\n1. For users from China mainland, the Google Scholar feature may need a VPN to get it work (the citation function is based on the Google Scholar). If you don't have a VPN, some features may be lost.\n\n  - \u5bf9\u4e8e\u6765\u81ea\u4e2d\u56fd\u5927\u9646\u7684\u7528\u6237\uff0cGoogle Scholar\u76f8\u5173\u529f\u80fd\u53ef\u80fd\u9700\u8981 VPN \u624d\u80fd\u6b63\u5e38\u5de5\u4f5c\uff08\u5f15\u7528\u529f\u80fd\u57fa\u4e8e Google scholar\uff09\u3002\u5982\u679c\u6ca1\u6709\u6302VPN\uff0c\u67d0\u4e9b\u529f\u80fd\u53ef\u80fd\u4f1a\u4e22\u5931\uff0c\u4f46\u4e0d\u5b8c\u5168\u5f71\u54cd\u4f7f\u7528\u3002\n\n2. If your Google Scholar is not working (usually caused by too frequent requests of the Google Scholar API), try to set a proxy for it. Check out the help for `-p` and `-gp` options using `easyliter -h`. See more at the 'Using proxies' section of https://scholarly.readthedocs.io/en/stable/quickstart.html.\n\n  - \u5982\u679cGoogle Scholar \u65e0\u6cd5\u4f7f\u7528\uff08\u901a\u5e38\u7531\u4e8e\u5bf9Google Scholar API\u7684\u8bbf\u95ee\u8fc7\u4e8e\u9891\u7e41\uff09\uff0c\u5c1d\u8bd5\u4e3a\u5176\u8bbe\u7f6e\u4ee3\u7406\u3002\u4f7f\u7528 easyliter -h \u67e5\u770b -p \u548c -gp \u9009\u9879\u7684\u5e2e\u52a9\u4fe1\u606f\u6765\u8bbe\u7f6e\u4ee3\u7406\u3002\u8be6\u89c1 https://scholarly.readthedocs.io/en/stable/quickstart.html \u7684 Using proxies\u90e8\u5206\u3002\n",
    "bugtrack_url": null,
    "license": "AGPLv3",
    "summary": "EasyLiterature is a opensourced, Python-based command line tool for automatic literature management. Simply list the paper titles (or ids) you want to read in a markdown file and it will automatically collect and refine its information in the markdown file, download the pdf to your local machine, and link the pdf to your paper in the markdown file. You can forever keep your notes within the pdfs and mds on your local machine or cloud driver.",
    "version": "1.0.5",
    "project_urls": {
        "Homepage": "https://github.com/Psycoy/EasyLiterature"
    },
    "split_keywords": [
        "title",
        "bibtex",
        "arxiv",
        "doi",
        "science",
        "scientific-journals"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "777fe18f7fc8e3003189aec0e045b4f7a91e248eeff66e33e47cf0de59764c21",
                "md5": "ede7bc6b2b75334d0e201af53713452e",
                "sha256": "29fb2bde8416cbc41c879aaccb8d85bda1ecf5fb454cf23c2ac9133dcd752e07"
            },
            "downloads": -1,
            "filename": "easyliter-1.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ede7bc6b2b75334d0e201af53713452e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 25710,
            "upload_time": "2023-11-04T12:12:27",
            "upload_time_iso_8601": "2023-11-04T12:12:27.028435Z",
            "url": "https://files.pythonhosted.org/packages/77/7f/e18f7fc8e3003189aec0e045b4f7a91e248eeff66e33e47cf0de59764c21/easyliter-1.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ec53583e2b3fa49ffd9a6959eb8f442a5132d3def0d12fa026c10a7a216e60f9",
                "md5": "3b192964a1c54d41a98a2fbe3ae7a30f",
                "sha256": "54a6d97f6f697c659d13ca0ec9a13ca177d7daac8f6c1d025954155f8a7dcd7b"
            },
            "downloads": -1,
            "filename": "easyliter-1.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "3b192964a1c54d41a98a2fbe3ae7a30f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 23427,
            "upload_time": "2023-11-04T12:12:29",
            "upload_time_iso_8601": "2023-11-04T12:12:29.029356Z",
            "url": "https://files.pythonhosted.org/packages/ec/53/583e2b3fa49ffd9a6959eb8f442a5132d3def0d12fa026c10a7a216e60f9/easyliter-1.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-04 12:12:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Psycoy",
    "github_project": "EasyLiterature",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "easyliter"
}
        
Elapsed time: 0.13520s