我有两个关于以下 LaTeX 文档的问题(可能很简单)
\documentclass{scrartcl}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{intersections, calc}
\makeatletter
\DeclareMathSizes{\@xipt}{\@xipt}{6}{5}
\makeatother
\begin{document}
This is a nice picture with $\underline{U}_\mathrm{N}$, $U_\mathrm{L}$, $\varphi_\mathrm{U}$ and $\varphi_\mathrm{L}.$
\begin{tikzpicture}
\def\angle{acos(0.95)}
\draw[->, name path=ul] (0,0) -- (5,0) coordinate (A) node[near end, anchor=north] {$U_\mathrm{L}$};
\draw[->, name path=ux] (A) -- +({90-\angle}:3) coordinate (B) node[midway, anchor=west] {$\mathrm{j} \, X_\mathrm{N} \, \underline{I}$};
\draw[->, name path=un] (0,0) -- (B) node[near end, anchor=south east] {$\underline{U}_\mathrm{N}$};
\draw[->, name path=i] (0,0) -- +({-\angle}:1.5) coordinate (C) node[near end, anchor=north east] {$\underline{I}$};
\path (0,0) let \p1 = ($(B)$) in +(15:{veclen(\x1,\y1)}) coordinate (D);
\draw[gray, dashed, name path=circ] let \p1 = ($(B)$) in (D) arc (15:50:{veclen(\x1,\y1)});
\draw[->, gray, name path=ii] (C) -- +({-\angle}:0.5) coordinate (CC) node[anchor=north east] {$\underline{I}'$};
\draw[->, gray, name path=uull] (0,0) -- (4,0) coordinate (AA) node[near end, anchor=south] {$U'_\mathrm{L}$};
\path[name path=uuxx] (AA) -- +({90-\angle}:8);
\draw[->, gray, name intersections={of=uuxx and circ}] (AA) -- (intersection-1) coordinate (BB);
\draw[->, gray, name path=uunn] (0,0) -- (BB) node[near end, anchor=south east] {$\underline{U}'_\mathrm{N}$};
\draw[->] (1,0) let \p1 = ($(B)$) in arc (0:{atan(\y1/\x1)}:1) node[midway, anchor=west] {\scriptsize{$\varphi_\mathrm{U}$}};
\draw[->] (1,0) let \p1 = ($(C)$) in arc (0:{atan(\y1/\x1)}:1) node[near end, anchor=west] {\scriptsize{$-\varphi_\mathrm{L}$}};
\end{tikzpicture}
\end{document}}
其结果如下:
- 为什么
$U'_\mathrm{L}$
tikzpicture 中的素数符号比 的要低$\underline{U}'_\mathrm{N}$
?(后者的素数定位对我来说似乎是正确的……)显然,这一定与命令有关\underline
- 但是我该怎么做才能解决这个素数符号错位的问题?通过书写来提高素数符号$U^{'}_\mathrm{L}$
会将其抬高得太高 - 而且很可能不是解决这个问题的最佳方法。 - 我曾经
\DeclareMathSizes{\@xipt}{\@xipt}{6}{5}
在数学模式下减小过下标和下下标的大小。但是,当我\scriptsize{}
在数学环境中使用时,这似乎不起作用,正如从角度标签中看到的那样:角度标签中的 U 和 L 明显大于图表上方文本行中的 U 和 L。我猜这是因为我的“静态”设置将大小\DeclareMathSizes{\@xipt}{\@xipt}{6}{5}
设置为固定值 6 和 5?如果是这样,我如何以更灵活的方式减小数学模式下的下标和下下标的大小?写入\DeclareMathSizes{\@xipt}{\@xipt}{0.8*\@xipt}{0.7*\@xipt}
不起作用...
答案1
主符号不是太低,而是太小了:您要求第一级下标/上标为 6pt,这与 11pt 大小的符号相比太小了。
计算 11pt 的 80% 得到 8.8pt,而 11pt 的标准第一级下标/上标大小为 8pt。当然,要实现此功能,您需要任意可缩放的字体(\usepackage{lmodern}
例如);只需进行计算:
\DeclareMathSizes{\@xipt}{\@xipt}{8.8}{7.7}
(但我认为这些值太大了,我会保留默认值)。下标使用的字体大小与上标使用的大小相同,这是无法避免的。您可以通过指定虚拟上标来强制将大下标(通常是大写字母)向下推一点:比较
$a_{X} a^{}_{X}$