
Escrevendo uma gramática aproximada em XeLaTeX e usando fontspec para alterar a fonte padrão para Bitstream Charter em vez de CM. Tudo funciona bem para a primeira página de saída, mas na segunda página a fonte muda abruptamente para Computer Modern. Não consigo encontrar nenhuma razão para isso. Meu preâmbulo está configurado assim:
\usepackage[left=0.5in,right=0.5in,top=1in,bottom=1in]{geometry}
\renewcommand{\rmdefault}{bch}
\usepackage{fontspec}
\newfontfamily\la{Brill Roman}
\usepackage{xunicode}
\usepackage{xltxtra}
\usepackage{array}
\usepackage{multirow}
\renewcommand{\p}{\textipa}
A saída na segunda página é assim:
E o código LaTeX real para essa região funciona assim.
\item \la{V} $\to$ any of the vowels or diphthongs.
\item \la{C2} $\to$ optional; restricted to nasals, fricatives, and \la{/l/}.
\end{enumerate}
\item \la{N} -- syllabic nasal. May be any of the nasals.
\end{enumerate}
\large{\textbf{Stress}}
Stress is always on the penultimate syllable.
Responder1
Uma distribuição TeX atualizada possui a fonte XCharter OpenType, então você pode usá-la em vez da \renewcommand{\rmdefault}{bch}
qual não fornecerá nada, exceto caracteres ASCII.
Além disso, \la
como você definiu, é apenas uma opção que diz ao XeLaTeX para usar o Brill daquele ponto em diante.
Um documento correto seria
\documentclass{article}
\usepackage[left=0.5in,right=0.5in,top=1in,bottom=1in]{geometry}
\usepackage{fontspec}
\setmainfont{XCharter}
\newfontfamily\lafont{Brill Roman}[Color=FF0000]
\DeclareTextFontCommand{\la}{\lafont}
\usepackage{array}
\usepackage{multirow}
\newcommand{\p}{\textipa}
\begin{document}
\begin{enumerate}
\item \la{V} $\to$ any of the vowels or diphthongs.
\item \la{C2} $\to$ optional; restricted to nasals, fricatives, and \la{/l/}.
\item \la{N} -- syllabic nasal. May be any of the nasals.
\end{enumerate}
{\large\textbf{Stress}\par}
Stress is always on the penultimate syllable.
\end{document}
Observe que \la
agorafazaceita uma discussão, mas \large
não o faz. O texto está na fonte Charter, enquanto o texto do argumento de \la
will estará em Brill (colori de vermelho só para dar maior ênfase no exemplo, retire a Color=FF0000
opção).
Se você não tiver XCharter
fontes do sistema, poderá usar uma configuração mais complexa:
\setmainfont{XCharter}[%
Extension=.otf,
UprightFont=*-Roman,
ItalicFont=*-Italic,
BoldFont=*-Bold,
BoldItalicFont=*-BoldItalic,
]
Observe também que xunicode
e xltxtra
geralmente não deve ser carregado.
Dependendo da versão fontspec
disponível, pode ser necessário mudar a ordem dos argumentos obrigatórios e opcionais para \setmainfont
e \newfontfamily
:
\newfontfamily\lafont[Color=FF0000]{Brill Roman}
\setmainfont[%
Extension=.otf,
UprightFont=*-Roman,
ItalicFont=*-Italic,
BoldFont=*-Bold,
BoldItalicFont=*-BoldItalic,
]{XCharter}
Neste caso é melhor atualizar sua distribuição TeX.
Responder2
em
\la{N}
eles {}
não estão fazendo nada, \la
não aceitam argumentos, trocam a fonte para o restante do grupo atual. Nesse caso, é \end{enumerate}
assim que a fonte (e quaisquer outras declarações locais) revertem para os valores que tinham em \begin{enumerate}
.
Não está claro se você pretendia \la
apenas alterar a fonte N
ou se deseja alterar a fonte do documento while, caso em que você poderia usar
\setmainfont{Brill Roman}