Giter Site home page Giter Site logo

laorange / paper-assistant Goto Github PK

View Code? Open in Web Editor NEW
304.0 1.0 20.0 961 KB

论文工具:文本复制工具 (智能删除空行空格乱码)

Home Page: https://laorange.github.io/paper-assistant/

License: GNU Affero General Public License v3.0

HTML 1.17% Vue 60.56% TypeScript 34.79% CSS 3.47%
github-pages vue3-typescript

paper-assistant's Introduction

📝论文工具

在线使用(GitHub) | 在线使用(Gitee) | uTools插件(@swjqq)

更新日志 | 视频介绍 | 鼓励作者

功能

(1) 文本复制工具

😣在复制PDF中的文字时,有时会出现莫名其妙的空格、换行、全角字符或乱码。

😫如果手动删改,工作量巨大;如果直接全文替换,可能会误删英文单词间的空格。

💡开发这个项目正是为了解决这些问题。

🚩如何使用?可直接在线使用后点击"使用说明",或前往B站查看视频介绍

(2) 英文语法检查

✍如果您在电脑上在线使用,在输入英文时,将为您检查语法 (基于Grammarly)。

😭Grammarly的开发者接口已于2024年1月10日废弃,目前该功能已无法使用,详情可见其官网公告

(3) 其他辅助功能

  • 删除引用角标,如: [1], [2, 3], [4-7], (1), (2, 3), (4-7)...
  • 全角字符转半角字符
  • 批量替换字符
  • 汉字繁简转换
  • 中英文标点转换
  • ······

Q&A

为什么不直接查找替换?

出现的若是空格的话,直接替换会误删英文单词中的空格;因此需要用到正则表达式来替换,有较高门槛。

仅粘贴文本,复制到文本文档/记事本?

仅粘贴文本、复制到记事本是去除格式,但并不能去除空行空格乱码这样的干扰内容,因为这些是"内容"而不是"格式"。

复制到浏览器地址栏?

浏览器地址栏本质上是一个单行无格式输入框,确实可以去除换行符,但并不能处理空格、乱码和全角字符。

为什么不推荐使用OCR?

有条件复制粘贴的话还是不太建议用OCR,识别不准确的话会产生新的麻烦。

未来考虑加入翻译功能吗?

不考虑。若需PDF翻译功能,建议使用知云文献

空行空格乱码等痛点是在哪些软件出现的?

空行素材来自Acrobat,空格素材来自Zotero,乱码素材来源于CAJViewer,全角字符素材来自知云文献,重复换行素材来源于Typora

还有哪些具有相似功能的程序?

  1. 若使用quicker,可搜索安装英文规范粘贴中文规范粘贴插件。
  2. copy++项目地址 | 官方网站

致开发者

😉为方便看代码的朋友,我把文本处理的方法都单独整理成了一个文件,并写了注释、规范了接口:

// handlers.ts
export interface TextHandler {
    activate: boolean,  // 默认是否启用
    description: string,  // 对该功能的描述
    executor: (text: string) => string  // 功能函数
}

😄若您有好的想法,可以在以上内容的基础上修改。欢迎在GitHub仓库上发起 pull request😊

🥳若您觉得本项目还不错,可以在页面右上角为本项目点上一颗⭐~

Star History Chart

paper-assistant's People

Contributors

laorange avatar von0000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

paper-assistant's Issues

能不能做一个删除圆括号的

你的论文工具对我帮助很大。我注意到你开发了删除方括号引用的功能,请问能否开发删除圆括号引用的功能?谢谢

[new feature] 功能模板

来自评论区的建议

请问有没有类似于保存“功能设置”的选项之类的功能?我在使用您的这个工具时有一些其他的需求,每次打开网站都需要重新设置一遍功能,有点小麻烦

误删空格的小bug

当完整英文文本中出现单引号‘的时候,生成的文本会把’后的空格删掉。
例如:
原文本:We compare test suites written by the systems’ developers.
新文本:We compare test suites written by the systems’developers.
systems'后的空格被误删了。

保留原始段落信息的开关

能不能增加一个保留原始段落信息的按钮。这个处理逻辑对中英文的PDF可能会不太一样。

  1. 中文PDF新段落起始,会有两个空格。
  2. 英文PDF新段落起始首字母大写,且上一行以英文句号结尾

Roadmap

Todo list:

  • 启用/禁用"语法检查"的状态按钮
  • 新增拖拽排序图标 (来自评论区)
  • 规范中文排版 #7
  • 将全角括号从全角字符集合中移出 #8
  • 调整“标点符号后添加空格”功能效果 #8 comment
  • 新增功能:去除引用标号(例如:[1][2, 3][4-7]
  • 修复部分情况下不触发自动复制、自动清空

繁简转化 / 增加换行判断条件

来自评论区的建议

  • 能否支持简繁转换?→ #19
  • 删除段中换行时能否支持智能检测?比如:以句号、问号等结尾的句子换行不删除;特定长度的句子换行保留,如有些诗句;疑似标题的换行保留,比如“一、”、“(1).” 等开头的段落

建议功能:删除注释中的注释符号

阅读源码时会涉及到大段的注释,希望能够自动处理其中的换行和注释符号,拼接成完整的句子。

例:输入为

// Wrapper around PersistentBase that allows accessing poisoned memory when
// using ASAN. This is needed as the GC of the heap that owns the value
// ...

输出为

Wrapper around PersistentBase that allows accessing poisoned memory when using ASAN. This is needed as the GC of the heap that owns the value ...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.