我需要用黑色绘制布洛赫球的 x、y、z 轴(末端带有箭头)。
我试过这个代码,但它不起作用(我的轴是浅灰色)。
如何修复?我不确定如何使用这些选项。
\documentclass{standalone}
\usepackage{blochsphere}
\begin{document}
\begin{blochsphere}[radius=1.5 cm,tilt=15,rotation=-20]
\drawBallGrid[style={opacity=0.1}]{30}{30}
\drawGreatCircle[style={dashed}]{0}{0}{0}
\drawAxis[style={draw=black}]{0}{0}
\drawAxis[color=black]{90}{0}
\labelLatLon{up}{90}{0};
\labelLatLon{down}{-90}{90};
\node[above] at (up) {{\tiny $\left|0\right>$ }};
\node[below] at (down) {{\tiny $\left|1\right>$}};
\end{blochsphere}
\end{document}
如您所见,线条是浅灰色而不是黑色。
重要信息:我从未使用过 tikz,我只是阅读文档来了解它是如何工作的(因为显然 BlochSphere 包是基于它的)。
Bloch Sphere 包的文档:http://ctan.math.washington.edu/tex-archive/graphics/pgf/contrib/blochsphere/blochsphere.pdf
答案1
受到 @marmot 专家示例的鼓舞,我终于得到了原始请求的 MWE,请注意,我必须将球的不透明度降低到 0.3
\documentclass{standalone}
\usepackage{blochsphere}
\begin{document}
\begin{blochsphere}[ball=3d,opacity=0.3]
\drawBallGrid[style={opacity=1,ultra thin}]{30}{30}
\drawAxis[scale=1.2]{0}{0}
\drawAxis[scale=1.8]{90}{90}
\drawAxis[scale=1.4]{90}{0}
\labelLatLon{up}{90}{20};
\labelLatLon{down}{-90}{90};
\node[above,{shift=(0,0.2,0)}] at (up) {\tiny N};
\node[below,{shift=(0,-0.2,0)}] at (down) {\tiny S};
\end{blochsphere}
\end{document}
答案2
这些元素要么被球体遮挡,正如 KJO 指出的那样,要么不完全不透明,这使得它们看起来是灰色的。因此,您可以手工绘制它们并更改不透明度以达到
\documentclass{standalone}
\usepackage{blochsphere}
\begin{document}
\begin{blochsphere}[radius=1.5 cm,tilt=15,rotation=-20]
\drawBallGrid[style={opacity=1,ultra thin}]{30}{30}
\drawGreatCircle[style={dashed}]{0}{0}{0}
% \drawAxis[style={draw=black}]{0}{0}
%
% \drawAxis[style={color=black,opacity=1}]{90}{0}
\labelLatLon{up}{90}{0};
\labelLatLon{down}{-90}{90};
\node[above,font=\tiny] at (up) {$\left|0\right>$ };
\node[below,font=\tiny] at (down) {$\left|1\right>$};
\labelLatLon{l}{0}{180};
\labelLatLon{r}{0}{0};
\draw (l) -- (r);
\end{blochsphere}
\end{document}
是否应该将十字线画成黑色是一个个人喜好问题。