我想实现以下目标:表达式右边的一个点
通过这个最小的例子
\documentclass{article}
\usepackage{amsmath}
\usepackage{accents}
\newcommand{\dotr}[1]{%
#1\accentset{\mbox{\bfseries .}}{\vphantom{#1}}}
\begin{document}
$\dotr{(X+Y)}$
\end{document}
但点太高。我怎样才能降低点?
多谢!
答案1
\bullet
使用上标的简单解决方案:
\documentclass{article}
\usepackage{amsmath}
\newcommand{\dotr}[1]{#1^{\bullet}}
\begin{document}
$\dotr{(X+Y)}$
\end{document}
如果项目符号太大,可以使用graphicx
包将其缩小。以下示例还测量了第一个术语,并将项目符号放在尽可能高的高度,但不超过前一个术语的高度:
\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}
\makeatletter
\newcommand{\dotr}[1]{%
\mathpalette\@dotr{#1}%
}
\newcommand*{\@dotr}[2]{%
% #1: math style (\displaystyle, ..., \scriptscriptstyle)
% #2: argument of \dotr
\sbox0{$\m@th#1#2$}%
\usebox{0}%
% simulating a superscript
\raisebox{\dimexpr\ht0-\height}{$\m@th#1\@smallbullet#1\bullet$}%
\kern\scriptspace
}
\newcommand*{\@smallbullet}[2]{%
\scalebox{.5}{$\m@th#1#2$}%
}
\makeatother
\begin{document}
$\dotr{(X+Y)}$
\end{document}
评论:
- 小子弹的大小可以通过 的数字来配置
\scalebox
。 \mathpalette
考虑到当前的数学风格。在问题的答案中进一步解释“的奥秘\mathpalette
”。因此\@dotr
有两个参数,第一个参数是数学风格。\m@th
只是一个快捷方式(在 LaTeX 内核中定义),用于\mathsurround=0pt
某些情况下在数学公式周围留有额外空白的功能。\sbox
是使用水平框设置框寄存器(第一个参数)的 LaTeX 版本,其内容在第二个参数中给出。它应该在 LaTeX 手册中解释。即使低于 10 的框号也是用于本地分配的免费临时寄存器。该组由间接给出\mathpalette
。
答案2
另一种方法:
\documentclass{article}
\usepackage{amsmath}
\newcommand{\dotr}{\mbox{$\boldsymbol{\cdot}$}}
\begin{document}
$(X+Y)^{\dotr}$
\end{document}
答案3
您的标题说“左”,但您的示例代码有一个标准的右上标?
假设你想把它放在右边,我可能会这样做
(X+Y)^{\cdot}
答案4
请比较:
\documentclass{article}
\usepackage{amsmath}
\usepackage{accents}
\newcommand{\dotr}[1]{%
#1\accentset{\mbox{\bfseries .}}{\vphantom{#1}}}
\begin{document}
$\dotr{(X+Y)}$
$(X+Y)^{\textstyle\textbf{.}}$
\end{document}
当然,可以校正高度。