I'd like to express the following sentence (source_location is also italic, it's not correctly rendered):
Each entry has a list of tuple: < source_location, R/W, trip_counter, occurrence, killed (explained in the later) >
My current workaround for this is:
$ \left\langle
\textit{source\_location}, \textit{R/W}, \textit{trip\_counter},
\textit{occurrence}, \textit{killed} \text{(explained in the later)}
\right\rangle $
I'm using 2-column paper. This < .. > is too long, but no line break because it is a math. How do I automatically (or manually) put line break in such case? It seems that \left\langle
and \right\rangle
should be in a single math. So, hard to break into multiple maths.
$<$
and $>$
would be an alternative, but I don't like it.
In general, the command \\ signifies a line break and within the correct math mode environment, it can start a new equation line.
The way to get line breaks in display math, while using only standard LaTeX, is to use \begin{array}... \end{array} within the display math environment $$... $$ .
The \\ and \newline commands break the line at the point of insertion but do not stretch it. The \linebreak command breaks the line at the point of insertion and stretches the line to make it of the normal width.
LaTeX does allow inline maths to break over lines by default, but there are a number of restrictions. Specifically, in your case, using \left...\right
puts everything inside a non-breakable math group, so the first step is to replace them with either just plain \langle...\rangle
or perhaps \bigl\langle...\bigr\rangle
.
However, this still isn't enough to permit linebreaking; usually that's still only allowed after relations or operators, not punctuation such as the comma. (I think this is what's going on anyway; I haven't stopped to look this up.) So you want indicate where allowable line breaks may occur by writing \linebreak[1]
after each comma.
Depending how often you have to do this, it may be preferable to write a command to wrap your "tuples" into a nice command. In order to write this in your source:
$ \mytuple{ source\_location, R/W, trip\_counter, occurrence, killed\upshape (explained in the later) } $
here's a definition of \mytuple
that takes all of the above into account:
\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
Why not define a new command:
\newcommand{\tuple}[5]{$\langle$\textit{#1}, \textit{#2}, \textit{#3}, \textit{#4},
\textit{#5} (explained in the latter)$\rangle$}
Then use \tuple{sourcelocation}{R/W}{tripcounter}{occurrence}{killed}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With