One line definition of a symbol with plus-minus
The most robust way I know of would be to use the built in Notation
package and write something like
Needs["Notation´"]
Symbolize[H±] (* Be careful to use the Writing Assistant palette or other formatting guides s.t. the definition actually displays like you want it to and not Subscript or similar means *)
H±[x_, y_] := f[x] ± g[y] (* Same caveat about typesetting applies here as well *)
Then you get
In[1] := H±[1,2]
Out[1]:= f[1]±g[2]
In Mathematica it should look like this:
Clear[H]
H[s_][x_, y_] :=
f[x] + Piecewise[{{-1, s === "-"}}, 1]*g[y] /; s === "+" || s === "-"
Examples:
{H["+"][x, y], H["-"][x, y]}
(* {f[x] + g[y], f[x] - g[y]} *)
Or
Clear[H]
H[s_][x_, y_] := f[x] + Sign[s]*g[y] /; Abs[s] === 1
Examples:
{H[1][x, y], H[-1][x, y]}
(* {f[x] + g[y], f[x] - g[y]} *)
Here is a version that allows you to use $H_+$ and $H_-$ as requested:
(h:SubPlus|SubMinus)[H] ^:= With[
{hh=Replace[h, {SubPlus->Plus, SubMinus->Subtract}]},
hh[f[#1], g[#2]]&
]
A couple examples:
SubPlus[H][x, y]
SubMinus[H][2, 3]
f[x] + g[y]
f[2] - g[3]
This is how the above appears in a notebook: