2 Answers
2

There is no simple short form for these as there is for Plus. To understand this you must understand how Mathematica parses and displays these expressions. Let's look at the first one:

Subtract

HoldForm[a - b - c - d]

a - b - c - d

No surprises. But now FullForm:

HoldForm @ FullForm[a - b - c - d]

Plus[a, Times[-1, b], Times[-1, c], Times[-1, d]]

So our simple expression is not quite so simple in the internal format. Each negative term is actually represented as Times[-1, x]. But what about Box form? This is what is sent to the Front End for display:

HoldForm[a - b - c - d] // ToBoxes

TagBox[RowBox[{"a", "-", "b", "-", "c", "-", "d"}], HoldForm]

We will need a helper utility(1) to see what the Front End sends to the Kernel:

Divide

This time you may get a bit of a surprise. Let's look at the FullForm:

HoldForm @ FullForm[a/b/c/d]

Times[Times[Times[a, Power[b, -1]], Power[c, -1]], Power[d, -1]]

Once again we see that there is no "division" operator, but rather denominators are represented as Power[x, -1]. Why though is this displayed as a/((b c) d)? Let's look at the box form sent to the Front End:

Input Syntax

By now you are probably I understanding what I meant when I said "it's complicated." You may also see that there is a difference between inputting the equivalent expression, which may be displayed differently, e.g. a/((b c) d), and having Mathematica display a certain form such as a/b/c/d. We can explore both.

Taking things in reverse order, we can use Row to merely display an expression:

Row[{a, b, c, d}, "-"]
Row[{a, b, c, d}, "/"]

a-b-c-d
a/b/c/d

This is not meaningful mathematical input. It is only a display form. Also it is not "intelligent" about mathematical formatting such as negatives:

Row[{a, -b, c, d}, "-"] (* note -b *)

a--b-c-d

This was the motivation for using e.g. HoldForm[+##] rather than Row in the first place: we wanted the automatic formatting, just not the automatic evaluation.

If you desire a shorthand for entering a valid mathematical expression you could negate after in the case of subtraction:

-+## &[a, -b, c, d]

-a + b - c - d

You'll note this also negates the first term. It isn't clear to me if you want this or not; you could use # - +##2 & if you do not.

For formatting purposes this won't work:

HoldForm[-+##] &[1, -2, 3, 4]

-(1 - 2 + 3 + 4)

You would instead need to negate the terms first:

HoldForm[+##] & @@ -{##} &[1, -2, 3, 4]

-1 + 2 - 3 - 4

Division will not display as a/b/c/d anyway, as already demonstrated, so you are probably better off using Row for that display format. (Or building Box form directly, though I'd rather not make this answer any longer to show how.) For inputting a valid mathematical expression you could use:

Mathematica is a registered trademark of Wolfram Research, Inc. While the mark is used herein with the limited permission of Wolfram Research, Stack Exchange and this site disclaim all affiliation therewith.