.png)
인라인 수학 모드를 고려할 때 TeX가 Rel 및 Bin 유형의 원자 뒤에 자동으로 페널티를 적용하고 Punct 유형 이후에는 페널티를 적용하지 않는 개념적 또는 인쇄상의 이유가 있습니까?
내 마음에 떠오르는 한 가지 이유는 허용된 줄 바꿈을 어떻게든 편리하게 제어할 수 있다는 것입니다. 따라서 변수 사이에 줄바꿈을 피할 이유가 없기 때문에 대신 Let $a$, $b$ be numbers
에 대신 작성해야 할 수도 있습니다 . Let $a,b$ be numbers
반면에 여기에서는 변수 사이에 줄 바꿈을 허용하지 않기를 원할 수도 있으므로 Let $a,b\in Z
대신 작성하는 것이 좋습니다.Let $a$, $b\in Z$
$a$
하지만 제 생각에는 두 번째 경우에도 과 사이의 줄바꿈이 $b$
뒤에 줄바꿈하는 것보다 더 나을 것이므로 쉼표 뒤 \in
보다 낮은 양의 페널티를 포함하는 것이 더 합리적일 것 같습니다 .\relpenalty
또 다른 예: 나는 수학에서 지도를 다음과 같이 정의하는 경향이 있습니다 $f\colon A\to B$
(이 맥락에서는 관계 대신 구두점으로 콜론을 사용하는 것이 더 적절하다고 생각합니다. 즉, 콜론 뒤에만 공백이 있고 앞에는 공백이 없습니다). 이 예에서 TeX는 뒤에 줄바꿈을 허용 \to
하지만 뒤에는 줄바꿈을 허용하지 않습니다 \colon
. 여기서는 확실히 더 적절합니다.
두 문제에 대한 가장 쉬운 해결책은 아마도 수학 모드 외부에서만 문장 부호를 사용하고 \colon
일부 페널티를 포함하도록 매크로를 재정의하는 것입니다. (추가 가능성은 다른 스레드에서 고려되었습니다.인라인 수학 모드에서 ','에 줄바꿈을 허용하시겠습니까?) 그럼에도 불구하고 TeX가 이렇게 동작하는 이유를 알고 싶습니다. 아마도 제가 중요한 것을 감독하고 있기 때문일 것입니다.
편집: 댓글의 @egreg에는 순서쌍에 대한 흥미로운 점이 있었지만 내 생각에는 이 동작이 얼마나 무의미한지 더 잘 보여줍니다.
따라서 주문쌍(ㅏ,비), 우리는 그것을 깨고 싶지 않습니다. 이는 쉼표 뒤에 구분 기호를 허용하지 않는다는 주장으로 볼 수 있습니다. 하지만 이제 한 쌍(ㅏ+비,씨). 여기서 TeX은 플러스 뒤에는 구분을 허용하지만 쉼표 뒤에는 구분을 허용하지 않습니다. 그러나 플러스 뒤에 끊는 것은 쉼표 뒤에 오는 것보다 의미가 더 적습니다. 반면에 (ㅏ+비,ㅏ2 +비2 ,ㅏ3 +비3 ), 쉼표 뒤에는 끊어도 전혀 나쁘지 않을 것 같지만, 플러스 뒤에는 끊어도 확실히 나쁘다고 생각합니다.
마지막으로 구두점이 줄 바꿈을 허용하는 경우 간단한 쌍에서 줄 바꿈을 허용하지 않는 깔끔한 방법(ㅏ,비${(a,b)}$
), 어떻게든 공식의 내부 논리를 존중하는 그룹에 작성하는 것입니다 .
답변1
답변, 이 동작이 어떤가요?의미했다 분명히 TeXbook에 제공되어 있습니다 (p. 173)
예를 들어 다음을 입력하면단락 중간에서 TEX가 = 기호 뒤(이것을 선호함) 또는 - 또는 + 또는 - 기호 뒤(긴급 상황)에서 중단될 가능성이 있습니다. 그러나 어떤 경우에도 쉼표 뒤에는 중단이 없습니다. 중단이 바람직한 쉼표는 $ 사이에 표시되어서는 안 됩니다.$f(x,y) = x^2-y^2 = (x+y)(x-y)$
수식 외부 수준의 특정 지점에서 중단을 허용하려면 \allowbreak라고 말하면 됩니다. 예를 들어, 수식aa 문단의 텍스트에 나타나면 TEX를 사용하면 두 부분으로 나눌 수 있습니다. '(엑스1 , ...,엑스m ,' 그리고 '와이1 , ...,와이N )'.$(x_1,\ldots,x_m,\allowbreak y_1,\ldots,y_n)$
그다지 다행스럽지는 않지만 처리해야 할 것 같습니다.
편집: 어떻게든 주제를 마무리하고 이것이 내 질문에 대한 철저한 답변이 되도록 하기 위해 이에 대한 내 솔루션을 공유하겠습니다.
쉼표 뒤의 줄바꿈에 관해서는 다음과 같이 정의합니다.
\def\ppen{\penalty300 } %punctuation penalty
\let\col=\colon
\def\colon{\col\ppen}
즉, 매 마다 300의 \colon
페널티가 있습니다. 이제 순서쌍을 조판할 때 와 같은 다른 장소에서도 \ppen
사용할 수 있습니다 .\ppen
(a,\ppen b+c)