The technique of using shadow codes to build larger self-dual codes is
extended to codes over arbitrary fields. It is shown how to build the
codes and how to determine the new weight enumerator as well. For cod
es over fields equipped with a square root of -1 and not of characteri
stic 2, a self-dual code of length n + 2 can be built from a self-dual
code of length n; for codes over a field without a square root Of -1
and not of characteristic 2 a self-dual code of length n + 4 is built
from a self-dual code of length n; and for codes over fields of charac
teristic 2 the length of the new self-dual code depends on the presenc
e of the all-one vector in the subcode chosen. In certain cases using
the subcode of vectors orthogonal to the all-one vector, the new weigh
t enumerator can be calculated directly from the original weight enume
rator, Specific examples of the technique are illustrated for codes ov
er F-3, F-4, and F-5.