ここでは、広く一般に使われている言語に対するタグ構文の定義を紹介します。
struct
、union
、enum
の定義もやはりタグである。
また、タグテーブルを作成するときにオプション‘--no-defines’を
指定しなければ、#define
によるマクロ定義や
enum
の定数もタグとして扱う。
同様に、大域変数も‘--no-globals’を指定しない限りタグになる。
‘--no-globals’と‘--no-defines’を指定すると、
タグテーブルファイルはかなり小さくなる。
extends
とimplements
に現れる名前もタグとして含む。
クラス内の変数と関数に対するタグには、それぞれ、
‘class.variable’、
‘class.function’と名前が付く。
\chapter
、\section
、\subsection
、
\subsubsection
、\eqno
、\label
、\ref
、
\cite
、\bibitem
、\part
、\appendix
、
\entry
、\index
のコマンドの引数がタグになる。
その他のLaTeXコマンドでも、etags
を起動するまえに、
環境変数TEXTAGS
にそれらのコマンドを指定しておけばタグの対象になる。
この環境変数の値は、コマンド名をコロンで区切った並び。
たとえば、(bourneシェルでは)
TEXTAGS="def:newcommand:newenvironment" export TEXTAGS
とすると、‘\def’、‘\newcommand’、‘\newenvironment’の コマンドの引数もタグの対象になる。
defun
で定義した関数、
defvar
やdefconst
で定義した変数、
および、一般に0桁目から‘(def’で始まる任意の式の最初の引数がタグ。
def
で定義されるものと、名前が‘def’で始まるものがタグに含まれる。
また、ファイル内のトップレベルでset!
を
使って値が設定される変数もタグ。
他にも以下の言語で使えます。
sub
で定義される手続きがタグ。
正規表現に基づいてタグを生成する方法 (see Create Tags Table)もあるので、 上記以外の形式や言語を扱うこともできます。