![단일 및 이중 인수가 있는 새 명령(확률 함수)](https://rvso.com/image/420786/%EB%8B%A8%EC%9D%BC%20%EB%B0%8F%20%EC%9D%B4%EC%A4%91%20%EC%9D%B8%EC%88%98%EA%B0%80%20%EC%9E%88%EB%8A%94%20%EC%83%88%20%EB%AA%85%EB%A0%B9(%ED%99%95%EB%A5%A0%20%ED%95%A8%EC%88%98).png)
첫 번째이자 유일한 인수가 주어지면 한 가지 작업을 수행하고 두 번째 인수가 주어지면 첫 번째 인수를 확장하도록 새 명령을 정의하고 싶습니다. 아이디어는 확률 함수를 복제하는 것입니다. 하나의 인수는 확률 분포에 대한 것이고 두 개의 인수는 조건부 확률 분포에 대한 것입니다. 나는 그것을 어떻게 해야할지 정말로 모른다.
(완성된) 다음 코드
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amssymb}
\newcommand{\PP}[2]{???}
\begin{document}
$\PP{X}$
$\PP{X}{Y}$
\end{document}
인쇄해야 함
\mathbb{P}{\left({X}\right)}
\mathbb{P}{\left({X}\middle|{Y}\right)}
선택적 인수는 코드의 순서와 가독성에 영향을 미치기 때문에 원하지 않습니다. 즉, 나는 \PP[Y][X]보다 \PP{X}{Y}를 선호합니다.
저 좀 도와 주 시겠어요?
감사해요
답변1
훨씬 더 쉬운 사용자 구문을 사용하면 더 나은 결과를 얻을 수 있습니다.
\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\PP}{ s O{} >{\SplitArgument{1}{|}}m }
{
\mathbb{P}
\IfBooleanTF{#1}
{ \PPauto #3 }
{ \PPfixed {#2} #3 }
}
\NewDocumentCommand{\PPauto}{mm}
{
\left(
\IfNoValueTF{#2} { #1 } { #1 \;\middle|\; #2 }
\right)
}
\NewDocumentCommand{\PPfixed}{mmm}
{
\mathopen{#1(}
\IfNoValueTF{#3} { #2 } { #2 \mathrel{#1|} #3 }
\mathclose{#1)}
}
\ExplSyntaxOff
\begin{document}
\[
\PP{X} \quad \PP[\big]{X} \quad \PP*{\frac{X}{2}}
\]
\[
\PP{X|Y} \quad \PP[\big]{X | Y} \quad \PP*{\frac{X}{2} | Y}
\]
\end{document}
이 명령 \PP
에는 크기에 대한 선택적 인수(절대로 의존하지 않음 \left
) \right
또는 *
자동 크기 조정에 대한 변형(실제로 필요한 경우에만 사용)이 있습니다.
필수 인수가 |
있는 경우 에서 분할됩니다. 따라서 입력 코드를 읽기가 훨씬 쉽습니다. 주변의 공백 |
은 관련이 없습니다.
답변2
나는 단일 인수만 사용하는 구문을 제안합니다. Mico의 간격 제안을 포함하도록 편집되었습니다.
\documentclass{article}
\usepackage{listofitems,amssymb}
\newcommand\PP[1]{%
\readlist\arglist{#1}
\ifnum1=\arglistlen\relax
\mathbb{P}{\left(#1\right)}
\else
\mathbb{P}{\left(\arglist[1]\;\middle|\;\arglist[2]\right)}
\fi
}
\begin{document}
$\PP{X}$
$\PP{X,Y}$
\end{document}
답변3
영감을 받은베르너의 답변위의 Segletes의 답변과 유사합니다.
\documentclass{article}
\usepackage{amssymb}
\newcommand{\pp}[1]{\ppaux#1\relax}
\def\ppaux#1#2\relax{%
\ifnum\pdfstrcmp{#2}{}=0
\mathbb{P}{\left(#1\right)}
\else
\mathbb{P}{\left(#1 \;\middle|\; #2\right)}
\fi
}
\begin{document}
$\pp{X}$
$\pp{XY}$
$\pp{{XY}}$
\end{document}