この度、久々に数式を組むことになりまして、LuaLaTeXでやっていきたいと思っているのですが、今までceo.styにお世話になって使ってきたものでLuaLaTeXの環境下でも数式部分だけでも使いたいと考えています。
LuaLaTeXでは「unicode-math」を使うことで数式書体を随意に変更できるということなのでそちらを用いて実現したいと考えております。現在、こちらを参考にしているのですが、インテグラルやシグマ、+、-といったものまで変更するにはどうしたら良いのでしょうか?
誰もリプライしないので、私なりの解釈です。誤解していたら指摘していただけると助かります。
数式書体を随意に変更云々 とのことですが、\setmathfont
で切り替えることなのではないでしょうか?
[LaTeX] unicode-math --- XeTeXおよびLuaTeXのUnicode数学サポート ~入門~ を参考に、\setmathfont
で様々なフォントを切り替えるコードを以下に示しますのでお好みのフォントを利用すれば良いのかと思います。
なおフォントによってはグリフのないものもありますが ∮
で書くか \int
で書くか、Σ
と \sum
の違いもわかるかと思います。
なお、ceo.sty は普段使わないので、以下のソースには含めていません。
%%% ここから --- ✂︎ ------ ✂︎ ------ ✂︎ ---
\documentclass{jlreq}
%\usepackage[mathrm=sym]{unicode-math}
\usepackage{unicode-math}
\begin{document}
\newcommand{\myXXX}[1]{
\setmathfont{#1}
\item \framebox[1.5cm]{$ ∮ Σ + -$}%
~ %
\framebox[2cm]{$∮_{b}^{a} f(x) dx$}%
\framebox[2cm]{$\int_{b}^{a} f(x) dx$}%
~ %
\framebox[2cm]{$Σ_{n=2}^\infty a_n $}%
\framebox[2cm]{$\sum_{n=2}^\infty a_n $}%
~ %
\fbox{#1}
}
\begin{itemize}
\myXXX{Asana-Math.otf}
\myXXX{Concrete-Math.otf}
\myXXX{Erewhon-Math-Bold.otf}
\myXXX{Erewhon-Math.otf}
\myXXX{Euler-Math.otf}
\myXXX{FiraMath-Regular.otf}
\myXXX{Garamond-Math.otf}
\myXXX{GFSNeohellenicMath.otf}
\myXXX{KpMath-Bold.otf}
\myXXX{KpMath-Light.otf}
\myXXX{KpMath-Regular.otf}
\myXXX{KpMath-Sans.otf}
\myXXX{KpMath-SansBold.otf}
\myXXX{KpMath-Semibold.otf}
\myXXX{latinmodern-math.otf}
\myXXX{LibertinusMath-Regular.otf}
\myXXX{NewCMMath-Book.otf}
\myXXX{NewCMMath-Regular.otf}
\myXXX{STIXMath-Regular.otf}
\myXXX{STIXTwoMath-Regular.otf}
\myXXX{texgyrebonum-math.otf}
\myXXX{texgyredejavu-math.otf}
\myXXX{texgyrepagella-math.otf}
\myXXX{texgyreschola-math.otf}
\myXXX{texgyretermes-math.otf}
\myXXX{XCharter-Math-Bold.otf}
\myXXX{XCharter-Math.otf}
\myXXX{XITSMath-Bold.otf}
\myXXX{XITSMath-Regular.otf}
\end{itemize}
\end{document}
%%% ここまで --- ✂︎ ------ ✂︎ ------ ✂︎ ---
以下のようなマクロで対応できるのですが ... 数式ブロック内でフォントを変更するためだと思いますが、警告メッセージが表示されます。
\newcommand{\myUniINT}{{\setmathfont{Asana-Math.otf}∮}}
\newcommand{\myUniPLUS}{{\setmathfont{KpMath-SansBold.otf}+}}% U+002B
\framebox[5cm]{$\myUniINT_{b}^{a} f(x) dx = ax \myUniPLUS b$}%
\newcommand{\myINT}{{\setmathfont{Asana-Math.otf}\int}}
\newcommand{\myMATHPLUS}{{\setmathfont{KpMath-SansBold.otf}\mathplus}}
\framebox[5cm]{$\myINT_{b}^{a} f(x) dx = ax \myMATHPLUS b$}
意図されていることの理解不足で申し訳ございません。
可能であれば、お試しのコードやログファイルをあぷうロードしてください。
texdoc unicode-math
range で検索したところ p7 4.1 Using multiple fonts を参考になるようです。
サンプルコード
インテグラル \int
と = + -
のフォントを変更したことがわかるようなフォントで試してみました。
\documentclass[landscape]{jlreq}
%\usepackage[mathrm=sym]{unicode-math}
\usepackage{unicode-math}
\begin{document}
\newcommand{\myXXX}{
\bigskip
\fbox{$\int_{b}^{a} f(x) dx = ax \mathplus (←mathplus) + (←演算子+) - (←演算子-)$}
}
\Huge
\setmathfont{Libertinus Math}
\myXXX
\setmathfont{KpMath-SansBold.otf}[range={"002B,"002D,"003D}] % + 002B / - 002D / = 003D
\setmathfont{Erewhon-Math-Bold.otf}[range={\int}]
\myXXX
演算子マイナスは、違いがわからないが、インテグラル = + は違いがわかる
\end{document}