2,619
次編輯
Tankianting(討論 | 貢獻) |
Tankianting(討論 | 貢獻) |
||
行 3: | 行 3: | ||
排版學其實也可以用數學化約之 (to some degree),但是要定 spec。 | 排版學其實也可以用數學化約之 (to some degree),但是要定 spec。 | ||
<math>TotalCost(i) = min_{j}~TotalCost(j) + LineCost(i | <math>TotalCost(i) = min_{j}~TotalCost(j) + LineCost(j, i)~~~~j=0, 1, ..., i-1</math> | ||
<math> | <math> | ||
LineCost(i | LineCost(j, i)= \begin{cases} | ||
\infty ~~~ if~~LineWidth - \sum_{k=j+1}^{i-1} OrigWidth(item[k]) - NewLineWidth(item[i]) < 0 \\ | \infty ~~~ if~~LineWidth - \sum_{k=j+1}^{i-1} OrigWidth(item[k]) - NewLineWidth(item[i]) < 0 \\ | ||
\infty~~if~~NOT~~breakable(item[i]) \\ | \infty~~if~~NOT~~breakable(item[i]) \\ | ||
LineWidth - \sum_{k=j+1}^{i-1} OrigWidth(item[k]) - NewLineWidth(item[i]) ~~elsewhere | (LineWidth - \sum_{k=j+1}^{i-1} OrigWidth(item[k]) - NewLineWidth(item[i]))^2 ~~elsewhere | ||
\end{cases}</math> | \end{cases} </math> | ||