如何使电路中的所有标签都等宽?我发现了这一点:我可以将所有数学输出更改为使用等宽文本吗? 但这也会影响我方程式之外的图形。
\documentclass{minimal}
\usepackage{pst-circ}
\usepackage{amsmath}
\everymath{\mathtt{\xdef\tmp{\fam\the\fam\relax}\aftergroup\tmp}}
\usepackage[utf8]{inputenc}
\begin{document}
\setbox0\hbox{$ $}
\begin{pspicture}(5,2)
\psset{linewidth=1pt}
\pnode(0,1){A}
\pnode(3,1){B}
\pnode(5,1){C}
\newdiode(A)(B){$D_1$}
\resistor(B)(C){$R_1$}
\end{pspicture}
$ \frac{1}{2\sqrt{x}} $
\end{document}
我可以重新定义 pst-circ 标签命令以使用等宽字体吗?
答案1
您使用的顺序错误;首先您必须设置\everymath
,然后设置一个框来初始化机制。如果您\everymath
在里面设置pspicture
,效果将随着其结束而消失。
\documentclass{standalone}
\usepackage{pst-circ}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{pspicture}(5,2)
\everymath{\mathtt{\xdef\tmp{\fam\the\fam\relax}\aftergroup\tmp}}
\sbox0{$$}% initialize tt for all math formulas
\psset{linewidth=1pt}
\pnode(0,1){A}
\pnode(3,1){B}
\pnode(5,1){C}
\newdiode(A)(B){$D_1$}
\resistor(B)(C){$R_1$}
\end{pspicture}
$\frac{1}{2\sqrt{x}}$
\end{document}
请注意,minimal
不建议使用 类 来制作示例;请使用article
或standalone
。
您可以定义一个更方便的命令来获取此信息:
\documentclass{standalone}
\usepackage{pst-circ}
\usepackage{amsmath}
\newcommand{\ttmath}{%
\everymath{\mathtt{\xdef\tmp{\fam\the\fam\relax}\aftergroup\tmp}}%
\sbox0{$$}% initialize tt for all math formulas
}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{pspicture}(5,2)
\ttmath
\psset{linewidth=1pt}
\pnode(0,1){A}
\pnode(3,1){B}
\pnode(5,1){C}
\newdiode(A)(B){$D_1$}
\resistor(B)(C){$R_1$}
\end{pspicture}
$\frac{1}{2\sqrt{x}}$
\end{document}
答案2
尝试最新版本pst-circ.tex
的http://texnik.dante.de/tex/generic/pst-circ/。它知道两个附加参数:
\documentclass{article}
\usepackage{pst-circ}
\begin{document}
\psset{mathlabel,labelstyle=\tt} %%%%
\begin{pspicture}(5,2)
\psset{linewidth=1pt}
\pnode(0,1){A}
\pnode(3,1){B}
\pnode(5,1){C}
\newdiode(A)(B){D_1}%% without $..$
\resistor(B)(C){R_1}
\end{pspicture}
$ \frac{1}{2\sqrt{x}} $
\end{document}