LaTeX에서 동적으로 단어 수 계산

texcount 명령으로 단어 수를 계산할 수 있습니다.
$ texcount main.tex

단순히 총 단어수만을 출력시키려면 아래의 옵션을 붙인다.
$ texcount main.tex -inc -sum -1

또한이 기능은 bashful 패키지를 사용하여 문서 내에서 동적으로 수행됩니다.
\documentclass{article}
\usepackage{bashful}

\bash
texcount main.tex -inc -sum -1
\END
\let\WordCount\bashStdout

\begin{document}

\section{Dynamic word counter}

This document has {\WordCount} words.
\end{document}
  • \bash ... \END 안에 쉘 스크립트를 쓰면 컴파일시에 실행된다. 결과가 \bashStdout에 저장되기 때문에 이것을 \WordCount라는 다른 변수로 다시 정의했습니다. \bashStdout 를 직접 사용해도 좋지만, 그 경우 다른 쉘 스크립트를 실행하면 값이 덧쓰기되어 버린다. \let 에 의한 평가는 그 자리에서 행해지므로, \WordCount 에 저장된 값은 \bashStdout 의 값이 변경되어도 보존된다.
  • \bash ... \END\begin{document} 이전에 쓰면 좋다. 뒤에 쓰면, 거기도 문서내로 간주되어, 쉘 커멘드의 단어수도 카운트된다.

  • 다만, 쉘 스크립트의 실행은 위험을 수반하므로, 컴파일시에 -shell-escape 옵션을 추가해 명시에 허가할 필요가 있다.
    $ latex -shell-escape main.tex
    

    출력 결과:


    예(Overleaf): word count test

    좋은 웹페이지 즐겨찾기