# physics/sine-to-sin

Collapse a bare sine helper to the standard sin operator.

https://texform.dev/rules/physics/sine-to-sin

## Metadata

| Field | Value |
| --- | --- |
| Key | physics/sine-to-sin |
| Level | authoring |
| Fidelity | render |
| Enabled by packages | physics |
| Profiles | Authoring, Faithful, Corpus, Equiv |

## Rewrite patterns

### bare

From:

```latex
\sine
```

To:

```latex
\sin
```

## Examples

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

### sine in trig sum

Before:

```latex
y=\sine x+\cos x
```

After this rule:

```latex
y=\sin x+\cos x
```

Packages: base, physics.

Rendering verified with the declared packages.

### sine scripted bare

Before:

```latex
\sine^2\theta
```

After this rule:

```latex
\sin^2\theta
```

Packages: base, physics.

Rendering verified with the declared packages.

## Triggers

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

## Produces

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

## Touches

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

## Downstream

- [physics/named-fn-paren-expand](https://texform.dev/rules/physics/named-fn-paren-expand): Expand physics power and auto-sized parenthesis arguments of standard named functions.

## Same family

- [ams/operatorname-to-named-function](https://texform.dev/rules/ams/operatorname-to-named-function): Rewrite plain operatorname arguments to equivalent base named-function or named-operator commands.
- [ams/idotsint-expand](https://texform.dev/rules/ams/idotsint-expand): Expand idotsint to explicit repeated integral surfaces.
- [base/limits-drop](https://texform.dev/rules/base/limits-drop): Drop explicit limits from an audited operator while preserving attached scripts.
- [base/nolimits-drop](https://texform.dev/rules/base/nolimits-drop): Drop explicit nolimits from an audited operator while preserving attached scripts.
- [physics/cosine-to-cos](https://texform.dev/rules/physics/cosine-to-cos): Collapse a bare cosine helper to the standard cos operator.
- [physics/naturallogarithm-to-ln](https://texform.dev/rules/physics/naturallogarithm-to-ln): Collapse a bare natural logarithm helper to the standard ln operator.
- [physics/probability-to-pr](https://texform.dev/rules/physics/probability-to-pr): Collapse a bare Probability helper to the standard Pr operator.
- [physics/trace-capital-to-Tr](https://texform.dev/rules/physics/trace-capital-to-Tr): Collapse a bare Trace with no following argument group to the local Tr anchor.
- [physics/trace-to-tr](https://texform.dev/rules/physics/trace-to-tr): Collapse a bare trace with no following argument group to the local tr anchor.
- [physics/named-fn-paren-expand](https://texform.dev/rules/physics/named-fn-paren-expand): Expand physics power and auto-sized parenthesis arguments of standard named functions.
- [physics/named-fn-to-operatorname](https://texform.dev/rules/physics/named-fn-to-operatorname): Rewrite physics-only named functions to operatorname and expand their auto-sized arguments.
- [physics/physics-operator-fence-expand](https://texform.dev/rules/physics/physics-operator-fence-expand): Expand the physics auto-sized argument of exp, det, and Pr into an explicit fence.
- [physics/rank-to-operatorname-rank](https://texform.dev/rules/physics/rank-to-operatorname-rank): Rewrite rank to an explicit operatorname form instead of a package-local alias.

## Notes

In LaTeX physics.sty 1.3, \sine is the original \sin saved with \let, a plain operator that grabs nothing, while the redefined \sin grabs a following [...] power and (...) argument. The rule renames only a bare \sine, one not followed by (, [, or a brace group; a \sine that carries scripts is bare. The renamed command gets the empty argument slots of the active \sin record. In faithful, named-fn-to-operatorname rewrites the skipped branches to \operatorname{sin} and keeps the delimiters literal. Touches-only convergence: every Applied removes one bare \sine; non-matching nodes return Skipped. The produced command and canonical reference use the physics record, which overrides the base definition whenever this rule is enabled.

## Disable this rule

```python
TransformEngine(profile="corpus", disable_rules=["physics/sine-to-sin"])
```

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

[Open in Playground](https://play.texform.dev/?input=y%3D%5Csine+x%2B%5Ccos+x)
