Background
The box-formmating behavior is affected by the downvalues of the symbol MakeBoxes. But the formatting behavior is not exactly MakeBoxes, but seems to be the same to menu command "ConvertTo/StandardForm". There's an example for the difference: 159959.
Another key process of evaluations in Mathematica is sending the content of evaluating input cell to evaluators. This can be strongly changed by setting the option CellEvaluationFunction (however, for example, this way can't handle multi-line cell, see: 29264).
Question
Similarly, is there any way to change the box-formatting behavior more than changing the definition of MakeBoxes?
Related Question
(Not essential for understanding this question. You can skip them if you are not interested.)
Is any way to change the cell-creation behavior which is similar to
If[# =!= Null, CellPrint@Cell[BoxData@MakeBoxes@#, "Output"(* , ... *)]] &?Difference between "ConvertTo/InputForm" and
MakeExpression(76056), "ConvertTo/StandardForm" andMakeBoxes. (As Itai Seggev mentioned here, they usesBoxForm`ConvertForm)Why the default form used for output-formatting differs in different environments of the kernel(approximately
ToString[#, InputForm]&for command-line,BoxData@ToBoxes[#, StandardForm]&for notebook)? Can we choose a form for it programmatically? See: 226209
Formatis a potential answer but I am not 100% sure. – Kuba Oct 22 '20 at 07:38Format[_, InputForm]affects "Related Question 3"(MSE 226209) successfully. But this question seeks for a function or method for interference which has a similar position toCellEvaluationFunctionin the box-explaination process. Perhaps such a method does not exist. – asd1dsa Oct 22 '20 at 15:41CellEvaluationFunctionto interfere "parsing or on the route from boxes to expressions" when I cannot find a similar way to interfere "formatting which is about expressions to boxes". – asd1dsa Oct 22 '20 at 16:54