Я произвожу некоторый латекс beamer слайды (но я думаю, что это не beamer конкретный вопрос по сути).
У меня есть следующее:
\begin{itemize}
\item Issue1
\item Issue2
\item Issue3
\end{itemize}
Теперь, я хочу иметь правильную изогнутую фигурную скобку (т.е. '}') позади объектов, распространяющихся по issue1 и issue2. И конечно я хочу записать что-то позади той изогнутой фигурной скобки.
В идеальном мире я записал бы что-то как:
\begin{itemize}
\left .
\item Issue1
\item Issue2
\right \} One and Two are cool
\item Issue3
\end{itemize}
Это не работает, потому что я не нахожусь в математической среде, и я не могу поместить целый отрывок в математической среде, потому что перечисляют, не работал бы в этом случае.
Существует ли чистое решение или взлом для приведения к моему желаемому результату?
С уважением, Bastian.
Я бы использовал tikz
и сделал наложение.
Сначала включите подходящие пакеты (возможно, вам не нужно включать tikz
, поскольку это вопрос для лучей):
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing}
Затем, когда вы составляете свой список, дайте имена местам после каждого элемента:
\begin{itemize}
\item Issue 1
\tikz[remember picture] \node[coordinate,yshift=0.5em] (n1) {};
\item Issue 2
\tikz[remember picture] \node[coordinate] (n2) {};
\item Issue 3
\end{itemize}
( Примечание: Я сдвинул значение y
вверх на 1/2 строки, может быть, будет лучше.)
Поскольку мы использовали , запомните картинку
] мы можем ссылаться на эти места в наложении:
\begin{tikzpicture}[overlay,remember picture]
\path (n2) -| node[coordinate] (n3) {} (n1);
\draw[thick,decorate,decoration={brace,amplitude=3pt}]
(n1) -- (n3) node[midway, right=4pt] {One and two are cool};
\end{tikzpicture}
Путь предназначен для работы с элементами, которые не имеют одинаковой ширины. Это редактирование взято из ответа ESultanik .
Результат:
Дополнительное примечание : Вы можете удалить все параметры запомнить изображение
и добавить следующее, чтобы автоматически добавлять запоминание ко всем изображениям:
\tikzstyle{every picture}+=[remember picture]
Однажды я сделал нечто подобное. Я оставил список в столбце слева, а в правом столбце сделал $ \ right \} $
-так, чтобы он был таким же высоким, как некоторые \ mbox
или что-то в этом роде (что я решил с помощью \ vphantom
или чего-то подобного). К сожалению, у меня нет времени раскапывать это ... У меня вообще нет времени сейчас быть в SO;)
Я попробовал свою идею, описанную ниже. Она не работает: к сожалению, vbox'ы, создаваемые средой itemize, все имеют ширину \textwidth
.
UI моего предложения хорош, и, переопределив \item
, можно добиться того, чтобы vbox'ы элементов имели разумную ширину. Или вычислить разумную ширину для vbox'ов, содержащих элементы. Но поскольку функциональные решения уже есть, я не буду тратить на это время.
\documentclass{article} \def\setgrouptext#1{\gdef\grouptext{#1}} \newenvironment{groupeditems}{\begin{displaymath}\left.\vbox\bgroup\setgrouptext}{% \egroup\right\rbrace\hbox{\grouptext}\end{displaymath}} \begin{document} \begin{itemize} \item Line 1 \begin{groupeditems}{Lines 2 and 3 together!} \item Line 2 \item Line 3 \end{groupeditems} \item Line 4 \end{itemize} \end{document}
Вот код Джеффса с небольшими изменениями (только для других пользователей проекторов)
\begin{frame}{Example}
\begin{itemize}
\item The long Issue 1
\tikz[remember picture] \node[coordinate,yshift=0.7em] (n1) {}; \\
spanning 2 lines
\item Issue 2
\tikz[remember picture] \node[coordinate, xshift=1.597cm] (n2) {};
\item Issue 3
\end{itemize}
\visible<2->{
\begin{tikzpicture}[overlay,remember picture]
\draw[thick,decorate,decoration={brace,amplitude=5pt}]
(n1) -- (n2) node[midway, right=4pt] {One and two are cool};
\end{tikzpicture}
} % end visible
\end{frame}
Результат (2-й слайд этого кадра):
Адаптации являются:
(n1 - | n2) - (n2)
вместо (n1) - (n2)
. Один из способов обойти это - использовать математическую среду, например, выровнять, поставить маркеры вручную (с помощью \ bullet), а затем использовать ресурсы математической среды для больших подтяжек и тому подобное.
Вместо этого можно (ab)использовать таблицу:
\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{tabular}{ll}
\textbullet Issue 1 & \multirow{2}{*}{{\LARGE \}} One and Two are cool} \\
\textbullet Issue 2 \\
\textbullet Issue 3 \\
\end{tabular}
\end{document}
produces:
удалена мертвая ссылка Imageshack