鉴于我不希望数字为 \tt,我希望 E 很小,并且我可能希望指数为负数(没有巨大的 LaTeX 减号),那么在 LaTeX 中编写类似 6.22E-21 的最佳方法是什么?
我确信这与另一个我找不到的问题重复。
例如:
答案1
对于一次性实现排版需求,你可以尝试
6.22\mbox{\sc{e}-}21
这在文本和数学模式下都有效。如果你使用该amsmath
包,你应该输入
6.22\text{\sc{e}-}21
因为这比第一个解决方案稍微更通用一些。具体来说,如果表达式出现在 scriptstyle(第一级子标和上标)或 scriptscriptstyle(第二级子标和上标)材料中,它会更好地发挥作用。
相反,如果您有很多数字需要以这种方式排版,则应按照@AlfC 的回答提供的方法实施解决方案。否则,迟早会出现一些排版这些数字的方式不一致的情况。
答案2
迄今为止最优雅的方法是使用包siunitx
:
\documentclass{article}
\usepackage{siunitx}
\sisetup{output-exponent-marker=\textsc{e}}
\begin{document}
\num{6.02e23}
\end{document}
编辑1:如果您想要一个短的减号,一个不太优雅的解决方案(但仍在范围内siunitx
)是用以下更复杂的sisetup
行替换:
\sisetup{output-exponent-marker=\textsc{e}, bracket-negative-numbers, open-bracket={\text{-}}, close-bracket={}}
这通常也会影响在 中使用的负数(即使没有指数)\num
。有关减号的其他技巧,请查看此问题制作一个更短的减法或者负片与减片的排版?,对此没有一个答案真正令我满意。
编辑2(2014年):如果你让 XeLaTeX 使用Écran 字体(例如)和一些 TikZ 阴影,你可以给它一个完整的外观
(请注意 unicode 字符“ᴇ”的使用,我需要使用这种特殊的字体,因为它是唯一具有这个字符的字体)
\documentclass{article}
\usepackage{xcolor}
\usepackage{siunitx}
\usepackage{fontspec}
\setmainfont[ExternalLocation={./}]{ecran-monochrome---monochrome-display.ttf} % Écran Monochrome
\usepackage{tikz}
\newcommand\calcshadow[1]{
\tikz[baseline]{
\node[black!50!white] at (0.02,-0.02) {\num[output-exponent-marker=\text{ᴇ}, output-decimal-marker=\text{.}, bracket-negative-numbers, open-bracket={\text{-}}, close-bracket={}]{#1}};
\node[] at (0.,0.) {\num[output-exponent-marker=\text{ᴇ}, output-decimal-marker=\text{.}, bracket-negative-numbers, open-bracket={\text{-}}, close-bracket={}]{#1}};
}
}
\begin{document}
\colorbox{gray!70}{
\calcshadow{6.02e-23}
}
\end{document}
编辑3:使用 Unicode 块字符“█”的替代样式:
...
\newcommand\calcshadow[1]{
\tikz[baseline]{
\node[black!20!white] at (0.,0.) {████████};
\node[black!80!white,opacity=0.5] at (0.02,-0.02) {\num[output-exponent-marker=\text{ᴇ}, output-decimal-marker=\text{.}, bracket-negative-numbers, open-bracket={\text{-}}, close-bracket={}]{#1}};
\node[] at (0.,0.) {\num[output-exponent-marker=\text{ᴇ}, output-decimal-marker=\text{.}, bracket-negative-numbers, open-bracket={\text{-}}, close-bracket={}]{#1}};
}
}
...
答案3
它在 LaTeX 中工作,http://www.ctan.org/pkg/lcd。
对于 10,
\DefineLCDchar{10}{00000000000000010111101011010110111}
对于小写字母形状 {E},
\DefineLCDchar{12}{00000000000111101000011100100001111}
也许有必要,http://latexcolor.com/
非常感谢,迈克·考夫曼。
答案4
你可以尝试这个代码:
% this has to go in the preamble of the document.
\DeclareMathSymbol{\minus}{\mathord}{operators}{"2D} % unary minus
\newcommand{\scinot}[2]{#1\,\textrm{\scriptsize E}{#2}} % scientific notation
$\scinot{10}{\minus2}$