我有一个文档,其中包含大量带有 pgfplots 的 TikZ 图像(请参阅下面的 MWE)。由于其中一些图处理大量数据,因此我不得不从 切换pdflatex
到lualatex
。
我使用siunitx
诸如微米等单位的包。我发现,使用以下命令时一切都正常pdflatex
:
但是,编译后lualatex
我得到的是这些 T,下面有一个小尾巴(ţ),而不是希腊字母 mu。
如果我删除\usepackage[T1]{fontenc}
错误就消失了,并且pdflatex
和都lualatex
可以正常工作。有没有办法让 和 一起工作lualatex
?
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usepackage{siunitx}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
\begin{tikzpicture}
\begin{axis}[%
width=7cm,
height=7cm,
xmin=0, xmax=100, xtick={0,10,...,100},
ymin=1, ymax=8, ytick={0,1,...,8},
xlabel={Stuff},
ylabel={Stuff},
grid,
]
\draw[thick,->, >=latex'] (axis cs: 50,6) -- (axis cs: 40, 1.5) node[pos=0, above, align=center, fill=white]{Stuff \SIrange{7}{15}{\micro\meter}\\in \SI{1}{\micro\meter} steps};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
inputenc
在 lualatex 中将和替换fontenc
为fontspec
正确编码:\usepackage{fontspec}
或者 \usepackage{unicode-math}
:
\documentclass[tikz]{standalone}
\usepackage{unicode-math}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usepackage{siunitx}
\begin{document}
\begin{tikzpicture}
\begin{axis}[%
width=7cm,
height=7cm,
xmin=0, xmax=100, xtick={0,10,...,100},
ymin=1, ymax=8, ytick={0,1,...,8},
xlabel={Stuff},
ylabel={Stuff},
grid,
]
\draw[thick,->, >=latex'] (axis cs: 50,6) -- (axis cs: 40, 1.5) node[pos=0, above, align=center, fill=white]{Stuff \SIrange{7}{15}{\micro\meter}\\in \SI{1}{\micro\meter} steps};
\end{axis}
\end{tikzpicture}
\end{document}