.%20%D0%AF%20%D0%BD%D0%B5%20%D1%83%D0%B2%D0%B5%D1%80%D0%B5%D0%BD%2C%20%D0%BA%D0%B0%D0%BA%20%D0%BE%D0%BD%D0%B8%20%D0%BD%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D1%8E%D1%82%D1%81%D1%8F%20(%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%B8%D0%BB%D0%B0%D0%B3%D0%B0%D0%B5%D1%82%D1%81%D1%8F).png)
РЕДАКТИРОВАТЬ -
Я не уверен, как они называются, но как можно сделать что-то подобное в LaTeX:
Ваше здоровье
ПРАВКА №1
Это частично работает, хотя и не очень хорошо.
\documentclass{book}
\usepackage{amsmath}
\begin{document}
\[
\left.
\begin{minipage}{2cm}
\begin{itemize}
\item One
\item Two
\item Three
\end{itemize}
\end{minipage}
\right\} \text{Description}
\]
\[
\left.
\begin{minipage}{2cm}
\begin{itemize}
\item One
\item Two
\item Three
\end{itemize}
\end{minipage}
\right\} \text{Description}
\]
\end{document}
решение1
Здесь я представляю подробный список через \braceditems[width]{items}
и комментарий через \mycomment[width]{commentary}
. Ширина по умолчанию может быть переопределена через \leftwidth
и \rightwidth
. Скобка — это просто масштабированный \}
глиф, ограниченный по ширине до 1.5ex, как указано в \scalerel*
необязательном аргументе (см. приложение для альтернативного стиля скобок).
Если бы я знал больше о средах, я уверен, что смог бы автоматизировать это, но \addgap
перед первым \braceditems
списком обязательно должен быть .
\documentclass{article}
\usepackage{scalerel,lipsum}
\def\leftwidth{.6\textwidth}
\def\rightwidth{.35\textwidth}
\newsavebox\tmpbox
\newcommand\braceditems[2][\leftwidth]{%
\noindent\savebox{\tmpbox}{%
\begin{minipage}{#1}
\begin{itemize}
#2
\end{itemize}
\end{minipage}%
}%
\usebox{\tmpbox} \scalerel*[1.5ex]{\}}{\usebox{\tmpbox}}
}
\newcommand\mycomment[2][\rightwidth]{%
\parbox{#1}{\raggedright #2}\addgap%
}
\newcommand\addgap{\par\bigskip}
\begin{document}
\lipsum[3]
\addgap
\braceditems[2in]{
\item This is
\item just some text
\item that I'm
}
\mycomment[.15\textwidth]{talk a bit about those}
\braceditems[2in]{
\item using as an
\item example so that
\item people know what
}
\mycomment[.15\textwidth]{talk a bit about these ones as well}
\braceditems[2in]{
\item I mean as it
\item might be tricky
\item to describe
\item even when the region is larger than the OP specified.
}
\mycomment[.15\textwidth]{and talk about these}
\lipsum[4]
\end{document}
ПРИЛОЖЕНИЕ:
Если вам понадобятся расширяемые фигурные скобки, общие для LaTeX, то этого переопределения (требующего пакета graphicx
) будет достаточно:
\usepackage{graphicx}
\newcommand\braceditems[2][\leftwidth]{%
\noindent\savebox{\tmpbox}{%
\begin{minipage}{#1}
\begin{itemize}
#2
\end{itemize}
\end{minipage}%
}%
\usebox{\tmpbox} \scalerel*[1.5ex]{%
\raisebox{2pt}{\rotatebox[origin=c]{90}{%
\makebox[\dimexpr\ht\tmpbox+\dp\tmpbox\relax]{\upbracefill}}}%
}{\usebox{\tmpbox}}
}
решение2
Вот два варианта, которые используют blkarray
и listliketab
пакеты, и enumitem
для варианта, который использует itemize
среду. Другой вариант только имитирует itemize
и предназначен для однострочных 'items': \documentclass[12pt, a4pape, leqno]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern}
\usepackage{blkarray}
\usepackage{enumitem}
\usepackage{listliketab}
\begin{document}
Some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text.
\storestyleof{itemize}
\begin{listliketab}
\begin{blockarray}{@{\hskip\parindent} >{ \arraybackslash}p{6cm}}%
\begin{block}{@{}l<{\enspace}\Right{\}\enspace}{\parbox{2.5cm}{\raggedright talk a bit about these}}}%
\parbox{4cm}{\raggedright\begin{itemize}[leftmargin=1.8em, itemsep = 0ex, topsep = 0pt]
\item this is
\item just some
\item text that I’m
\end{itemize}}\\[4ex]
\end{block}
%
\begin{block}{@{}l<{\enspace}\Right{\}\enspace}{\parbox{2.5cm}{\raggedright talk a bit about these ones as well}}}%
\parbox{4cm}{\raggedright\begin{itemize}[leftmargin=1.8em, itemsep = 0ex, topsep = 0pt]
\item using as an
\item example so that text text text text
\item people know what
\end{itemize}}\\[4ex]
\end{block}
%
\begin{block}{@{} >{}l<{\enspace}\Right{\}\enspace}{\parbox{2.5cm}{\raggedright and talk about these}}}%
\parbox{4cm}{\raggedright\begin{itemize}[leftmargin=1.8em, itemsep = 0ex, topsep = 0pt]
\item I mean as it
\item might be tricky
\item to describe
\end{itemize}}\\
\end{block}
\end{blockarray}
\end{listliketab}
\storestyleof{itemize}
\begin{listliketab}
\renewcommand\arraystretch{1.333}
\begin{blockarray}{@{}>{\arraybackslash}l}%
\begin{block}{@{\hskip0.3\parindent}>{\textbullet\hskip\labelsep}l<{\enspace}\Right{\}\enspace}{\parbox{2.5cm}{\raggedright talk a bit\\ about these}}}%
this is \\
just some \\
text that I’m \\
\end{block}
%
\begin{block}{@{}>{\hskip0.3\parindent\textbullet\hskip\labelsep}l<{\enspace}\Right{\}\enspace}{\parbox{2.5cm}{\raggedright talk a bit about these ones as well}}}%
using as an \\
example so that text text text text\\
people know what \\
\end{block}
%
\begin{block}{@{} >{\hskip0.3\parindent\textbullet\hskip\labelsep}l<{\enspace}\Right{\}\enspace}{\parbox{2.5cm}{\raggedright and talk about these}}}%
I mean as it \\
might be tricky \\
to describe\\
\end{block}
\end{blockarray}
\end{listliketab}
\end{document}
решение3
Если вас не смущают накладные расходы, связанные с загрузкой TiKZ (или если вы используете его для чего-то еще), вы можете использовать библиотеку tikzmark
. Следующий код определяет новую среду, braced
которая принимает один аргумент, который должен быть описанием, которое вы хотите набрать справа от списка элементов. Затем вы используете \item
для определения элементов, как в обычной itemize
среде. Вы помещаете \bracefirst
после первого элемента, который вы хотите включить в фигурные скобки, \bracelast
после последнего и \bracewidest
после самого широкого. Это означает, что вы можете, если хотите, заключить в скобки подмножество элементов в списке:
\documentclass{book}
\usepackage{tikz,enumitem}
\usetikzlibrary{tikzmark,decorations.pathreplacing,calc}
\newlist{braceditems}{itemize}{1}
\setlist[braceditems,1]{%
label=\textbullet,
before={\stepcounter{braced}},
}
\newcounter{braced}
\setcounter{braced}{0}
\newcommand\bracefirst{\tikzmark{first braced \thebraced}}
\newcommand\bracelast{\tikzmark{last braced \thebraced}}
\newcommand\bracewidest{\tikzmark{widest braced \thebraced}}
\newenvironment{braced}[1]{%
\providecommand{\braceddescriptor}{#1}%
\begin{braceditems}%
}{%
\end{braceditems}%
\begin{tikzpicture}[overlay,remember picture]
\draw [decorate, decoration=brace, xshift=10pt] ($({pic cs:first braced \thebraced} -| {pic cs:widest braced \thebraced}) + (0,1em)$) -- ($({pic cs:last braced \thebraced} -| {pic cs:widest braced \thebraced}) - (0,.5em)$) node [right, midway, xshift=5pt] {\braceddescriptor} ;
\end{tikzpicture}
}
\begin{document}
\begin{braced}{Description 1}
\item One\bracefirst
\item Two
\item Three\bracelast\bracewidest
\end{braced}
\begin{braced}{Description 2}
\item One\bracefirst
\item Two and a bit\bracewidest
\item Three\bracelast
\end{braced}
\begin{braced}{Description 3}
\item Nought (an unbraced item)
\item One\bracefirst
\item Two and a bit\bracewidest
\item Three\bracelast
\item Final (outside the braces)
\end{braced}
\end{document}
решение4
Быстрое решение, которое приходит мне в голову, — это злоупотребить средой кейсов:
\documentclass{minimal}
\usepackage{amsmath}
\begin{document}
$
\mbox{\begin{minipage}{3cm}some long description braking to next line\end{minipage}}
\begin{cases}
\mbox{item 1} \\
\mbox{item 2} \\
\mbox{item 3}
\end{cases}
$
\end{document}
Получаем это (правда, с фигурной скобкой с левой стороны):
(Конечно, это не то, для чего предназначена среда case... но она работает.)