LaTeX: impresión del recuento de palabras de una sección imaginaria

LaTeX: impresión del recuento de palabras de una sección imaginaria

Me gustaría imprimir el recuento de palabras en una sección de un documento. Sin embargo, sección no significa \sección{...}. Simplemente significa una colección arbitraria de párrafos. El recuento de palabras debe excluir subtítulos y notas a pie de página.

\begin{document}

stuff

% start word count

paragraph #1 \footnotes{...}

\begin{figures}...\end{figures}

paragraph #2

% end word count

\wordcount 
% or some other command that prints the word count

other stuff

\end{document}

¿Utilizo algún tipo de recipiente? ¿Equivalente LaTeX de etiquetas div? ¿O sigo usando \section{...} pero suprimo el encabezado de la sección?

¡Una solución será muy apreciada!

Respuesta1

Esto se puede hacer usandoTeXcount, que es un script Perl. Probablemente lo tenga disponible como parte de la instalación de TeX, o puede encontrarlo en el sitio web junto con una aplicación web en línea que puede probar.

TeXcount establece puntos de interrupción para los cuales se generan subcuentas.

Los puntos de interrupción se establecen de forma predeterminada en todos los encabezados de capítulo/sección, los cuales tendría que desactivar: use la opción de línea de comando -sub=nonepara el script o elijaSubcuentas: Ningunaen la interfaz web.

Los puntos de interrupción se pueden insertar en el documento usando líneas de comentarios TeX en el formulario.

%TC:break breakpoint-title

donde ingresa su propio título de punto de interrupción (espacios permitidos), que luego iniciará un nuevo subconteo.

Una alternativa es definir una macro, por ejemplo \CountSection, que toma un único argumento (que será el título del punto de interrupción) y especificar que TeXcount debería insertar un punto de interrupción allí:

%TC:breakmacro \CountSection countsection

¿Dónde countsectionestá cualquier cadena no vacía (sin espacios) que antepondrá solo el título para indicar qué tipo de recuento es? Esto todavía requiere la -sub=noneopción.

Puedes probar esto en elAplicación webprimero. No es necesario introducir un documento completo, bastará con un fragmento de código.


Permítanme explicar y responder las preguntas de los comentarios: primero, un ejemplo sobre cómo hacer que los subconteos funcionen con salida a la consola; en segundo lugar, cómo conseguir que los recuentos se incluyan en el documento.

TeXcount utiliza puntos de interrupción para dividir los recuentos en subcuentas. No hay "puntos de interrupción finales": un subconteo continúa hasta el siguiente punto de interrupción.

Por otro lado, si lo que realmente necesitas es ignorar partes del documento en los conteos, no dividirlo en múltiples segmentos, es posible marcar segmentos a ignorar usando

%TC:ignore
...
%TC:endignore

Hay dos formas de insertar puntos de interrupción para dividir el documento en regiones de subconteo: estableciendo explícitamente un punto de interrupción en el documento mediante la %TC:breakpointinstrucción o especificando macros que establecen un punto de interrupción automáticamente. Por defecto ( -sub=section), TeXcount agrega puntos de interrupción en \chapter, \section, etc.; usar la opción -sub=noneevita esto. Luego puede usar la %TC:breakmacroinstrucción para especificar otras macros que deberían establecer un punto de interrupción.

Aquí hay un breve ejemplo, que no es un documento completo, solo un fragmento de código:

%% Use \CountSection to set subcount breakpoints
\newcommand\CountSection[1]{}  % No output in document

% Set macro handling rule: ignore text in argument
%TC:macro \CountSection [ignore]

% Specify that \CountSection sets a new breakpoint
%TC:breakmacro \CountSection Subcount


Any text occurring before a breakpoint will be part of the initial subcount
named \textit{top}.

\CountSection{First count section}

This text will be counted as part of the subcount labeled \textit{First count
section}, which will continue until the next breakpoint.

\CountSection{Second count section}

This will be counted as another subcount.

%TC:break Subcount text at the end

This will be the final subcount induced by an explicit breakpoint.

Puede intentar ejecutarlo a través de TeXcount en su propia computadora o en la aplicación web en línea y luego probar cosas para ver cómo funciona. Si agrega \sectionmacros al código, estas agregarán puntos de interrupción adicionales a menos que especifique -sub=none. Por cierto, -subes la abreviatura de -subcounty solo se usa para elegir entre algunas alternativas de macros de punto de interrupción iniciales, no para especificar la suya propia.

TeXcount envía de forma predeterminada los recuentos (y otros resultados) a la consola. En su lugar, puede escribir el resultado en un archivo, lo que suele ser útil para importar el resultado al documento o al escribir el resultado como HTML.

Hay algunos trucos para volver a importar el conteo al documento, todos los cuales requieren que TeXcount escriba el resultado en un archivo y este archivo luego se importe al documento. hay algunosinformación sobre eso en las preguntas frecuentes de TeXcount, y unejemplo en StackExchange. Es posible personalizar el formato de salida utilizando plantillas (Ejemplo de StackExchange), pero eso es un poco más avanzado y debes hacer que el conteo funcione correctamente antes de comenzar con eso.

información relacionada