非数学模式文本中的尖括号

非数学模式文本中的尖括号

有没有办法直接将尖括号输入文本而无需借助数学模式符号?

我想在语言学论文中正确标明正字法,并一直使用单个海鸠 ‹ › ,因为它们易于输入且显示正确。但我更喜欢使用尖括号,如 ⟨ ⟩ 。如果我直接输入这些 (U+27E8 和 U+27E9),它们无法正确显示 — 我更喜欢 Linux Libertine 字体系列 — 但$\langle$ $\rangle$显示得很好。由于我的其余文档使用 UTF-8 和fontspec,我不希望用数学命令弄乱正文。

有没有解决的办法?

答案1

fontspec没有用于用不同字体的字符替换某些字符的界面,但幸运的是埃格尔提供了一个包裹这样做:

\documentclass{article}
\usepackage{fontspec}
\usepackage{newunicodechar}
\setmainfont{Linux Libertine O}

\newfontfamily\anglefont{Free Serif}    % Change to whatever font you prefer that has ⟨⟩.
\newunicodechar{⟨}{{\anglefont ⟨}}
\newunicodechar{⟩}{{\anglefont ⟩}}

\begin{document}
This is Linux Libertine with ⟨ and ⟩ from {\anglefont Free Serif}.
\end{document}

结果

答案2

您可以使用软件包提供的命令\textlangle和。如果每次输入的字母太多,您可以为它们定义快捷方式,例如和。以下 MWE 也说明了这个想法\textrangletextcomp\la\ra

% !TEX TS-program = xelatex
\documentclass{article}
\usepackage{fontspec}
% \setmainfont{Linux Libertine O} % select your main text font here
\usepackage{textcomp,    % for \textlangle and \textrangle macros
            xspace}
\newcommand\la{\textlangle\xspace}  % set up short-form macros
\newcommand\ra{\textrangle\xspace}
\begin{document}
\noindent
\textlangle\ and \textrangle; \newline 
\la and \ra.   % abbreviated macros; note: no need to insert explicit whitespace after "\la"
\end{document}

在此处输入图片描述

相关内容