# physics/dv-to-frac-d

Expand dv forms to explicit d-based derivative fractions.

https://texform.dev/rules/physics/dv-to-frac-d

## Metadata

| Field | Value |
| --- | --- |
| Key | physics/dv-to-frac-d |
| Level | faithful |
| Fidelity | render |
| Enabled by packages | physics |
| Profiles | Faithful, Corpus, Equiv |

## Rewrite patterns

### dv-two-argument

From:

```latex
\dv{#1}{#2}
```

To:

```latex
\frac{\mathrm{d} #1}{\mathrm{d} #2}
```

### dv-operator

From:

```latex
\dv{#1}
```

To:

```latex
\frac{\mathrm{d}}{\mathrm{d} #1}
```

### dv-order

From:

```latex
\dv[#1]{#2}{#3}
```

To:

```latex
\frac{\mathrm{d}^{#1} #2}{\mathrm{d} #3^{#1}}
```

### dv-star

From:

```latex
\dv*{#1}{#2}
```

To:

```latex
\flatfrac{\mathrm{d} #1}{\mathrm{d} #2}
```

## Examples

Examples show the rule in isolation, not a complete normalization profile.

### dv kinematics

Before:

```latex
m\dv{x}{t}=p
```

After this rule:

```latex
m\frac{\mathrm{d} x}{\mathrm{d} t}=p
```

Packages: base, physics.

Rendering verified with the declared packages.

### dv operator form

Before:

```latex
\dv{x} f
```

After this rule:

```latex
\frac{\mathrm{d}}{\mathrm{d} x} f
```

Packages: base, physics.

Rendering verified with the declared packages.

### dv second order

Before:

```latex
\dv[2]{x}{t}
```

After this rule:

```latex
\frac{\mathrm{d}^{2} x}{\mathrm{d} t^{2}}
```

Packages: base, physics.

Rendering verified with the declared packages.

### dv star flatfrac

Before:

```latex
\dv*{x}{t}
```

After this rule:

```latex
\flatfrac{\mathrm{d} x}{\mathrm{d} t}
```

Packages: base, physics.

Rendering verified with the declared packages.

## Triggers

- [\\dv](https://texform.dev/latex/commands/dv)

## Eliminates

- [\\dv](https://texform.dev/latex/commands/dv)

## Produces

- [\\frac](https://texform.dev/latex/commands/frac)
- [\\flatfrac](https://texform.dev/latex/commands/flatfrac)
- [\\mathrm](https://texform.dev/latex/commands/mathrm)

## Upstream

- [physics/derivative-to-dv](https://texform.dev/rules/physics/derivative-to-dv): Collapse derivative to the compact dv command.

## Same family

- [physics/derivative-to-dv](https://texform.dev/rules/physics/derivative-to-dv): Collapse derivative to the compact dv command.
- [physics/functional-derivative-to-fdv](https://texform.dev/rules/physics/functional-derivative-to-fdv): Collapse long functional derivative names to the fdv command.
- [physics/partial-derivative-to-pdv](https://texform.dev/rules/physics/partial-derivative-to-pdv): Collapse long partial derivative names to the pdv command.
- [physics/vectorarrow-to-va](https://texform.dev/rules/physics/vectorarrow-to-va): Collapse vectorarrow to the short va helper.
- [physics/vectorbold-to-vb](https://texform.dev/rules/physics/vectorbold-to-vb): Collapse vectorbold to the short vb helper.
- [physics/vectorunit-to-vu](https://texform.dev/rules/physics/vectorunit-to-vu): Collapse vectorunit to the short vu helper.
- [physics/fdv-to-frac-delta](https://texform.dev/rules/physics/fdv-to-frac-delta): Expand fdv forms to explicit delta-based derivative fractions.
- [physics/pdv-to-frac-partial](https://texform.dev/rules/physics/pdv-to-frac-partial): Expand pdv forms to explicit partial-derivative fractions.
- [physics/va-to-vec-mathbf](https://texform.dev/rules/physics/va-to-vec-mathbf): Canonicalize va to an explicit vec-wrapped mathbf form.
- [physics/vb-to-mathbf](https://texform.dev/rules/physics/vb-to-mathbf): Canonicalize vb to an explicit mathbf wrapper.
- [physics/vu-to-hat-mathbf](https://texform.dev/rules/physics/vu-to-hat-mathbf): Canonicalize vu to an explicit hat-wrapped mathbf form.

## Notes

Covers the two-argument derivative, one-argument operator form, optional [n] order, and star branch. The star branch follows MathJax physics by expanding to \flatfrac rather than \frac.

## Disable this rule

```python
TransformEngine(profile="corpus", disable_rules=["physics/dv-to-frac-d"])
```

```javascript
new TransformEngine({ profile: 'corpus', disableRules: ['physics/dv-to-frac-d'] })
```

[Open in Playground](https://play.texform.dev/?input=m%5Cdv%7Bx%7D%7Bt%7D%3Dp)
