
Tenho algumas fórmulas matemáticas nas quais preciso do estilo romano em negrito para algumas expressões matemáticas. Como eles aparecem com bastante frequência, preciso de uma macro para eles. A maneira óbvia é escrever \newcommand{\foo}[1]{\mathbf{#1}}
, o que funciona em princípio. No entanto, ele desmorona quando o argumento do comando contém um sobrescrito e há um subscrito adicionado fora do comando, como este: \foo{x^k}_t
o que resulta em
onde otsubscript está muito longe, provavelmente porque está fora de um arquivo mbox
. Usando o bm
pacote e definindo \newcommand{\foo}[1]{\bm{#1}}
, obtenho o espaçamento correto como desejo:
Mas agora voltei à fonte errada, pois não está mais no estilo romano. E todas as abordagens que tentei combinar \bm
e mudar para um estilo romano falharam de uma forma ou de outra. Não consigo encontrar uma solução que se pareça com o segundo caso, mas use uma fonte romana como no primeiro caso. Alguma idéia de como eu poderia resolver isso? Desde já, obrigado!
Responder1
Você pode obter da marcação desejada até a marcação que o barabra disse corretamente que você precisa:
\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}
Responder2
você pode usar \mathbf
para obter as letras verticais - mas é necessário inseri-las separadamente para base e scripts:
$\mathbf{x}^{\mathbf{k}}_t$
Responder3
Você poderia modificar a definição de \foo
instruir \bm
para operar \mathrm{#1}
em vez de "just" #1
. (A propósito, estou assumindo que, como o símbolo principal e o termo sobrescrito devem estar emvertical em negrito, o mesmo vale para o termo subscrito. Por favor, informe se esta suposição é inválida.)
\documentclass{article}
\usepackage{bm}
\newcommand{\foo}[1]{\bm{\mathrm{#1}}}
\begin{document}
$\foo{x^k}$, $\foo{x^k_t}$
\end{document}