Como converter unidade geral em unidade SI

Como converter unidade geral em unidade SI

É possível converter automaticamente todas as unidades utilizadas em um documento para uma das 7 unidades do SI?

Onde eu, por exemplo, tenho \unit{\pascal},

Eu gostaria de renderizá-lo como \unit{\newton\per\square\meter}, sem precisar fazer ajustes em todos os lugares.

Responder1

Você poderia (re)declarar as unidades em questão em seu preâmbulo assim:

\documentclass{article}

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

\begin{document}

\unit{\pascal}

\end{document}

Editar: Nomanual do usuário, diz na página 14:

O significado de uma unidade predefinida pode ser alterado usando \DeclareSIUnitsiunitx após o carregamento. Isto substituirá a definição original pela versão mais recente.

Portanto, não deve haver problemas em usar essa abordagem.

Edição 2: reservei um tempo para (re) declarar as unidades derivadas do SI no siunitxpacote onde fazia sentido (veja abaixo, usei a tabela 10 emesse sitecomo referência e verificado novamente com a Wikipedia). Observe que adicionei um bna frente dos nomes das macros, para não substituir as macros originais. Optei por fazer isso porque me deparei com um problema ao declarar todas as unidades derivadas como representadas pelas sete unidades básicas do SI. Existem abreviaturas para unidades semelhantes MPaou kNdefinidas na embalagem. Usar aqueles com abreviaturas com macros de unidades redefinidas pode levar não apenas a erros devido a prefixos duplos, mas também a unidades erradas, por exemplo, Mm^{-1}kgs^{-2}em vez de MPa. Concluindo, eu evitaria redefinir as unidades derivadas do SI existentes, mas usaria novas. Porém, se você quiser usar as macros existentes, tenha cuidado e não use abreviações com prefixos (ou pelo menos verifique quais são seguras) ou substitua-as também.

\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}

Se você preferir o esquema/ordem das unidades, m-kg-s-A-K-mol-cda versão abaixo seria a melhor opção.

\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}

Eu deixei de fora \radiane \steradiancomo a unidade base do SI deles é 1e também \lumene \luxwhich são derivados do \candelauso \steradiande which (eu acho) podem levar a erros de transformação (mas não tenho certeza sobre isso, se você souber melhor, sinta-se à vontade para me avisar ). Além disso, como \degreeCelsiusé apenas uma unidade derivada em relação a 273.15 K, uma transformação direta levaria a quantidades falsas com temperaturas absolutas, por isso também não a incluí.

Responder2

insira a descrição da imagem aqui

\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: Não tenho certeza se isso quebra alguma coisa \pascaljá definida, talvez alguém tenha uma resposta mais apropriada, mas parece funcionar sem erros óbvios.

informação relacionada