![如何计算包括空格在内的所有字符?](https://linux22.com/image/247243/%E5%A6%82%E4%BD%95%E8%AE%A1%E7%AE%97%E5%8C%85%E6%8B%AC%E7%A9%BA%E6%A0%BC%E5%9C%A8%E5%86%85%E7%9A%84%E6%89%80%E6%9C%89%E5%AD%97%E7%AC%A6%EF%BC%9F.png)
如何计算 Latex 文件的编译版本中的字符数?这应包括空格和所有文档(索引、脚注、参考书目等)
答案1
这可能是你能得到的
pdftotext document.pdf -enc UTF-8 - | wc -m
对于 DVI 文件,可以使用
catdvi -e UTF-8 -s document.dvi | wc -m
(感谢鲍勃指出该-enc
选项并指出catdvi
。)
答案2
对你来说效果如何detex file.tex | wc -C
?detex 删除所有 tex 宏,并wc -C
返回剩余的字符数。考虑到没有数学运算,这应该是输出文件中字符的足够好的代理。
这显然不会计算诸如运行标题或其他自动生成的文本之类的内容。为此,我猜您需要.dvi
按照 Bruno Le Floch 在评论中所建议的那样进行解析。
答案3
一种完全不同的方法是使用stdpage
包。它创建'标准页面'每行 30 个字符(当然,您可以将其更改为不同的值)。这种方法源于人们使用打字机书写手稿并交给出版商的时代。如今,一些出版商仍要求标准页面并按标准页面付费。
stdpage 包允许您在不规则行和对齐行之间切换,并且可以打开/关闭连字符和行号。在最佳情况下,使用方法非常简单,只需添加
\usepackage[linenumbers,lines=30,chars=50,noindent]{stdpage}
到你的序言。由于此包会更改行距和字体,因此你必须调整序言的其余部分(我不得不删除几个包)。我个人提交了两个 pdf:一个带有标准页面,另一个带有相同的文本,但使用了更好的字体、连字符、微字体等。
答案4
如果你有 .tex 文件,你可以使用特克斯考特使用 -char 选项可以得到字符数:
texcount -char mydoc.tex