}
}
public static Box derivative(Argument argument, Box dBox, int argsUpperLimit, Vector<Argument> args, long settings, ColourScheme colourScheme) {
int lowestDerivativeIndex = (args.size()<2) ? 0 : 1;
Argument orderArgument = ArgumentFactory.getOrderArgument(lowestDerivativeIndex, args);
Box topD = dBox.cloneBox();
topD.setArgument(argument);
Vector<Box> boxArgs = BoxTools.padArgs(args, 1, colourScheme);
Box topRowBox;
Box orderBox;
if (orderArgument!=null) {
orderBox = orderArgument.toBox(settings, colourScheme);
orderBox.clearArgument();
if (1<args.size()) { // multiple
topRowBox = BoxTools.centredHorizontalBoxList(argument, 0L, topD, orderBox, boxArgs.firstElement()); // d ^n x
} else {
topRowBox = BoxTools.centredHorizontalBoxList(argument, 0L, topD, orderBox);