Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

LaTeX で動的に単語数をカウント

More than 1 year has passed since last update.

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away