
いくつかの数式で、太字のローマン体が必要なものがあります。これらは頻繁に使用されるため、マクロが必要です。 と書くのが分かりやすい方法ですが\newcommand{\foo}[1]{\mathbf{#1}}
、これは原理的には機能します。ただし、コマンド引数に上付き文字が含まれていて、コマンドの外側に下付き文字が追加されている場合は、次のように機能しません。\foo{x^k}_t
その結果、
どこt下付き文字が離れすぎています。おそらく の外側にあるためですmbox
。bm
パッケージを使用して を定義すると\newcommand{\foo}[1]{\bm{#1}}
、必要な正しい間隔が得られます。
しかし、もうローマ字スタイルではないため、間違ったフォントに戻ってしまいました。また、組み合わせて\bm
ローマ字スタイルに切り替えようとしたすべてのアプローチは、何らかの形で失敗しています。2 番目のケースのように見える解決策は見つからないようですが、最初のケースのようにローマ字フォントを使用します。この問題を解決する方法について何かアイデアはありますか? よろしくお願いします!
答え1
必要なマークアップから、barabra が正しく指定したマークアップを取得できます。
\documentclass{article}
\usepackage{bm}
\def\foo#1{\xfoo#1\relax^\relax\valign}
\def\xfoo#1^#2\relax#3\valign{%
\mathbf{#1}\ifx\valign#2\valign\else^{\mathbf{#2}}\fi}
\begin{document}
$\foo{x}$, $\foo{x}_t$
$\foo{x^k}$, $\foo{x^k}_t$
\end{document}
答え2
\mathbf
垂直の文字を取得するには、次のように使用できますが、ベースとスクリプトを別々に入力する必要があります。
$\mathbf{x}^{\mathbf{k}}_t$
答え3
の定義を変更して、を「単に」ではなくに作用するように\foo
指示することができます。(ちなみに、メインシンボルと上付き文字の項は\bm
\mathrm{#1}
#1
直立した大胆な下付き文字の項についても同様です。この仮定が無効である場合はご指摘ください。
\documentclass{article}
\usepackage{bm}
\newcommand{\foo}[1]{\bm{\mathrm{#1}}}
\begin{document}
$\foo{x^k}$, $\foo{x^k_t}$
\end{document}