\section{Introduction} \tipa{}\footnote{\tipa{} stands for \emph{\TeX\ IPA} or \emph{Tokyo IPA}. The primary ftp site in which the latest version of \tipa{} is placed is \texttt{ftp://tooyoo.L.u-tokyo.ac.jp/pub/TeX/tipa}, and also it is mirrored onto the directory \texttt{fonts/tipa} of the CTAN archives.} is a system for processing IPA (International Phonetic Alphabet) symbols in \LaTeX. It is based on \tsipa{}\footnote{\tsipa{} was made in 1992 by Kobayashi Hajime, Fukui Rei and Shirakawa Shun. It is available from a CTAN archive. One problem with \tsipa{} was that symbols already included in \texttt{OT1}, \texttt{T1} or Math fonts are excluded, because of the limitation of its 128 character encoding. As a result, a string of phonetic representation had to be often composed of symbols from different fonts, disabling the possibility of automatic inter-word kerning. And also too many symbols had to be realized as macros.} but both \MF{} source codes and \LaTeX{} macros have been thoroughly rewritten so that it can be considered as a new system. Among many features of \tipa{}, the following are the new features as compared with \tsipa{} or any other existing systems for processing IPA symbols. \begin{itemize} \itemsep0pt \item A new 256 character encoding for phonetic symbols (`\texttt{T3}'), which includes all the symbols and diacritics found in the recent versions of IPA and some non-IPA symbols. \item Complete support of \LaTeXe. \item Roman, slanted, bold, bold extended and sans serif font styles. \item Easy input method in the IPA environment. \item Extended macros for accents and diacritics.\footnote{These macros are now defined in a separate file called `\texttt{exaccent.sty}' in order for the authors of other packages to be able to make use of them. The idea of separating these macros from other ones was suggested by Frank Mittelbach.} \item A flexible system of macros for `tone letters'. \item An optional package (\texttt{vowel.sty}) for drawing vowel diagrams.\footnote{This package (\texttt{vowel.sty}) can be used independently from the \tipa{} package. Documentation is also made separately in `\texttt{vowel.tex}' so that no further mention will be made here.} \item A slightly modified set of fonts that go well when used with Times Roman and Helvetica fonts. \end{itemize} \section{\tipa{} Encoding} \subsection{Selection of symbols}\label{sec:selection} The selection of \tipa{} phonetic symbols\footnote{In the case of \tsipa{}, the selection of symbols was based on ``Computer coding of the {IPA}: Supplementary Report'' \cite{Esling:IPAcoding}.} was made based on the following works. \begin{itemize} \itemsep0pt \item \textit{Phonetic Symbol Guide}~\cite{PSG} (henceforth abbreviated as \PSG). \item The official IPA charts of '49, '79, '89 and '93 versions. \item \ifTUG\begin{sloppypar}\fi Recent articles published in the \emph{JIPA}\footnote{\emph{Journal of the International Phonetic Association.}}, such as ``Report on the 1989 Kiel Convention'' \cite{IPA:KielConvention}, ``Further report on the 1989 Kiel Convention'' \cite{IPA:FurtherReport}, ``Computer Codes for Phonetic Symbols'' \cite{Esling:ComputerCodes}, ``Council actions on revisions of the IPA'' \cite{IPA:CouncilActions}, etc. \ifTUG\end{sloppypar}\fi \item An unpublished paper by J.\ C.\ Wells: ``Com\-put\-er-coding the IPA: a proposed extension of SAM\-PA'' \cite{SAMPA}. \item Popular textbooks on phonetics. \end{itemize} More specifically, \tipa{} contains all the symbols, including diacritics, defined in the '79, '89 and '93 versions of IPA. And in the case of the '49 version of IPA, which is described in the \textit{Principles}~\cite{Principles}, there are too many obsolete symbols and only those symbols that had had some popularity at least for some time or for some group of people are included. Besides IPA symbols, \tipa{} also contains symbols that are useful for the following areas of phonetics and linguistics. \begin{itemize} \itemsep0pt \item Symbols used in the American phonetics (e.g.\ \textturncelig, \textsce, \textscomega, \textlambda, etc.). \item Symbols used in the historical study of Indo-European languages (e.g.\ \textthorn, \textwynn, \texthvlig, \textcommatailz, \textsoftsign, \texthardsign, and accents such as \textipa{\'=a}, \textipa{\.'e}, etc.). \item Symbols used in the phonetic description of languages in East Asia (e.g.\ \textlhti, \textvibyi, \textctd, \textctn, \textctt, etc.). \item Diacritics used in `extIPA Symbols for Disordered Speech'~\cite{extIPA} and `VoQS (Voice Quality Symbols)'~\cite{VoQS} (e.g. \bibridge{n}, \subdoublevert{f}, \crtilde{m}, etc). \end{itemize} It should be also noted that \tipa{} includes all the necessary elements of `tone letters', enabling all the theoretically possible combinations of the tone letter system. In the recent publication of the International Phonetic Association tone letters are admitted as an official way of representing tones but the treatment of tone letters is quite insufficient in that only a limited number of combination is allowed. This is apparently due to the fact that there has been no `portable' way of combining symbols that can be used across various computer environments. Therefore \TeX's productive system of macro is an ideal tool for handling a system like tone letters. In the process of writing \MF{} source codes for \tipa{} phonetic symbols there have been many problems besides the one with the selection of symbols. One of such problems was that sometimes the exact shape of a symbol was unclear. For example, the shapes of the symbols such as \textstretchc\ (Stretched C), \textctj\ (Curly-tail J) differ according to sources. This is partly due to the fact that the IPA has been continuously revised for the past few decades, and partly due to the fact that different ways of computerizing phonetic symbols on different systems have resulted in the diversity of the shapes of phonetic symbols. Although there is no definite answer to such a problem yet, it seems to me that it is a privilege of those working with \MF{} to have a systematic way of controlling the shapes of phonetic symbols. \subsection{Encoding} \ifTUG \input{enc-tab1.tex}\fi \ifTUG\else \input{enc-tab1.tex}\fi The 256 character encoding of \tipa{} is now officially called the `\texttt{T3}' encoding.\footnote{In a discussion with the \LaTeXe{} team it was suggested that the 128 character encoding used in WSUIPA would be refered to as the \texttt{OT3} encoding.} In deciding this new encoding, care is taken to harmonize with existing other encodings, especially with the \texttt{T1} encoding. Also the easiness of inputting phonetic symbols is taken into consideration in such a way that frequently used symbols can be input with small number of keystrokes. Table~\ref{tab:TIPAenc} shows the layout of the \texttt{T3} encoding. The basic structure of the encoding found in the first half of the table (character codes \texttt{'000-'177}) is based on normal text encodings (ASCII, \texttt{OT1} and \texttt{T1}) in that sectioning of this area into several groups such as the section for accents and diacritics, the section for punctuation marks, the section for numerals, the sections for uppercase and lowercase letters is basically the same with these encodings. Note also that the \texttt{T3} encoding contains not only phonetic symbols but also usual punctuation marks that are used with phonetic symbols, and in such cases the same codes are assigned as the normal text encodings. However it is a matter of trade-off to decide which punctuation marks are to be included. For example `:' and `;' might have been preserved in \texttt{T3} but in this case `:' has been traditionally used as a substitute for the length mark `\textipa{:}' so that I decided to exclude `:' in favor of the easiness of inputting the length mark by a single keystroke. The encoding of the section for accents and diacritics is closely related to \texttt{T1} in that the accents commonly included in \texttt{T1} and \texttt{T3} have the same encoding. \ifTUG \input{enc-tab2.tex}\fi The sections for numerals and uppercase letters are filled with phonetic symbols that are used frequently in many languages, because numerals and uppercase letters are usually not used as phonetic symbols. And the assignments made here are used as the `shortcut characters', which will be explained in the section entitled ``Ordinary phonetic symbols'' (page~\pageref{sec:OrdinarySymbol}). As for the section for uppercase letters in the usual text encoding, a series of discussion among the members of the \texttt{ling-tex} mailing list revealed that there seem to be a certain amount of consensus on what symbols are to be assigned to each code. For example they were almost unanimous for the assignments such as \textipa{A} for \texttt{A}, \textipa{B} for \texttt{B}, \textipa{D} for \texttt{D}, \textipa{S} for \texttt{S}, \textipa{T} for \texttt{T}, etc. For more details, see table~\ref{tab:shortcut}. The encoding of the section for numerals was more difficult than the above case. One of the possibilities was to assign symbols based on the resemblance of shapes. One can easily think of assignments such as \textipa{3} for \texttt{3} \texthtb{} for \texttt{6}, etc. But the resemblance of shape alone does not serve as a criteria for all the assignments. So I decided to assign basic vowel symbols to this section.\footnote{This idea was influenced by the above mentioned article by J.\ C.\ Wells~\cite{SAMPA}.} Fortunately the resemblance of shape is to some extent maintained as is shown in table~\ref{tab:shortcut}. The encoding of the section for lowercase letters poses no problem since they are all used as phonetic symbols. Only one symbol, namely `\textipa{g}', needs some attention because its shape should be `\textipa{g}', rather than `g', as a phonetic symbol.\footnote{But the alternative shape `\textg' is preserved in other section and can be used as \texttt{\tbs textg}. } \ifTUG\else \input{enc-tab2.tex}\fi The second half of the table (character codes \texttt{'200-'377}) is divided into four sections. The first section is devoted to the elements of tone letters and other suprasegmental symbols. Among the remaining three sections the last section \texttt{'340-'377} contains more basic symbols than the other two sections. This is a result of assigning the same character codes as latin-1 (ISO8859-1) and T1 encodings to the symbols that are commonly included in \tipa{}, latin-1 and T1 encoded fonts.\footnote{This is based on a suggestion by J\"org Knappen.} These are the cases of \ae{}, \o, \oe{}, \c{c} and \textthorn. And within each section symbols are arraneged largely in alphabetical order. For a table of the \texttt{T3} encoding, see Appendix~C (page~\pageref{sec:FontLayout}). \ifTUG\else \section{Installation} First, copy all the package and font description files (\verb|tipa.sty|, \verb|tone.sty|, \verb|vowel.sty|, \verb|*.fd|, \verb|*.def|) to a directory which \TeX{} programs can find. In an ordinary Unix environment, it is recommended to create a directory such as \verb|/usr/local/lib/texmf/tex/tipa| and copy all these files into this directory. \begin{verbatim} mkdir /usr/local/lib/texmf/tex/tipa cp tipa.sty tone.sty vowel.sty /usr/local/lib/texmf/tex/tipa cp *.fd *.def /usr/local/lib/texmf/tex/tipa \end{verbatim} Next, copy all the \texttt{TFM} files to a directory which \TeX{} and device driver programs can find. \begin{verbatim} mkdir /usr/local/lib/texmf/fonts/public/tipa mkdir /usr/local/lib/texmf/fonts/public/tipa/tfm cp *.tfm /usr/local/lib/texmf/fonts/public/tipa/tfm \end{verbatim} It is also recommended to copy all the \MF{} source files into an appropriate directory. \begin{verbatim} mkdir /usr/local/lib/texmf/fonts/public/tipa/src cp *.mf /usr/local/lib/texmf/fonts/public/tipa/src \end{verbatim} The final step of installation is that of \texttt{PK} font files. This procedure may differ according to the user's computer environment. For users unfamiliar with running \MF{} programs, it is possible to get pre-compiled \texttt{PK} font files from ftp sites. In this case, just copy them to an appropriate directory. \begin{verbatim} mkdir /usr/local/lib/texmf/fonts/public/tipa/pk mkdir /usr/local/lib/texmf/fonts/public/tipa/pk/your_mode_name cp *pk /usr/local/lib/texmf/fonts/public/tipa/pk/your_mode_name \end{verbatim} If you make \texttt{PK} fonts by yourself, generate fonts shown in table~\ref{tab:fullset} by the \MF{} program. \begin{table} \begin{center} {\ttfamily \begin{tabular}{|l|l|} \hline \textrm{\itshape Magnification} & \textrm{\itshape font name} \\ \hline (mag=1) & tipa8, tipa9, tipa10, tipa12, \\ & tipasl8, tipasl9, tipasl10, tipasl12, \\ & tipabx8, tipabx9, tipabx10, tipabx12, \\ & tipass8, tipass9, tipass10, tipass12 \\ mag=5/8 & tipa8, tipasl8, tipabx8, tipass8 \\ mag=6/8 & tipa8, tipasl8, tipabx8, tipass8 \\ mag=7/8 & tipa8, tipasl8, tipabx8, tipass8 \\ mag=magstep.5 & tipa10, tipasl10, tipabx10, tipass10 \\ mag=magstep1 & tipa12, tipasl12, tipabx12, tipass12 \\ mag=magstep2 & tipa12, tipasl12, tipabx12, tipass12 \\ mag=magstep3 & tipa12, tipasl12, tipabx12, tipass12 \\ mag=magstep4 & tipa12, tipasl12, tipabx12, tipass12 \\ \end{tabular}} \end{center} \caption{Full set of \tipa{} fonts}\label{tab:fullset} \end{table} The bold font \texttt{tipab10} and fonts of \texttt{xipa} family are not included in this table. Make \texttt{PK} files for these fonts by yourself if you need them. In the Unix environment, all these fonts can be automatically generated by running the shell script \verb|makepk1.sh|. And a set of \texttt{xipa} family fonts can be generated by running the shell script \texttt{makepk2.sh}. Also, if you are using \texttt{MakeTeXPK}, it is not necessary to generate all these size variations at once. \fi % end of \ifTUG \section{\tipa{} fonts} This version of \tipa{} includes two families of IPA fonts, \texttt{tipa} and \texttt{xipa}. The former family of fonts is for normal use with \LaTeX, and the latter family is intended to be used with `\texttt{times.sty}'(PSNFSS). They all have the same \texttt{T3} encoding as explained in the previous section. \begin{itemize} \item \texttt{tipa} \begin{description} \item[Roman:] \texttt{tipa8}, \texttt{tipa9}, \texttt{tipa10}, \texttt{tipa12}, \Sep \texttt{tipa17} \item[Slanted:] \texttt{tipasl8}, \texttt{tipasl9}, \texttt{tipasl10}, \Sep \texttt{tipasl12} \item[Bold extended:] \texttt{tipabx8}, \texttt{tipabx9}, \Sep \texttt{tipabx10}, \texttt{tipabx12} \item[Sans serif:] \texttt{tipass8}, \texttt{tipass9}, \texttt{tipass10}, \Sep \texttt{tipass12}, \texttt{tipass17} \item[Bold:] \texttt{tipab10} \end{description} \item \texttt{xipa} \begin{description} \item[Roman:] \texttt{xipa10} \item[Slanted:] \texttt{xipasl10} \item[Bold:] \texttt{xipab10} \item[Sans serif:] \texttt{xipass10} \end{description} \end{itemize} All these fonts are made by \MF{}, based on the Computer Modern font series. In the case of the \texttt{xipa} series, parameters are adjusted so as to look fine when used with Times Roman (in the cases of \texttt{xipa10}, \texttt{xipasl10}, \texttt{xipab10}) and Helvetica (in the case of \texttt{xipass10}). \section{Usage} \subsection{Declaration of \tipa{} package} In order to use \tipa{}, first declare \tipa{} package at the preamble of a document. \begin{verbatim} \documentclass{article} \usepackage{tipa} \end{verbatim} \subsection{Encoding options} The above declaration uses \texttt{OT1} as the default text encoding. If you want to use \tipa{} symbols with \texttt{T1}, specify the option `\texttt{T1}'. \begin{verbatim} \documentclass{article} \usepackage[T1]{tipa} \end{verbatim} If you want to use a more complex form of encoding, declare the use of \texttt{fontenc} package by yourself and specify the option `\texttt{noenc}'. In this case the option `\texttt{T3}', which represents the \tipa{} encoding, must be included as an option to the \texttt{fontenc} package. For example, if you want to use \tipa{} and the University Washington Cyrillic (\texttt{OT2}) with the \texttt{T1} text encoding, the following command will do this. \begin{verbatim} \documentclass{article} \usepackage[T3,OT2,T1]{fontenc} \usepackage[noenc]{tipa} \end{verbatim} By default, \tipa{} includes the \texttt{fontenc} package internally but the option \texttt{noenc} suppresses this. \subsection{Using \tipa{} with PSNFSS} In order to use \tipa{} with \texttt{times.sty}, declare the use of \texttt{times.sty} before declaring \texttt{tipa} packages. \begin{verbatim} \documentclass{article} \usepackage{times} \usepackage{tipa} \end{verbatim} Font description files \texttt{T3ptm.fd} and \texttt{T3phv.fd} are automatically loaded by the above declaration. \subsection{Other options}\label{sec:otheroptions} \tipa{} can be extended by the options \texttt{tone}, \texttt{extra}. If you want to use the optional package for `tone letters', add `\texttt{tone}' option to the \verb|\usepackage| command that declares \texttt{tipa} package. \begin{verbatim} \usepackage[tone]{tipa} \end{verbatim} And if you want to use diacritics for extIPA and Vo\-QS, specify `\texttt{extra}' option. \begin{verbatim} \usepackage[extra]{tipa} \end{verbatim} Finally there is one more option called `\texttt{safe}', which is used to suppress definitions of some possibly `dangerous' commands of \tipa. \begin{verbatim} \usepackage[safe]{tipa} \end{verbatim} More specifically, the following commands are suppressed by declaring the \texttt{safe} option. Explanation on the function of each command will be given later. \begin{itemize} \itemsep0pt \item \verb|\s| (equivalent to \verb|\textsyllabic|) \item \verb|\*| (already defined in plain \TeX) \item \verb+\|+, \verb|\:|, \verb|\;|, \verb|\!| (already defined in \LaTeX) \end{itemize} \section{Input Commands for Phonetic Symbols} \subsection{Ordinary phonetic symbols}\label{sec:OrdinarySymbol} \tipa{} phonetic symbols can be input by the following two ways. \begin{enumerate} \itemsep0pt \item Input macro names in the normal text environment. \item Input macro names or \emph{shortcut characters} with\-in the follwoing groups or environment. \begin{itemize} \item \verb|\textipa{...}|\footnote{I personally prefer a slightly shorter name like \texttt{\tbs ipa} rather than \texttt{\tbs textipa} but this command was named after the general convention of \LaTeXe. The same can be said to all the symbol names beginning with \texttt{\tbs text}.} \item \verb|{\tipaencoding ...}| \item \verb|\begin{IPA} ... \end{IPA}| \end{itemize} (These groups and environment will be henceforth refered to as the \textsl{IPA environment}.) \end{enumerate} A shortcut character refers to a single character that is assigned to a specific phonetic symbol and that can be directly input by an ordinary keyboard. In \tipa{} fonts, the character codes for numerals and uppercase letters in the normal ASCII encoding are assigned to such shortcut characters, because numerals and uppercase letters are usually not used as phonetic symbols. And additional shortcut characters for symbols such as \ae{}, \oe{}, \o{} may also be used if you are using a T1 encoded font and an appropriate input system for it. The following pair of examples show the same phonetic transcription of a English word that are input by the above mentioned two input methods. \begin{tipaexample} \xitem \ifTUG \verb|[\textsecstress\textepsilon kspl|\\ \verb|\textschwa\textprimstress ne|\\ \verb|\textsci\textesh\textschwa n]| \else \verb|[\textsecstress\textepsilon kspl\textschwa|\\ \verb|\textprimstress ne\textsci\textesh\textschwa n]| \fi \xitem {[\textsecstress\textepsilon kspl\textschwa\textprimstress ne\textsci\textesh\textschwa n]} \xitem \verb|\textipa{[""Ekspl@"neIS@n]}| \xitem \textipa{[""Ekspl@"neIS@n]} \end{tipaexample} It is apparent that inputting in the IPA environment is far easier than in the normal text environment. Moreover, although the outputs of the above examples look almost the same, they are \textsl{not\/} identical, exactly speaking. This is because in the IPA environment automatic kerning between symbols is enabled, as is illustrated by the following pair of examples. \begin{tipaexample} \xitem \verb|v\textturnv v w\textsca w |\Sep \verb|y\textturny y [\textesh]| \xitem v\textturnv v w\textsca w y\textturny y [\textesh] \xitem \verb|\textipa{v2v w\textsca w yLy [S]}| \xitem \textipa{v2v w\textsca w yLy [S]} \end{tipaexample} Table~\ref{tab:shortcut} shows most of the shortcut characters together with the corresponding characters in the ASCII encoding. \subsection{Naming of phonetic symbols} Every \tipa{} phonetic symbol has a unique symbol name, such as \textsl{Turned A, Hooktop B, Schwa}.\footnote{The naming was made based on the literature listed in the section entitled ``Selection of Symbols'' (page~\pageref{sec:selection}). And users of \tsipa{} should be careful because \tipa{}'s naming is slightly modified from that of \tsipa{}.}% Also each symbol has a corresponding control sequence name, such as \verb|\textturna|, \verb|\texthtb|, \verb|\textschwa|. The name used as a control sequence is usually an abbreviated form of the corresponding symbol name with a prefix \verb|\text|. The conventions used in the abbreviation are as follows. \begin{table} \begin{center} {\ifTUG\tabcolsep.4em\else\tabcolsep1em\fi \begin{tabular}{llc} \hline \emph{Symbol name} & \emph{Macro name} & \emph{Symbol}\\ \hline Turned A & \verb|\textturna| & \textturna \\ Glottal Stop & \verb|\textglotstop| & \textglotstop \\ Right-tail D & \verb|\textrtaild| & \textrtaild \\ Small Capital G & \verb|\textscg| & \textscg \\ Hooktop B & \verb|\texthtb| & \texthtb \\ Curly-tail C & \verb|\textctc| & \textctc \\ Crossed H & \verb|\textcrh| & \textcrh \\ Old L-Yogh Ligature & \verb|\textOlyoghlig| & \textOlyoghlig \\ Beta & \verb|\textbeta| & \textbeta \\ \hline \end{tabular}} \end{center} \caption{Naming of \tipa{} symbols}\label{tab:naming} \end{table} \begin{itemize} \itemsep0pt \item Suffixes and endings such as `-ive', `-al', `-ed' are omitted. \item `right', `left' are abbreviated to \texttt{r}, \texttt{l} respectively. \item For `small capital' symbols, prefix \texttt{sc} is added. \item A symbol with a hooktop is abbreviated as \texttt{ht}... \item A symbol with a curly-tail is abbreviated as \texttt{ct}... \item A `crossed' symbol is abbreviated as \texttt{cr}... \item A ligature is abbreviated as ...\texttt{lig}. \item For an old version of a symbol, prefix \texttt{O} is added. \end{itemize} Note that the prefix \texttt{O} (old) should be given in uppercase letter. Table~\ref{tab:naming} shows some examples of correspondence between symbol names and control sequence names. \subsection{Ligatures} Just like the symbols such as ``, '', --, ---, fi, ff are realized as ligatures by inputting \verb|``|, \verb|''|, \verb|--|, \verb|---|, \verb|fi|, \verb|ff| in \TeX{}, two of the \tipa{} symbols, namely \textsl{Secondary Stress} and \textsl{Double Pipe}, and double quotation marks\footnote{Although \tipa{} fonts do not include the symbols `` and '', a negative value of kerning is automatically inserted between ` and `, ' and ', so that the same results can be obtained as in the case of the normal text font.} can be input as ligatures in the IPA environment. \begin{tipaexample} \yitem \verb+\textipa{" "" | || `` ''}+ \yitem \textipa{" "" | || `` ''} \end{tipaexample} \subsection{Special macros {\tt\tbs*}, {\tt\tbs;}, {\tt\tbs:} and {\tt\tbs!}} \tipa{} defines {\tt\tbs*}, {\tt\tbs;}, {\tt\tbs:} and {\tt\tbs!} as special macros in order to easily input phonetic symbols that do not have a shortcut character explained above. Before explaining how to use these macros, it is necessary to note that these macros are primarily intended to be used by linguists who usually do not care about things in math mode. And they can be `dangerous' in that they override existing \LaTeX{} commands used in the math mode. So if you want to preserve the original meaning of these commands, daclare the option `\texttt{safe}' at the preamble. The macro \verb|\*| is used in three different ways. First, when this macro is followed by one of the letters f, k, r, t or w, it results in a turned symbol.\footnote{This idea was pointed out by J\"org Knappen.} \begin{tipaexample} \yitem \verb|\textipa{\*f \*k \*r \*t \*w}| \yitem \textipa{\*f \*k \*r \*t \*w} \end{tipaexample} Secondly, when this macro is followed by one of the letters j, n, h, l or z, it results in a frequently used symbol that has otherwise no easy way to input. \begin{tipaexample} \yitem \verb|\textipa{\*j \*n \*h \*l \*z}| \yitem \textipa{\*j \*n \*h \*l \*z} \end{tipaexample} Thirdly, when this macro is followed by letters other than the above cases, they are turned into the symbols of the default text font. This is useful in the IPA environment to select symbols temporarily from the normal text font. \begin{tipaexample} \yitem \verb|\textipa{\*A dOg, \*B k\ae{}t, |\Sep \verb|ma\super{\*{214}}}| \yitem \textipa{\*A dOg, \*B k\ae{}t, ma\super{\*{214}}} \end{tipaexample} The remaining macros {\tt\tbs;}, {\tt\tbs:} and {\tt\tbs!} are used to make small capital symbols, retroflex symbols, and implosives or clicks, respectively. \begin{tipaexample} \yitem \verb|\textipa{\;B \;E \;A \;H \;L \;R}| \yitem \textipa{\;B \;E \;A \;H \;L \;R} \yitem \verb|\textipa{\:d \:l \:n \:r \:s \:z}| \yitem \textipa{\:d \:l \:n \:r \:s \:z} \yitem \verb|\textipa{\!b \!d \!g \!j \!G \!o}| \yitem \textipa{\!b \!d \!g \!j \!G \!o} \end{tipaexample} \subsection{Punctuation marks} The following punctuation marks and text symbols that are normally included in the text encoding are also included in the \texttt{T3} encoding so that they can be directly input in the IPA environment. \begin{tipaexample} \yitem \verb|\textipa{! ' ( ) * + , - .\ / = ?|\\ \verb| [ ] `}| \yitem \textipa{! ' ( ) * + , - .\ / = ? [ ] `} \end{tipaexample} All the other punctuation marks and text symbols that are not included in \texttt{T3} need to be input with a prefix \verb|\*| explained in the last section when they appear in the IPA environment. \begin{tipaexample} \yitem \ifTUG \verb|\textipa{\*; \*: \*@ \*\# \*\$|\Sep \verb| \*\& \*\% \*\{ \*\}}| \else \verb|\textipa{\*; \*: \*@ \*\# \*\$ \*\& \*\% \*\{ \*\}}| \fi \yitem \textipa{\*; \*: \*@ \*\# \*\$ \*\& \*\% \*\{ \*\}} \end{tipaexample} \subsection{Accents and diacritics} Table~\ref{tab:accent} shows how to input accents and diacritics in \tipa{} with some examples. Here again, there are two kinds of input methods; one for the normal text environment, and the other for the IPA environment. \begin{table} \begin{center} {\ifTUG\tabcolsep.4em\else\tabcolsep1em\fi \def\TblShrt#1{\hbox to 2em{#1\hss}} \def\TblMvRt#1{\kern 2em #1} \begin{tabular}{llc} \hline \textit{Input in the normal}& \textit{Input in the IPA} & \textit{Output} \\ \textit{text environment} & \textit{environment} & \\ \hline \TblShrt{\Tt{'a}} & \TblMvRt{\Tt{'a}} &\textipa{\'a} \\ \TblShrt{\Tt{"a}} & \TblMvRt{\Tt{"a}} &\textipa{\"a} \\ \TblShrt{\Tt{~a}} & \TblMvRt{\Tt{\ttilde a}} &\textipa{\~a} \\ \TblShrt{\Td{r}{a}} & \TblMvRt{\Td{r}{a}} &\textipa{\r{a}}\\ \TblShrt{\Td{textsyllabic}{m}} & \TblMvRt{\Td{s}{m}} &\textipa{\s{m}}\\ \TblShrt{\Td{textsubumlaut}{a}} & \TblMvRt{\Tt{"*a}} &\textipa{\"*a}\\ \TblShrt{\Td{textsubtilde}{a}} & \TblMvRt{\Tt{\ttilde*a}} &\textipa{\~*a}\\ \TblShrt{\Td{textsubring}{a}} & \TblMvRt{\Tt{r*a}} &\textipa{\r*a}\\ \TblShrt{\Td{textdotacute}{e}} & \TblMvRt{\Tt{.'e}} &\textipa{\.'e}\\ \TblShrt{\Td{textgravedot}{e}} & \TblMvRt{\Tt{`.e}} &\textipa{\`.e}\\ \TblShrt{\Td{textacutemacron}{a}}& \TblMvRt{\Tt{'=a}} &\textipa{\'=a}\\ \TblShrt{\Td{textcircumdot}{a}} & \TblMvRt{\Tt{\tcircum.a}}&\textipa{\^.a}\\ \TblShrt{\Td{texttildedot}{a}} & \TblMvRt{\Tt{\ttilde.a}} &\textipa{\~.a}\\ \TblShrt{\Td{textbrevemacron}{a}}& \TblMvRt{\Tt{u=a}} &\textipa{\u=a}\\ %\Td{}{a} & \Tt{} &\textipa{}\\ \hline \end{tabular}} \end{center} \caption{Examples of inputting accents}\label{tab:accent} \end{table} In the IPA environment, most of the accents and diacritics can be input more easily than in the normal text environment, especially in the cases of subscript symbols that are normally placed over a symbol and in the cases of combined accents, as shown in the table. As can be seen by the above examples, most of the accents that are normally placed over a symbol can be placed under a symbol by adding an \texttt{*} to the corresponding accent command in the IPA environment. The advantage of IPA environment is further exemplified by the all-purpose accent \verb+\|+, which is used as a macro prefix to provide shortcut inputs for the diacritics that otherwise have to be input by lengthy macro names. Table~\ref{tab:accprefix} shows examples of such accents. Note that the macro \verb+\|+ is also `dangerous' in that it has been already defined as a math symbol of \LaTeX{}. So if you want to preserve the original meaning of this macro, declare `\texttt{safe}' option at the preamble. \begin{table} \begin{center} {\ifTUG\tabcolsep.4em\else\tabcolsep1em\fi \def\TblShrt#1{\hbox to 2em{#1\hss}} \def\TblMvRt#1{\kern 2em #1} \begin{tabular}{llc} \hline \textit{Input in the normal}& \textit{Input in the IPA} & \textit{Output} \\ \textit{text environment} & \textit{environment} & \\ \hline \TblShrt{\Td{textsubbridge}{t}} & \TblMvRt{\Tt{|[t}} & \textipa{\|[t}\\ \TblShrt{\Td{textinvsubbridge}{t}}& \TblMvRt{\Tt{|]t}} & \textipa{\|]t}\\ \TblShrt{\Td{textsublhalfring}{a}}& \TblMvRt{\Tt{|(a}} & \textipa{\|(a}\\ \TblShrt{\Td{textsubrhalfring}{a}}& \TblMvRt{\Tt{|)a}} & \textipa{\|)a}\\ \TblShrt{\Td{textroundcap}{k}} & \TblMvRt{\Td{|c}{k}} & \textipa{\|c{k}}\\ \TblShrt{\Td{textsubplus}{o}} & \TblMvRt{\Tt{|+o}} & \textipa{\|+o}\\ \TblShrt{\Td{textraising}{e}} & \TblMvRt{\Tt{|'e}} & \textipa{\|'e}\\ \TblShrt{\Td{textlowering}{e}} & \TblMvRt{\Tt{|`e}} & \textipa{\|`e}\\ \TblShrt{\Td{textadvancing}{o}} & \TblMvRt{\Tt{|a}} & \textipa{\|>a}\\ \TblShrt{\Td{textovercross}{e}} & \TblMvRt{\Td{|x}{e}} & \textipa{\|x{e}}\\ \TblShrt{\Td{textsubw}{k}} & \TblMvRt{\Td{|w}{k}} & \textipa{\|w{k}}\\ \TblShrt{\Td{textseagull}{t}} & \TblMvRt{\Td{|m}{t}} & \textipa{\|m{t}}\\ \hline \end{tabular}} \end{center} \caption{Examples of the accent prefix {\tt \tbs|}}\label{tab:accprefix} \end{table} Finally, examples of words with complex accents that are input in the IPA environment are shown below. \begin{tipaexample} \yitem \verb+\textipa{*\|c{k}\r*mt\'om +\Sep \verb+*bhr\'=at\=er}+ \yitem \textipa{*\|c{k}\r*mt\'om *bhr\'=at\=er} \end{tipaexample} For a full list of accents and diacritics, see Appendix~A \subsection{Superscript symbols} In the normal text environment, superscript symbols can be input by a macro called \verb|\textsuperscript|, which has been newly introduced in the recent version of \LaTeXe. This macro takes one argument which can be either a symbol or a string of symbols, and can be nested. Since the name of this macro is too long, \tipa{} provides an abbreviated form of this macro called \verb|\super|. \begin{tipaexample} \xitem \verb|t\textsuperscript h |\Sep \verb|k\textsuperscript w|\\ \verb|a\textsuperscript{bc}|\\ \ifTUG \verb|a\textsuperscript{b%|\Sep \verb| \textsuperscript{c}}| \else \verb|a\textsuperscript{b\textsuperscript{c}}| \fi \xitem t\textsuperscript h k\textsuperscript w a\textsuperscript{bc} a\textsuperscript{b\textsuperscript{c}} \xitem \verb|\textipa{t\super{h} k\super{w}|\\ \verb| a\super{bc} a\super{b\super{c}}}| \xitem \textipa{\textipa{t\super{h} k\super{w} a\super{bc} a\super{b\super{c}}}} \end{tipaexample} These macros automatically select the correct size of superscript font no matter what size of the text font is used. \subsection{Tone letters}\label{sec:tone} \tipa{} provides a flexible system of macros for `tone letters'. A tone letter is represented by a macro called `\verb|\tone|', which takes one argument consisting of a string of numbers ranging from 1 to 5. These numbers denote pitch levels, 1 being the lowest and 5 the highest. Within this range, any combination is allowed and there is no limit in the length of combination. As an example of the usage of tone letter macro, the four tones of Chinese are show below. \begin{tipaexample} \yitem \verb|\tone{55}ma ``mother'', |\Sep \verb|\tone{35}ma ``hemp'',|\\ \verb|\tone{214}ma ``horse'', |\Sep \verb|\tone{51}ma ``scold''| \yitem \tone{55}ma ``mother'', \tone{35}ma ``hemp'', \Sep \tone{214}ma ``horse'', \tone{51}ma ``scold'' \end{tipaexample} \section{How easy to input phonetic symbols?} Let us briefly estimate here how much easy (or difficult) to input phonetic symbols with \tipa{} in terms of the number of keystrokes. The following table shows statistics for all the phonetic symbols that appear in the '93 version of IPA chart (diacritics and symbols for su\-pra\-seg\-men\-tals excluded). It is assumed here that each symbol is input within the IPA environment and the \texttt{safe} option is not specified. \begin{center} {\ifTUG \tabcolsep.4em\fi \begin{tabular}{c|c|l} \emph{keystrokes} & \emph{number} & \emph{examples} \\ \hline 1 & 65 & \textipa{a, b, @, A, B, etc.} \\ 2 & 2 & \textipa{\o, ||} \\ 3 & 30 & \textipa{\ae, \:t, \;B, \!b, etc.} \\ 5 & 1 & \textipa{\c{c}} \\ more than 5 & 7 & \textipa{\textcloseepsilon, \textbarglotstop, \textdoublebarpipe, \textturnmrleg, etc.} \end{tabular}} \end{center} As is shown in the table, about 92\% of the symbols can be input within three keystrokes. \section{Changing font styles} \begin{table} \begin{center} \ifTUG {\tabcolsep.4em \begin{tabular}{lll} \hline \emph{Roman} & \\ \verb|\textipa{f@"nEtIks}| &\textipa{f@"nEtIks} \\ \hline \emph{Slanted} & \\ \verb|\textipa{\slshape f@"nEtIks}| &\textipa{\slshape f@"nEtIks} or\\ \verb|\textipa{\textsl{f@"nEtIks}| &\textipa{\textsl{f@"nEtIks}} or\\ \verb|\textsl{\textipa{f@"nEtIks}| &\textsl{\textipa{f@"nEtIks}}\\ \hline \emph{Bold extended} & \\ \verb|\textipa{\bfseries f@"nEtIks}| &\textipa{\bfseries f@"nEtIks} or\\ \verb|\textipa{\textbf{f@"nEtIks}| &\textipa{\textbf{f@"nEtIks}} or\\ \verb|\textbf{\textipa{f@"nEtIks}| &\textbf{\textipa{f@"nEtIks}}\\ \hline \emph{Sans Serif} & \\ \verb|\textipa{\sffamily f@"nEtIks}| &\textipa{\sffamily f@"nEtIks} or\\ \verb|\textipa{\textsf{f@"nEtIks}| &\textipa{\textsf{f@"nEtIks}} or\\ \verb|\textsf{\textipa{f@"nEtIks}| &\textsf{\textipa{f@"nEtIks}}\\ \hline \end{tabular}} \else \begin{tabular}{@{\hspace{0pt}}lll} \emph{Roman}&\verb|\textipa{f@"nEtIks}| &\textipa{f@"nEtIks} \\ \emph{Slanted}&\verb|\textipa{\slshape f@"nEtIks}|&\textipa{\slshape f@"nEtIks}\\ or &\verb|\textipa{\textsl{f@"nEtIks}|&\textipa{\textsl{f@"nEtIks}}\\ or &\verb|\textsl{\textipa{f@"nEtIks}|&\textsl{\textipa{f@"nEtIks}}\\ \emph{Bold extended} & \verb|\textipa{\bfseries f@"nEtIks}| & \textipa{\bfseries f@"nEtIks}\\ or &\verb|\textipa{\textbf{f@"nEtIks}|&\textipa{\textbf{f@"nEtIks}}\\ or &\verb|\textbf{\textipa{f@"nEtIks}|&\textbf{\textipa{f@"nEtIks}}\\ \emph{Sans serif}& \verb|\textipa{\sffamily f@"nEtIks}| & \textipa{\sffamily f@"nEtIks}\\ or &\verb|\textipa{\textsf{f@"nEtIks}|&\textipa{\textsf{f@"nEtIks}}\\ or &\verb|\textsf{\textipa{f@"nEtIks}|&\textsf{\textipa{f@"nEtIks}}\\ \end{tabular} \fi \end{center} \caption{Examples of font switching}\label{tab:fontswitch} \end{table} This version of \tipa{} includes five styles of fonts, i.e.\ roman, slanted, bold, bold extended and sans serif. These styles can be switched in much the same way as in the normal text fonts (see table~\ref{tab:fontswitch}). The bold fonts are usually not used within the standard \LaTeX{} class packages so that if you want to use them, it is necessary to use low-level font selection commands of \LaTeXe. \begin{tipaexample} \yitem \verb|{\fontseries{b}\selectfont| \Sep \verb|abcdefg \textipa{ABCDEFG}}| \yitem {\fontseries{b}\selectfont abcdefg \textipa{ABCDEFG}} \end{tipaexample} Note also that slanting of \tipa{} symbols should correctly work even in the cases of combined accents and in the cases of symbols made up by macros. \begin{tipaexample} \yitem \verb|\textsl{\textipa{\'{\"{\u*{e}}}}}| \yitem \textsl{\textipa{\'{\"{\u*{e}}}}} \yitem \verb|\textsl{\textdoublebaresh}| \yitem \textsl{\textdoublebaresh\/} {\small(This symbol is composed by a macro.)} \end{tipaexample} \section{Internal commands} Some of the internal commands of \tipa{} are defined without the letter \texttt{@} in order to allow a user to extend the capability of \tipa{}. \subsection{{\tt\tbs ipabar}} Some \tipa{} symbols such as \verb|\textbarb| \textbarb, \verb|\textcrtwo| \textcrtwo{} are defined by using an internal macro command \verb|\ipabar|. This command is useful when you want to make barred or crossed symbols not defined in \tipa{}. This command requires the following five parameters to control the position of the bar. \begin{itemize} \itemsep0pt \item {\tt\#1} the symbol to be barred \item {\tt\#2} the height of the bar (in dimen) \item {\tt\#3} bar width \item {\tt\#4} left kern added to the bar \item {\tt\#5} right kern added to the bar \end{itemize} Parameters \texttt{\#3}, \texttt{\#4}, \texttt{\#5} are to be given in a scaling factor to the width of the symbol, which is equal to 1 if the bar has the same width with the symbol in question. For example, the following command states a barred b (\textbarb) of which the bar position in the y-coordinate is \verb|.5ex| and the width of the bar is slightly larger than that of the letter b. \ifTUG \begin{verbatim} % Barred B \newcommand\textbarb{% \ipabar{{\tipaencoding b}}% {.5ex}{1.1}{}{}} \end{verbatim} \else \begin{verbatim} % Barred B \newcommand\textbarb{% \ipabar{{\tipaencoding b}}{.5ex}{1.1}{}{}} \end{verbatim} \fi Note that the parameters \texttt{\#4} and \texttt{\#5} can be left blank if the value is equal to 0. And the next example declares a barred c (\textbarc) of which the bar width is a little more than half as large as the letter c and it has the same size of kerning at the right. \ifTUG \begin{verbatim} % Barred C \newcommand\textbarc{% \ipabar{{\tipaencoding c}}% {.5ex}{.55}{}{.55}} \end{verbatim} \else \begin{verbatim} % Barred C \newcommand\textbarc{% \ipabar{{\tipaencoding c}}{.5ex}{.55}{}{.55}} \end{verbatim} \fi More complex examples with the \verb|\ipabar| command are found in \texttt{T3enc.def}. \subsection{{\tt\tbs tipaloweraccent}, {\tt\tbs tipaupperaccent}} These two commands are used in the definitions of \tipa{} accents and diacritics. They are special forms of the commands \verb|\loweraccent| and \verb|\upperaccent| that are defined in \texttt{exaccent.sty}. The difference between the commands with the prefix \verb|tipa| and the ones without it is that the former commands select accents from a T3 encoded font while the latter ones do so from the current text font. These commands take two parameters, the code of the accent (in decimal, octal or hexadecimal number) and the symbol to be accented, as shown below. \begin{tipaexample} \yitem \verb|\tipaupperaccent{0}{a}| \yitem \tipaupperaccent{0}{a} \end{tipaexample} Optionally, these commands can take a extra parameter to adjust the vertical position of the accent. Such an adjustment is sometimes necessary in the definition of a nested accent. The next example shows \tipa's definition of the `Circumflex Dot Accent' (e.g.\ \textcircumdot{a}). \ifTUG \begin{verbatim} % Circumflex Dot Accent \newcommand\textcircumdot[1]% {\tipaupperaccent[-.2ex]{2}% {\tipaupperaccent[-.1ex]{10}{#1}}} \end{verbatim} \else \begin{verbatim} % Circumflex Dot Accent \newcommand\textcircumdot[1]{\tipaupperaccent[-.2ex]{2}% {\tipaupperaccent[-.1ex]{10}{#1}}} \end{verbatim} \fi This definition states that a dot accent is placed over a symbol thereby reducing the vertical distance between the symbol and the dot by \texttt{.1ex} and a circumflex accent is placed over the dot and the distance between the two accents is reduced by \texttt{.2ex}. If you want to make a combined accent not included in \tipa{}, you can do so fairly easily by using these two commands together with the optional parameter. For more examples of these commands, see \verb|tipa.sty| and \verb|extraipa.sty|. \subsection{{\tt\tbs tipaLoweraccent}, {\tt\tbs tipaUpperaccent}} These two commands differ from the two commands explaind above in that the first parameter should be a symbol (or any other things, typically an \verb|\hbox|), rather than the code of the accent. They are special cases of the commands \verb|\Loweraccent| and \verb|\Upperaccent| and the difference between the two pairs of commands is the same as before. The next example makes a schwa an accent. \begin{tipaexample} \yitem \ifTUG \verb|\tipaUpperaccent[.2ex]%|\\ \verb| {\lower.8ex\hbox{%|\\ \verb| \textipa{\super@}}}{a}| \else \verb|\tipaUpperaccent[.2ex]%|\\ \verb| {\lower.8ex\hbox{\textipa{\super@}}}{a}| \fi \yitem \tipaUpperaccent[.2ex]{\lower.8ex\hbox{\textipa{\super@}}}{a} \end{tipaexample} \section{Acknowledgments} First of all, many thanks are due to the co-authors of \tsipa{}, Kobayashi Hajime and Shirakawa Shun. Ko\-ba\-yashi Hajime was the main font designer of \tsipa{}. Shirakawa Shun worked very hard in deciding encoding, checking the shapes of symbols and writing the Japanese version of document. \tipa{} was impossible without \tsipa{}. I would like to thank also J\"org Knappen whose insightful comments helped greatly in many ways the development of \tipa{}. I was also helped and encouraged by Christina Thiele, Martin Haase, Kirk Sullivan and many other members of the \texttt{ling-tex} mailing list. At the last stage of the development of \tipa{} Frank Mittelbach gave me precious comments on how to incorporate various \tipa{} commands into the NFSS. I would like to thank also Barbara Beeton who kindly read over the preliminary draft of this document and gave me useful comments. \ifTUG\else \bibliographystyle{plain} \fi \bibliography{tipa} \endinput