나는 같은 문제가 있는 것처럼 보이는 다양한 게시물을 거의 두 시간 동안 읽었지만 어떤 해결책도 나에게 도움이 되지 않았습니다.
나는 새로운 단위를 정의하고 싶다(내 경우에는 \thermal과 \electrical이다).
scrartcl이 그것과 관련이 있을 가능성이 있습니까?
아니면 패키지가 이를 방해합니까?
내 서문은 다음과 같습니다.
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[german]{babel}
\usepackage{graphicx}
\usepackage{floatrow}
\usepackage{subfigure}
%\pagestyle{empty}
\linespread{1.5}
\usepackage[margin=3.5cm]{geometry}
\usepackage{color}
\usepackage{siunitx}
\sisetup{inter-unit-product =$\cdot$}
\usepackage{cancel}
\usepackage{float}
\usepackage{enumitem}
\usepackage{caption}
\usepackage{booktabs}
\usepackage{cleveref}
\usepackage{colortbl}
\usepackage{csquotes}
\usepackage{helvet}
\usepackage{mathpazo}
\usepackage{listings}
\usepackage{pgfplots}
\usepackage{xcolor}
\usepackage{hyperref}
\usepackage{multirow}
\renewcommand{\labelitemii}{$\circ$}
\renewcommand{\labelitemiii}{$\diamond$}
\renewcommand{\labelitemiv}{$\ast$}
\allowdisplaybreaks
\numberwithin{equation}{subsection} %Gleichungen bekommen die SubKapitelnummer
\DeclareSIUnit{\thermal}{t}
\DeclareSIUnit{\electrical}{e}
다음 오류가 발생합니다.
! Missing } inserted.
<inserted text>
}
l.72 ...-1000 betrug \SI{3200}{\mega\watt\thermal}
?
나는 이미 다음을 시도했습니다:
\DeclareSIUnit{\thermal}{t}
\DeclareSIUnit\thermal{t}
등등; 공백, 공백 없음, 중괄호 등... \newunit\thermal{t}도 인식되지 않습니다.
추가 정보가 필요하면 게시하겠습니다. 읽어주셔서 감사합니다.
편집 : 전체 최소 예
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{siunitx}
\sisetup{inter-unit-product =$\cdot$}
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage{cancel}
\usepackage{caption}
\usepackage{cleveref}
\usepackage{colortbl}
\usepackage{csquotes}
\usepackage{helvet}
\usepackage{mathpazo}
\usepackage{multirow}
\usepackage{listings}
\usepackage{pgfplots}
\usepackage{xcolor}
\DeclareSIUnit{\thermal}{t}
\DeclareSIUnit{\electrical}{e}
\begin{document}
\SI{3200}{\mega\watt} \\
\SI{3200}{\mega\watt\thermal}
\end{document}
에러 메시지:
! Missing } inserted.
<inserted text>
}
l.23 \SI{3200}{\mega\watt\thermal}
?
업데이트: \sisetup{inter-unit-product =$\cdot$}을 포함하면 오류가 발생합니다.
또한 원래 서문에서도 삭제했는데 이제 작동합니다.
도움을 주신 모든 분들께 감사드립니다. (나와 같은 문제가 발생할 수 있는 사람들을 위해) 지금 사용하고 있는 줄은 다음과 같습니다.
\sisetup{inter-unit-product=\ensuremath{{}\cdot{}}}
답변1
siunitx
\ensuremath
(다른 구성 요소와 마찬가지로) 내부의 단위를 인쇄합니다 . 이를 통해 필요한 경우 수학 모드가 자동으로 활성화되는 수학 또는 텍스트 모드 내에서 출력을 조판할 수 있습니다. 하지만,강제내부의 수학 모드로 \ensuremath
인해 문제가 발생합니다. 이는 다음과 같은 간단한 최소 예제로 복제됩니다.
\documentclass{article}
\begin{document}
$x \cdot y$
\ensuremath{x \cdot y}
%\ensuremath{x $\cdot$ y}% <---- this is a problem
\end{document}
이를 염두에 두고 SI 단위를 정의하세요.없이수학 모드로 전환:
\sisetup{inter-unit-product=\cdot}
곱의 피연산자 사이의 공간을 줄이려면 다음을 사용하십시오.
\sisetup{inter-unit-product=\mathord{\cdot}}
다음은 다양한 출력을 보여주는 최소한의 예입니다.
\documentclass{article}
\usepackage{siunitx}
\DeclareSIUnit{\thermal}{t}
\begin{document}
\sisetup{inter-unit-product=\cdot}
\SI{3200}{\mega\watt\thermal}
\sisetup{inter-unit-product=\mathord{\cdot}}
\SI{3200}{\mega\watt\thermal}
\end{document}
주변 간격 \cdot
및 적용에 대한 참조는 \mathord
다음을 참조하세요.이진 관계 주변의 간격 기본값을 변경하는 방법은 무엇입니까?