Text this: d’Alembert–Lagrange analytical dynamics for nonholonomic systems