Cómo convertir una unidad general a una unidad SI

Cómo convertir una unidad general a una unidad SI

¿Es posible convertir automáticamente todas las unidades utilizadas en un documento a una de las 7 unidades SI?

Donde yo por ejemplo tengo \unit{\pascal},

Me gustaría renderizarlo como \unit{\newton\per\square\meter}, sin necesidad de hacer ajustes en todas partes.

Respuesta1

Podrías (re) declarar las unidades en cuestión en tu preámbulo una vez así:

\documentclass{article}

\usepackage{siunitx}
\DeclareSIUnit{\pascal}{\newton\per\square\meter}

\begin{document}

\unit{\pascal}

\end{document}

Editar: en elmanual de usuario, dice en la página 14:

El significado de una unidad predefinida se puede modificar utilizando \DeclareSIUnitdespués de cargar siunitx. Esto sobrescribirá la definición original con la versión más nueva.

Por lo tanto, no debería haber ningún problema al utilizar este enfoque.

Edición 2: me tomé el tiempo para (re) declarar las unidades derivadas del SI en el siunitxpaquete donde tenía sentido (ver más abajo, usé la tabla 10 eneste sitiocomo referencia y verificado nuevamente con Wikipedia). Tenga en cuenta que agregué un bdelante de los nombres de las macros, para no sobrescribir las macros originales. Elegí hacerlo porque me encontré con un problema al declarar que todas las unidades derivadas estén representadas por las siete unidades base del SI. Hay abreviaturas para unidades similares MPao kNdefinidas en el paquete. El uso de abreviaturas con macros de unidades redefinidas puede provocar no sólo errores debido a prefijos dobles sino también unidades incorrectas, por ejemplo, Mm^{-1}kgs^{-2}en lugar de MPa. En conclusión, evitaría redefinir las unidades derivadas del SI existentes, sino que usaría otras nuevas. Sin embargo, si desea utilizar las macros existentes, tenga cuidado y no utilice abreviaturas con prefijos (o al menos compruebe cuáles son seguras) ni las sobrescriba también.

\DeclareSIUnit{\bhertz}{\per\second}
\DeclareSIUnit{\bnewton}{\kilo\gram\metre\per\square\second}
\DeclareSIUnit{\bpascal}{\kilo\gram\per\metre\per\square\second}
\DeclareSIUnit{\bjoule}{\kilo\gram\square\metre\per\square\second}
\DeclareSIUnit{\bwatt}{\kilo\gram\square\metre\per\cubic\second}
\DeclareSIUnit{\bcoulomb}{\ampere\second}
\DeclareSIUnit{\bvolt}{\kilo\gram\square\metre\per\ampere\per\cubic\second}
\DeclareSIUnit{\bfarad}{\per\kilo\gram\per\square\metre\square\ampere\second\tothe{4}}
\DeclareSIUnit{\bohm}{\kilo\gram\square\metre\per\square\ampere\per\cubic\second}
\DeclareSIUnit{\bsiemens}{\per\kilo\gram\per\square\metre\square\ampere\cubic\second}
\DeclareSIUnit{\bweber}{\kilo\gram\square\metre\per\ampere\per\square\second}
\DeclareSIUnit{\btesla}{\kilo\gram\per\ampere\per\square\second}
\DeclareSIUnit{\bhenry}{\kilo\gram\square\metre\per\square\ampere\per\square\second}
% wouldn't recommend using:
\DeclareSIUnit{\bbecquerel}{\per\second}
\DeclareSIUnit{\bgray}{\square\metre\per\square\second}
\DeclareSIUnit{\bsievert}{\square\metre\per\square\second}
\DeclareSIUnit{\bkatal}{\mole\per\second}

Si prefiere el esquema/orden de unidades, m-kg-s-A-K-mol-cdla siguiente versión sería el camino a seguir.

\DeclareSIUnit{\bhertz}{\per\second}
\DeclareSIUnit{\bnewton}{\metre\kilo\gram\per\square\second}
\DeclareSIUnit{\bpascal}{\per\metre\kilo\gram\per\square\second}
\DeclareSIUnit{\bjoule}{\square\metre\kilo\gram\per\square\second}
\DeclareSIUnit{\bwatt}{\square\metre\kilo\gram\per\cubic\second}
\DeclareSIUnit{\bcoulomb}{\second\ampere}
\DeclareSIUnit{\bvolt}{\square\metre\kilo\gram\per\cubic\second\per\ampere}
\DeclareSIUnit{\bfarad}{\per\square\metre\per\kilo\gram\second\tothe{4}\square\ampere}
\DeclareSIUnit{\bohm}{\square\metre\kilo\gram\per\cubic\second\per\square\ampere}
\DeclareSIUnit{\bsiemens}{\per\square\metre\per\kilo\gram\cubic\second\square\ampere}
\DeclareSIUnit{\bweber}{\square\metre\kilo\gram\per\square\second\per\ampere}
\DeclareSIUnit{\btesla}{\kilo\gram\per\square\second\per\ampere}
\DeclareSIUnit{\bhenry}{\square\metre\kilo\gram\per\square\second\per\square\ampere}

Dejé de lado \radiany \steradiandado que su unidad base SI es 1y también \lumeny \luxcuáles se derivan del \candelauso \steradianque (creo) podría conducir a errores de transformación (pero no estoy completamente seguro de eso, si lo sabes mejor, no dudes en hacérmelo saber). ). Además, dado que \degreeCelsiuses solo una unidad derivada relativa a 273.15 K, una transformación directa conduciría a cantidades falsas con temperaturas absolutas, por lo que tampoco la incluí.

Respuesta2

ingrese la descripción de la imagen aquí

\documentclass{article}

\usepackage{siunitx}

\DeclareSIUnit{\pascal}{\newton\per\square\meter}

\begin{document}

This is the distillation column pressure \SI{10}{\unit{\pascal}}.

\end{document}

Nota: No estoy seguro de si esto rompe algo como \pascalya está definido, tal vez alguien tenga una respuesta más apropiada, pero esto parece funcionar sin errores obvios.

información relacionada