Crear diagramas
Conserve la precisión de las etiquetas técnicas
Use subíndices y superíndices acotados y Unicode sin medir el texto en el navegador.
Componga subíndices y superíndices sin desplazar la línea base
Las etiquetas de schemd admiten notación técnica sin un entorno TeX. Los grupos de _ y ^ pueden anidarse. Un conjunto acotado de órdenes, como \Omega, \pi, \theta, \mu e \infty, se convierte en glifos; también se admiten \langle, \rangle y \oplus. Por tanto, |0\rangle se representa como un ket. Cada tspan generado incluye una corrección explícita de la línea base. El texto posterior a un subíndice o superíndice anidado vuelve a la línea base de su nivel superior. El giro se aplica al vector y la etiqueta permanece derecha fuera de ese grupo.
source:V8 "I_{q}^{-}" at (100, 150) #blue [type=current-dc]
resistor:R8 "2 M\Omega" at (330, 150) #amber [orientation=down]
qgate:Q8 "R_x" at (570, 150) #purple [parameter="\pi/6" phase="e^{-i\omega t}"]
port:O8 "\langle Y \rangle" at (800, 150) #emeraldLa anchura se calcula mediante una tabla, sin consultar el navegador ni cargar una fuente. El compilador incluye los avances de Arial, compartidos por Helvetica, Liberation Sans y Arimo, y declara esa familia como predeterminada en el SVG. En el vocabulario completo, la estimación difiere menos del 1.5% de la anchura representada. textLength comprime el texto solo cuando rebasa su espacio; las etiquetas cortas conservan su anchura natural. Una etiqueta larga amplía los límites del componente antes de comprobar la posición. Así se evita getBBox(), una llamada que la representación en servidor no puede efectuar. Si el CSS de una página impone al SVG una fuente más ancha, las etiquetas pueden superar el espacio calculado.
También puede omitirse la etiqueta. El componente muestra entonces su designador y prescinde de la fila de etiqueta.
Use filas para definir puertas personalizadas
qgate permite declarar una puerta personalizada y comparte la estructura de hadamard: longitudes de conexión, radio de las esquinas, tratamiento del foco y terminales. Las filas parameter, phase y matrix aumentan el cuerpo en cantidades fijas. Por ello, un operador personalizado puede incluir su definición dentro de la misma representación.
prepare:PH "|1\rangle" at (80, 130) #blue
rz:RZ8 "R_z" at (270, 130) #cyan [parameter="\theta"]
qgate:UH "U_3" at (480, 130) #purple [parameter="\lambda, \phi" matrix="[p,q;r,s]"]
measure:MH "M_z" at (700, 130) #emerald
PH.out -> RZ8.in #blue [quantum line]
RZ8.out -> UH.in #cyan [quantum line]
UH.out -> MH.in #purple [quantum line]