정렬 환경 주변의 'muskip'을 수정할 때 '호환되지 않는 접착 단위' 오류

정렬 환경 주변의 'muskip'을 수정할 때 '호환되지 않는 접착 단위' 오류

한 줄에 맞추려고 하는 긴 방정식이 있습니다.

\documentclass[a4paper,11pt,oneside]{article}

%%% DOCUMENT SETUP %%%
\PassOptionsToPackage{medium}{titlesec}

% packages and configurations come here (see list below).
\graphicspath{{images/}}

\title{My title}
\author{Myself}

\date{\today{}}

\begin{document}
\maketitle

\newcommand{\indicator}[1]{\mathbbm{1}_{\{#1\}}}
\newcommand{\sgn}{\mathrm{sgn}}

\begin{align}
    \Lambda=
    \frac{1}{x}\left(
        \indicator{z\geq0}
        -e^{-xt}\Phi\left(\beta_0\right)
        +\frac{e^{-zy}}{2}\left(
            e^{-zp}\left(\frac{y}{p}-1\right)\Phi\left(\sgn(z)\beta_1\right)
            -e^{zp}\left(\frac{y}{p}+1\right)\Phi\left(-\sgn(z)\beta_2\right)
        \right)
    \right)
\end{align}
\end{document}

기반이 답변\thinmuskip, 및 값을 수정하여 방정식을 압축하려고 했습니다 \medmuskip.

\begingroup
\setlength{\thinmuskip}{0mu}
\setlength{\medmuskip}{0mu}
\begin{align}
    \Lambda=
    \frac{1}{x}\left(
        \indicator{z\geq0}
        -e^{-xt}\Phi\left(\beta_0\right)
        +\frac{e^{-zy}}{2}\left(
            e^{-zp}\left(\frac{y}{p}-1\right)\Phi\left(\sgn(z)\beta_1\right)
            -e^{zp}\left(\frac{y}{p}+1\right)\Phi\left(-\sgn(z)\beta_2\right)
        \right)
    \right)
\end{align}
\endgroup

그러나 다음과 같은 오류가 발생합니다.

! Incompatible glue units.               \setlength{\thinmuskip}{0mu}
! Illegal unit of measure (pt inserted). \setlength{\medmuskip}{0mu}

u!또한 출력에서 ​​그룹이 시작되는 위치에 문자열이 나타납니다.

이 사이트에는 이러한 종류의 오류에 대한 다른 질문이 있습니다.이것, 그러나 이는 당면한 문제와 관련이 없는 것 같습니다.

여기서 내 코드가 실패하는 원인은 무엇입니까?

편집하다: 내 문서의 패키지/설정

\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{bbm}
\usepackage{bm}

\usepackage[top=1in, bottom=1in, left=1in, right=1in]{geometry}
\usepackage{graphicx}
\usepackage[colorlinks=true,allcolors=blue]{hyperref}
\usepackage[authoryear]{natbib}
\usepackage{titlesec}
\usepackage[dvipsnames]{xcolor}
\usepackage[normalem]{ulem}
\usepackage{soul}
\usepackage{color}
\usepackage{booktabs}
\usepackage[textsize=footnotesize,tickmarkheight=3pt]{todonotes}
\usepackage{setspace}

% MATHS %
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{bigints}
\usepackage{mathrsfs}
\usepackage{xfrac}
\usepackage{yfonts}
\usepackage{mathtools}
\usepackage{upgreek}
\usepackage{nccmath}
\usepackage{scalerel}
\usepackage{accents}
\usepackage{nicefrac}
\usepackage{mathtools}

\usepackage{subcaption}
\usepackage[labelfont=bf]{caption}

\usepackage{changepage}
\usepackage{enumitem}
\usepackage{eurosym}
\usepackage{indentfirst}
\usepackage{bibentry}
\usepackage{pifont}

\setlength\parindent{0pt}

\bibliographystyle{myauthordate3}
\setcitestyle{authoryear,round,semicolon,}

\titleformat{\paragraph}[hang]
{\normalfont\normalsize\bfseries}{}{1em}{}
\titlespacing*{\paragraph}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
\titleformat{\subparagraph}
{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{}
\titlespacing*{\subparagraph}{\parindent}{3.25ex plus 1ex minus .2ex}{.75ex plus .1ex}

\makeatletter
\def\today{%
    \two@digits{\the\day}-%
    \ifcase\month\or%
    Jan\or Feb\or Mar\or Apr\or May\or Jun\or%
    Jul\or Aug\or Sep\or Oct\or Nov\or Dec\fi-%
    \number\year%
}
\makeatother

\newcommand{\indicator}[1]{\mathbbm{1}_{\{#1\}}}
\newcommand{\sgn}{\mathrm{sgn}}

\makeatletter
\newcommand{\vast}{\bBigg@{4}}
\newcommand{\Vast}{\bBigg@{5}}
\makeatother

답변1

패키지 scalerel가 로드됩니다 calc. 후자 패키지가 호출되면 \setlength.

그냥 해

\thinmuskip=0mu
\medmuskip=0mu

대신에 \setlength.

답변2

기본 간격에 대해 많은 생각이 있었습니다. 이를 변경하는 대신 방정식을 두 개로 나누겠습니다.

\documentclass[a4paper,11pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath}
\usepackage{bbm}
\newcommand{\indicator}[1]{\mathbbm{1}_{\{#1\}}}
\DeclareMathOperator{\sgn}{sgn}
\begin{document}
\begin{multline}
    \Lambda=
    \frac{1}{x}\biggl(
        \indicator{z\geq0}
        -e^{-xt}\Phi(\beta_0)\\
        +\frac{e^{-zy}}{2}\Bigl(
            e^{-zp}\Bigl(\frac{y}{p}-1\Bigr)\Phi(\sgn(z)\beta_1)
            -e^{zp}\Bigl(\frac{y}{p}+1\Bigr)\Phi(-\sgn(z)\beta_2)
        \Bigr)
    \biggr)
\end{multline}
\end{document}

이는 다음과 같이 렌더링됩니다. 코드 출력

\left또한 이 경우에는 최적이 아니기 때문에 및 를 변경했습니다 \right(현재 적절한 Q&A를 찾을 수 없습니다).

최소한의 예제에 대한 포스트스크립트: 예제를 컴파일하기 위해서만 필요합니다 amsmath. bbm문서 클래스 옵션과 geometry사용 가능한 텍스트 영역의 크기만 결정하면 됩니다. 다른 모든 것은 예제를 (1) 따르기가 더 어렵게 만들고 (2) 단일 코드 블록으로 컴파일할 수 없게 만듭니다.

관련 정보