我正在尝试复制教授在笔记中用于向量点积的点,但我很难做到这一点。它看起来像这样:
我尝试了几种方法。\cdot
太薄了
而且\bullet
太厚
而使用\Large
和\cdot
会产生错误。此外,在仔细研究符号列表后,我无法在\cdot
和之间找到一个良好的平衡点\bullet
。
我怎样才能获得最接近第一张图片的点?
答案1
也许你可以找到一个更好的名字,\dotp
或类似的东西。
\documentclass{scrartcl}
\usepackage{graphicx}
\makeatletter
\newcommand*\bigcdot{\mathpalette\bigcdot@{.5}}
\newcommand*\bigcdot@[2]{\mathbin{\vcenter{\hbox{\scalebox{#2}{$\m@th#1\bullet$}}}}}
\makeatother
\begin{document}
$a \bigcdot b$
\end{document}
答案2
答案3
下面的例子扩展了 Manuel 的回答有两种方式:
\cdot
垂直位置固定为使符号垂直居中于数学轴周围\bullet
。- 符号的宽度不是 的缩小版宽度
\bullet
(带有缩小的侧边距),而是 的稍大宽度\cdot
。
比例和宽度因子可以通过宏\bigcdot@scalefactor
和来配置\bigcdot@widthfactor
。
\documentclass{scrartcl}
\usepackage{color}
\usepackage{graphicx}
\makeatletter
\newcommand*{\bigcdot}{}% Check if undefined
\DeclareRobustCommand*{\bigcdot}{%
\mathbin{\mathpalette\bigcdot@{}}%
}
\newcommand*{\bigcdot@scalefactor}{.5}
\newcommand*{\bigcdot@widthfactor}{1.15}
\newcommand*{\bigcdot@}[2]{%
% #1: math style
% #2: unused
\sbox0{$#1\vcenter{}$}% math axis
\sbox2{$#1\cdot\m@th$}%
\hbox to \bigcdot@widthfactor\wd2{%
\hfil
\raise\ht0\hbox{%
\scalebox{\bigcdot@scalefactor}{%
\lower\ht0\hbox{$#1\bullet\m@th$}%
}%
}%
\hfil
}%
}
\makeatother
\begin{document}
\[ a \bigcdot b \]
%
% Comparison with \cdot and \bullet
\[ a \cdot b \bigcdot c \bullet d \]
%
% Different math styles
\[ a \bigcdot b \quad
\scriptstyle a \bigcdot b \quad
\scriptscriptstyle a \bigcdot b
\]
%
% Visualization of the math axis
\[
\sbox0{${-}{\cdot}{\bigcdot}{\bullet}{-}$}
\rlap{\copy0}%
\vcenter{%
\hbox{%
\textcolor{red}{%
\vrule width\wd0 height .05pt depth .05pt\relax
}%
}%
}
\]
\end{document}
答案4
我没有提供答案,而是展示了已接受的解决方案的警告,希望得到更为强大的解决方案。
我使用了 Heiko Oberdiek 的解决方案,它基于 Manuel 的解决方案。它一直与 pdflatex 编译器配合得很好,谢谢。但前一段时间我不得不使用常规的 latex 编译器,然后点积照常出现\bullet
在 dvi 文件中:
2020-06-08 更新对于那些感兴趣的人,有几种适用于 dvi 的解决方案:
\documentclass{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{scalefnt}
\usepackage{relsize}
\usepackage{mathtools}
\newcommand{\dotp}{
\mathop{
\mathchoice{\vcenter{\hbox{\LARGE$\cdot$}}}
{\vcenter{\hbox{\LARGE$\cdot$}}}
{\vcenter{\hbox{\normalsize$\cdot$}}}
{\vcenter{\hbox{\small$\cdot$}}}
}
}
\begin{document}
\noindent
d\raisebox{-0.5ex}{\LARGE $\cdot$}b ~ d\parbox[c][0pt][c]{0.5em}{\LARGE$\cdot$}b ~ d$\vcenter{\hbox{\LARGE$\cdot$}}$b ~ d$\vcenter{\hbox{\scalefont{1.75}$\cdot$}}$b ~ d$\vcenter{\hbox{\relsize{+2.5}$\cdot$}}$b ~ d$\vcenter{\hbox{$\mathlarger{\mathlarger{\mathlarger{\mathlarger{\cdot}}}}$}}$b
\begin{align*}
d\raisebox{-0.5ex}{\LARGE $\cdot$}b\\
d\parbox[c][0pt][c]{0.5em}{\LARGE$\cdot$}b\\
d\vcenter{\hbox{\LARGE$\cdot$}}b\\
d\vcenter{\hbox{\scalefont{1.75}$\cdot$}}b\\
d\vcenter{\hbox{\relsize{+2.5}$\cdot$}}b\\
d\vcenter{\hbox{$\mathlarger{\mathlarger{\mathlarger{\mathlarger{\cdot}}}}$}}b
\end{align*}
d $\dotp$ b
\begin{align*}
d \dotp b\\
a_{d \dotp b}
\end{align*}
\end{document}
只有\dotp
解决方案是可靠的。其他解决方案需要手动干预,例如上标和下标。您可能确实想在左右两侧插入一些负字距调整\dotp
。
顺便说一下,Hosein 的答案\boldsymbol{\cdot}
也是该physics
软件包使用的。它也适用于 dvi。不过,我发现那个点太小了。