TeXstudio中的文本分析工具非常有用,但我似乎找不到直接准确的方法来获取编译后的PDF文件中的总字数。
据我了解,此工具可统计文本中的短语。即使将每个短语的长度设置为仅一个单词,与 Texmaker 中的字数统计功能相比,我也无法获得准确的计数。
你怎么认为?
附言:我正在使用 TeXstudio V2.8.6,MAC。
答案1
菜单:工具\分析文本然后:计数
来自评论:
在第二个下拉框中设置
maximum words per phrase:
为 1(我认为这是默认值)然后短语 = 单词。
另外,如果您选择了一段文本,请Source
选择Selection
答案2
可以使用实用程序 pdftotext 和 wc[1]. 可通过以下方式集成到 texstudio 中
- 安装 pdftotext 和 wc
创建脚本
- Windows:count_pdf_words.bat
内容:@echo off
echo 计算 %1 中的单词数
echo 结果:
pdftotext %1 - | wc -w Linux:count_pdf_words.sh
内容:#!/bin/bash
echo 计算 $1 中的单词数
echo 结果:
pdftotext $1 - | wc -w使用以下命令使脚本可执行:
chmod +x count_pdf_words.sh
- Windows:count_pdf_words.bat
打开 texstudio -> 选项 -> 配置 -> 构建 -> 用户定义命令 -> 添加
- 第一个字段:
user#:Count words in pdf
- 第二个字段:
<path>/count_pdf_words.<ext> %.pdf
#
用您的用户命令的实际号码替换(第一个字段)- 替换
<path>
为脚本的路径(第二个字段) <ext>
用脚本的扩展名替换(第二个字段)
- 第一个字段:
- 使用以下命令执行命令:
texstudio -> 工具 -> 用户 -> 统计 pdf 中的字数
答案3
除了 keocra 的解决方案外,这里有一个 PowerShell 脚本,在 Windows 上以相同方式使用时可以很好地运行:
$file=$args[0]
If (-not $file) {
echo "Please provide a file to query"
exit 1
}
echo "Counting words in $file"
$result = pdftotext $file - | Measure-Object -Word
$wordCount = $result.Words
echo "Result: $wordCount"
确保在用户命令的第二个(即命令)字段中使用powershell
或作为命令前缀,以确保脚本真正运行:pwsh
例如pwsh "C:\Users\evanjs\scripts\count_pdf_words.ps1" %.pdf
查看测量对象文档以获取有关 cmdlet 的更多信息。
另一点需要注意的是:我最初尝试使用xpdf 实用程序通过 Chocolatey,但发现 stdout( -
) 标志不起作用。
虽然版本波普勒Chocolatey 似乎有点过时了,当给出标志时它确实会输出到标准输出-
。