LaTeX разрешает встроенным математическим вычислениям разбивать строки по умолчанию, но есть ряд ограничений. В частности, в вашем случае, использование \left...\right
помещает все в неразрывную математическую группу, поэтому первым шагом является замена их на просто \langle...\rangle
или, возможно, \bigl\langle...\bigr\rangle
.
Однако этого все же недостаточно, чтобы разрешить разрыв строки; обычно это разрешено только после отношений или операторов, а не знаков препинания, таких как запятая. (Я думаю, это то, что происходит в любом случае; я не остановился, чтобы посмотреть на это.) Итак, вы хотите указать, где допустимые разрывы строк могут произойти, написав \linebreak[1]
после каждой запятой.
В зависимости от того, как часто вам приходится это делать, может быть предпочтительнее написать команду, чтобы обернуть ваши «кортежи» в хорошую команду. Для того, чтобы написать это в вашем источнике:
$ \mytuple{ source\_location, R/W, trip\_counter, occurrence,
killed\upshape (explained in the later) } $
вот определение \mytuple
, которое учитывает все вышеперечисленное:
\makeatletter
\newcommand\mytuple[1]{%
\@tempcnta=0
\bigl\langle
\@for\@ii:=#1\do{%
\@insertbreakingcomma
\textit{\@ii}
}%
\bigr\rangle
}
\def\@insertbreakingcomma{%
\ifnum \@tempcnta = 0 \else\,,\ \linebreak[1] \fi
\advance\@tempcnta\@ne
}
\makeatother