#once #create message .ND .tr %$ .EQ delim $$ .EN .LP The way to handle the problem of a subscript or superscript on nothing is to provide something to hang the subscript or superscript on. One possibility is to use a tilde, but that has a real width, and might spoil the appearance of the output. The best solution is this: "" sup 1 ... The expression "" has no width, so everything works out properly. The use of "" may seem a bit unnatural but it's an idiom that you get used to quite quickly. For practice, modify "Example" so it produces output that looks like this, then type "ready". .pl 1 #once #create Ref .LP .EQ "" sup + H sub 2 ~ "<=>" ~ "" sup - H ~+~ "" sup + H .EN .pl 1 #once #create Example .LP .EQ xxx .EN .pl 1 # #once neqn Ref | nroff >X1 & #once neqn message Ref | nroff -T$term %s/tinyms - #user neqn Example | nroff >X2 #cmp X1 X2 #fail Don't forget spaces; don't forget to quote things when needed (including <=>). #log #next 11.1g 10