![如何在没有方括号的情况下设置 pgfplots 中的单位?](https://linux22.com/image/272862/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%B2%A1%E6%9C%89%E6%96%B9%E6%8B%AC%E5%8F%B7%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%AE%BE%E7%BD%AE%20pgfplots%20%E4%B8%AD%E7%9A%84%E5%8D%95%E4%BD%8D%EF%BC%9F.png)
此 MWE:
\documentclass{article}
% translate with >> pdflatex -shell-escape <file>
% This file is an extract of the PGFPLOTS manual, copyright by Christian Feuersaenger.
%
% Feel free to use it as long as you cite the pgfplots manual properly.
%
% See
% http://pgfplots.sourceforge.net/pgfplots.pdf
% for the complete manual.
%
% Any required input files (for <plot table> or <plot file> or the table package) can be downloaded
% at
% http://www.ctan.org/tex-archive/graphics/pgf/contrib/pgfplots/doc/latex/
% and
% http://www.ctan.org/tex-archive/graphics/pgf/contrib/pgfplots/doc/latex/plotdata/
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\pagestyle{empty}
\usepgfplotslibrary{units}
\begin{document}
\begin{tikzpicture}
\begin{axis}[change x base,
x SI prefix=kilo,x unit=m,
y SI prefix=milli,y unit=N,
xlabel=Distance,ylabel=Force]
\addplot coordinates {
(1000,1)
(2000,1.1)
(3000,1.2)
(4000,1.3)
};
\end{axis}
\end{tikzpicture}
\end{document}
结果是单位设置在方括号中。这与 SI 手册 8 和德国标准 DIN 1313 相冲突。
我怎样才能关闭它或者将其改为“/单元“或”+在+单元“?我无法在 sourceforge 上报告这个问题,这很遗憾,因为这种错误的单位格式越来越流行。
如果 Feuersänger 先生正在阅读 TEX.SX,那么我对以下单位有以下功能请求:
- 根本不要使用括号,而是使用斜线或“in”(编辑:对于斜线符号,用于划分单位的圆括号可能很有用,如评论中所述。例如
$a$/(m/s^2)
) - 可以在符号(轴标签)之后或最后两个刻度标签之间设置单位(如果空间较小,则代替倒数第二个刻度标签)
- 允许
siunitx
语法 - 自动在每个刻度标签旁边设置角度单位(
°
、'
和''
)和时间单位(^h
、^min
和^s
)(不要与时间段单位(a
、h
、min
和)混淆)s
- 设置十的幂或单位,如
%
,‰
或ppm
在最后两个刻度标签之间
答案1
你可以改变它的外观。该units
库尚未完全实现,并且可能永远不会完全实现。附加单元可能是一个相当综合的问题。
但是你可以通过以下方式完成你的请求:
\begin{tikzpicture}
\begin{axis}[change x base,
x SI prefix=kilo,x unit=m,
y SI prefix=milli,y unit=N,
unit markings=slash space,
% Or do it by your self...
% unit marking pre={\text{in }}, % requires amsmath
% unit marking post={},
xlabel=Distance,ylabel=Force]
\addplot coordinates {
(1000,1)
(2000,1.1)
(3000,1.2)
(4000,1.3)
};
\end{axis}
\end{tikzpicture}
其结果(两个例子均显示):
编辑:根据评论,我添加了一种更好的方法来满足 op 的需求。它可以被容纳:
unit marking pre={\!\!/},
unit marking post={},
ylabel=$F$
负空间\!\!
应该吞噬一个人\space
(我永远记不清这是确切地不管是否如此,如果您知道要插入的确切负空间,请填补空白)。
这应该会产生 OP 所要求的内容。