使用 xelatex 我尝试了这个:
\usepackage{graphicx}
\newcommand{\Vol}{\rotatebox[origin=c]{180}{\ensuremath{A}}}
\begin{document}
\Vol
\end{document}
我知道有,\forall
但这显然不是答案。但问题是当我尝试这样做时:
\documentclass{article}
\usepackage{graphicx}
\usepackage{commath}
\usepackage{amsmath}
\newcommand{\Vol}{\rotatebox[origin=c]{180}{\ensuremath{A}}}
\begin{document}
$E_v=-\frac{\dif p}{\frac{\dif \Vol}{\Vol}}$
\end{document}
微分算子和体积得到不同的大小:
答案1
以下解决方案基于\mathpalette
允许检测当前的数学样式:
\documentclass{article}
\usepackage{graphicx}
\usepackage{commath}
\usepackage{amsmath}
\makeatletter
\newcommand{\Vol}{%
\mathpalette\@Vol{}%
}
\newcommand*{\@Vol}[2]{%
% #1: math style
% #2: unused
\rotatebox[origin=c]{180}{$\m@th#1A$}%
}
\makeatother
\begin{document}
$E_v=-\frac{\dif p}{\frac{\dif \Vol}{\Vol}}$
\end{document}
以下变体使用\text
来自包amsmath
或的amstext
:
\documentclass{article}
\usepackage{graphicx}
\usepackage{commath}
\usepackage{amsmath}
\makeatletter
\newcommand{\Vol}{%
\text{\rotatebox[origin=c]{180}{$\m@th A$}}
}
\makeatother
\begin{document}
$E_v=-\frac{\dif p}{\frac{\dif \Vol}{\Vol}}$
\end{document}
在这两种情况下,当在文本框中设置数学时,\m@th
确保为零,以避免在数学符号周围产生额外的空间。\mathsurround
答案2
Heiko 解决方案的一个变体,主要是为了警告不要使用commath
;参见
举一些例子说明原因。
我还添加了,\newunicodechar
以便您可以直接输入字符。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{newunicodechar}
\usepackage{amsmath}
\usepackage{graphicx}
\makeatletter
\DeclareRobustCommand{\reverseletter}[1]{\mathpalette\reverse@letter{#1}}
\newcommand{\reverse@letter}[2]{%
\rotatebox[origin=c]{180}{$\m@th#1#2$}%
}
\makeatother
\newcommand{\Vol}{\reverseletter{A}}
\newunicodechar{Ɐ}{\Vol}
\newcommand{\dif}{\mathop{}\!\mathrm{d}} % much better than commath's
\begin{document}
$E_v=-\frac{\dif p}{\frac{\dif \Vol}{\Vol}}$
$E_v=-\frac{\dif p}{\frac{\dif Ɐ}{Ɐ}}$
\end{document}