texto - titulo en latex
Corregir el conteo de palabras de un documento LaTeX (7)
En la interfaz de Texmaker puede obtener el conteo de palabras haciendo clic derecho en la vista previa en PDF:
Actualmente estoy buscando una aplicación o un script que cuente correctamente el recuento de palabras para un documento LaTeX.
Hasta ahora, solo he encontrado scripts que solo funcionan en un solo archivo, pero lo que quiero es un script que pueda ignorar las palabras clave LaTeX y también atravesar los archivos vinculados ... es decir, seguir /include
y /input
links para producir una palabra correcta -contacto para todo el documento.
Con vim, actualmente uso ggVGg CTRL+G
pero obviamente eso muestra el recuento del archivo actual y no ignora las palabras clave de LaTeX.
¿Alguien sabe de algún script (o aplicación) que pueda hacer este trabajo?
Fui con el comentario de icio e hice un recuento de palabras en el pdf mismo pdftotext
la salida de pdftotext
a wc
:
pdftotext file.pdf - | wc - w
Para agregar a @aioobe,
Si usa pdflatex, simplemente haga
pdftops file.pdf
ps2ascii file.ps|wc -w
Comparé este conteo con el recuento en Microsoft Word en un documento de 1599 palabras (según Word). pdftotext
produjo un texto con más de 1700 palabras. texcount
no incluyó las referencias y produjo 1088 palabras. ps2ascii
devolvió 1603 palabras. 4 más que en Word.
Yo digo que es un conteo bastante bueno. Aunque no estoy seguro de dónde está la diferencia de 4 palabras. :)
Para un documento de clase de artículo muy básico, simplemente miro el número de coincidencias de una expresión regular para encontrar palabras. Uso Sublime Text, por lo que es posible que este método no funcione en un editor diferente, pero solo presiono Ctrl+F
( Command+F
en Mac) y luego, con Regex habilitado, busco
(^|/s+|"|((h|f|te){)|/()/w+
que debería ignorar el texto que declara un entorno flotante o leyendas sobre las figuras, así como la mayoría de los tipos de ecuaciones básicas y /usepackage
declarations, al tiempo que incluye citas y entre paréntesis. También cuenta las notas al pie y el texto /emph
emphish y contará /hyperref
links como una sola palabra. No es perfecto, pero es típicamente preciso con unas pocas docenas de palabras más o menos. Podría perfeccionarlo para que funcione para usted, pero una secuencia de comandos es probablemente una mejor solución, ya que el código fuente de LaTeX no es un idioma normal. Solo pensé en tirar esto aquí.
Uso el siguiente script VIM:
function! WC()
let filename = expand("%")
let cmd = "detex " . filename . " | wc -w | perl -pe ''chomp; s/ +//;''"
let result = system(cmd)
echo result . " words"
endfunction
... pero no sigue los enlaces. Esto básicamente implicaría analizar el archivo TeX para obtener todos los archivos vinculados, ¿no?
La ventaja sobre las otras respuestas es que no tiene que producir un archivo de salida (PDF o PS) para calcular el recuento de palabras, por lo que es potencialmente (en función del uso) mucho más eficiente.
Aunque el comentario de icio es teóricamente correcto, encontré que el método anterior proporciona estimaciones bastante precisas para el número de palabras. Para la mayoría de los textos, está dentro del margen de 5% que se usa en muchas asignaciones.
Yo uso texcount
. La webpage tiene un script de Perl para descargar (y un manual).
tex
archivos de texto que están incluidos ( /input
o /include
) en el documento (vea -inc
), admite macros y tiene muchas otras funciones -inc
.
Al seguir los archivos incluidos, obtendrá detalles sobre cada archivo por separado y un total. Por ejemplo, aquí está el resultado total de un documento mío de 12 páginas:
TOTAL COUNT
Files: 20
Words in text: 4188
Words in headers: 26
Words in float captions: 404
Number of headers: 12
Number of floats: 7
Number of math inlines: 85
Number of math displayed: 19
Si solo está interesado en el total, use el argumento -total
.
latex file.tex
dvips -o - file.dvi | ps2ascii | wc -w
debería darle un recuento de palabras bastante preciso.