
ドキュメントでは Cambria Math を使用する必要がありますが、同時に環境\checkmark
でも使用できる必要がありますitemize
。しかし、ロードするとすぐにunicode-math
チェックマークが消えてしまいます。これを回避する方法はありますか?
私は次の MWE をlualatex
(TeX Live 2013/dev) でコンパイルしています:
\documentclass{article}
\usepackage{amsfonts} % for the \checkmark command
\usepackage{unicode-math} % hides \checkmark?
\usepackage{fontspec}
\setmainfont{Cambria}
\setsansfont{Calibri}
%\setmathfont{Cambria Math}
\begin{document}
$a + b$
\begin{itemize}
\item[\checkmark] a
\item[\checkmark] b
\item[\checkmark] c
\end{itemize}
\end{document}
答え1
AMS ティックを戻したい場合は、フォントをロードするだけで済みます。最も簡単な方法は、テキスト フォントとしてロードすることです。また、unicode-math
一部の定義が遅延されるためbegin{document}
、(再)定義をそれ以降まで遅延する必要があります。
\documentclass{article}
\usepackage{unicode-math}
\usepackage{fontspec}
\setmainfont{Cambria}
\setsansfont{Calibri}
\setmathfont{Cambria Math}
%%\DeclareFixedFont\amsa{U}{msa}{m}{n}{10}
%%\AtBeginDocument{\renewcommand\checkmark{{\amsa \char"58}}}
\AtBeginDocument{\renewcommand\checkmark{\usefont{U}{msa}{m}{n}X}}
\begin{document}
$a + b$
\begin{itemize}
\item[\checkmark] a
\item[\checkmark] b
\item[\checkmark] c
\end{itemize}
\end{document}
答え2
私は Cambria を持っていませんが、症状はグリフが欠落していることを示しています。 の使用はamsfonts
推奨されません。そのシンボルは、優れた Unicode 数学フォントで既に利用できるはずです。
たとえば次のようにすると、シンボルに別のフォントを選択できます。
\setmathfont[range=\checkmark]{Asana Math}
\checkmark
ただし、これは単に文字 ✓ (Unicode U+2713) を出力するため、数式の場合のみ記号が提供されます。
追加することもできます
\AtBeginDocument{%
\renewcommand\checkmark{\ensuremath{\char\string"2713}}%
}
そうすれば再定義は機能するでしょう。
次に例を示します。
\documentclass{article}
\usepackage{unicode-math}
\setmainfont{XITS}
\setmathfont{XITS Math}
\setmathfont[range=\checkmark]{Asana Math}
\AtBeginDocument{%
\renewcommand\checkmark{\ensuremath{\char\string"2713}}%
}
\begin{document}
A checkmark in the main font, just to show the difference: \char"2713
\begin{itemize}
\item[\checkmark] a
\item[\checkmark] b
\item[\checkmark] c
\end{itemize}
\end{document}
ご覧のとおり、\checkmark
別のフォント (この場合は Asana Math) が使用されています。
答え3
他の回答に加えて、次の 3 つの回避策を見つけました。
1) 簡単な回避策(パッケージと別のコマンドを使用)
\Checkmark
回避策として、私はbbding
この回答のパッケージhttps://tex.stackexchange.com/a/10194/1871残念ながらそうではありませんその通りcheckmark
からに等しいamsfonts
。
\documentclass{article}
\usepackage{bbding} % for the \Checkmark command
\usepackage{unicode-math}
\usepackage{fontspec}
\setmainfont{Cambria}
\setsansfont{Calibri}
\setmathfont{Cambria Math}
\begin{document}
$a + b$
\begin{itemize}
\item[\Checkmark] a
\item[\Checkmark] b
\item[\Checkmark] c
\end{itemize}
\end{document}
2) 「MSWord」に一致する回答(Wingdings フォントを使用)
MSWord の Itemize では、チェック マークに Wingdings フォントが使用されるため、一貫した外観が得られます (コードの残りの部分については David の回答を参照してください)。
\newfontfamily\wingdingsfont{Wingdings}
\newcommand\wingdings[1]{{\wingdingsfont\symbol{#1}}}
\AtBeginDocument{\renewcommand\checkmark{\wingdings{252}}}
3) 貧乏人(Cambria 内の既存の Unicode グリフを使用)
もう 1 つの純粋な Cambria の (しかしひどい) 回避策は、チェックマークに別の記号を使用することです (当然、平方根のように見えます)。
\begin{itemize}
\item[$⎷$] a
\item[√] b
\item[\checkmark] c (for comparison) %using solution #2
\end{itemize}