Como posso criar essa coisa entre colchetes alinhados?

Como posso criar essa coisa entre colchetes alinhados?

Estou tentando criar uma lista de itens parecida com esta:

o que eu quero

mas não consigo descobrir como posicionar o suporte corretamente. Aqui está o que tenho atualmente, sem a chave (que editei na captura de tela):

\documentclass{article}
\begin{document}
    \begin{tabular}{rcl}
        full-time & $\mapsto$ & $1$ \\
        \begin{tabular}{@{}r@{}}
            part-time \\
            not at all \\
            don't know
        \end{tabular} & $\mapsto$ & $0$ \\
        refused & $\mapsto$ & missing
    \end{tabular}
\end{document}

Estou ciente de algumas soluções diferentes que aproveitam \left. \right}o modo matemático, mas não consigo alinhar os itens de texto dessa maneira. E outra solução bigdelimsimplesmente não parece funcionar. Também prefiro não usar o Tikz se puder evitá-lo.

Aqui está um exemplo mais extenso que é mais parecido com o que tenho no meu documento real:

\documentclass{article}
\usepackage{multirow,bigdelim}
\begin{document}
Text goes here
    \begin{description}
        \item[\texttt{bigdelim}]
            \begin{itemize}
                \item[]
                \item[Sub-Thing:] Text goes here
                \item[Sub-Thing:]
                    \begin{tabular}{rcl}
                        full-time & $\mapsto$ & $1$ \\
                        part-time & & \\
                        not at all & & \\
                        don't know & $\rdelim){-3}{*}$ & \multirow{-3}{*}{$0$} \\  % rdelim} doesn't work anyway
                        refused & $\mapsto$ & missing
                    \end{tabular}
            \end{itemize}
        \item[\texttt{tabular}]
            \begin{itemize}
                \item[]
                \item[Sub-Thing:] Text goes here
                \item[Sub-Thing:]
                    \begin{tabular}{rcl}
                        full-time & $\mapsto$ & $1$ \\
                        \begin{tabular}{@{}r@{}}
                            part-time \\
                            not at all \\
                            don't know
                        \end{tabular} & $\mapsto$ & $0$ \\
                        refused & $\mapsto$ & missing
                    \end{tabular}
            \end{itemize}
    \end{description}
Text goes here
\end{document}

Responder1

Com alguma ajuda de xparse(para definir facilmente um \sourcecomando com uma variante *) e arraypara um novo tipo de coluna:

\documentclass{article}

\usepackage{xparse,array}

\NewDocumentCommand{\source}{sm}{%
  \IfBooleanTF{#1}{\bracedsource{#2}}{#2 &}%
}
\NewDocumentCommand{\bracedsource}{m}{%
  \global\setbox9=\hbox{%
    \begin{tabular}{@{}r@{}}#1\end{tabular}%
  }%
  \copy9 & $\left.\hbox{\vphantom{\box9}}\right\rbrace$%
}

\newcolumntype{s}{r@{}c}

\begin{document}
\begin{tabular}{scl}
\source{full-time} & $\mapsto$ & $1$ \\
\source*{
  part-time \\
  not at all \\
  don't know
}                  & $\mapsto$ & $0$ \\
\source{refused}   & $\mapsto$ & missing
\end{tabular}
\end{document}

Quando \source*usado, o argumento pode conter \\e produzirá uma chave de tamanho adequado. Observe que a coluna que contém as fontes deve ser marcada como s(altere o caractere se você também carregar siunitxque preempte o tipo de coluna).

insira a descrição da imagem aqui

Responder2

Aqui você vai.

\documentclass{article}
\usepackage{multirow,bigdelim}
\begin{document}
Text goes here
    \begin{description}
        \item[\texttt{bigdelim}]
            \begin{itemize}
                \item[]
                \item[Sub-Thing:] Text goes here
                \item[Sub-Thing:]
                    \begin{tabular}{r@{}cl}
                        full-time &  & $\mapsto 1$ \\
                        part-time & & \\
                        not at all & & \\
                        don't know & $\rdelim\}{-3}{-0.1em}$ & \multirow{-3}{*}{$\mapsto 0$} \\  % rdelim} doesn't work anyway
                        refused &  & $\mapsto$ missing
                    \end{tabular}
            \end{itemize}
        \item[\texttt{tabular}]
            \begin{itemize}
                \item[]
                \item[Sub-Thing:] Text goes here
                \item[Sub-Thing:]
                    \begin{tabular}{rcl}
                        full-time & $\mapsto$ & $1$ \\
                        \hspace{\tabcolsep}$\left.\begin{tabular}{@{}r@{}}
                            part-time \\
                            not at all \\
                            don't know
                        \end{tabular}\right\}$\hspace{-\tabcolsep} & $\mapsto$ & $0$ \\
                        refused & $\mapsto$ & missing
                    \end{tabular}
            \end{itemize}
    \end{description}
Text goes here
\end{document}

insira a descrição da imagem aqui

Aqui está uma versão que usa rcases*ou drcases*do mathtools.

\documentclass{article}
\usepackage{mathtools}
\begin{document}
Text goes here
    \begin{description}
        \item[\texttt{rcases}]
            \begin{itemize}
                \item[]
                \item[Sub-Thing:] Text goes here
                \item[Sub-Thing:]
                    $\begin{aligned}
                        \text{full-time} &\mapsto 1 \\
                        \begin{drcases*}
                            & part-time \\
                            & not at all \\
                            & don't know
                        \end{drcases*} & \mapsto 0 \\
                        \text{refused} & \mapsto  \text{missing}
                    \end{aligned}$
            \end{itemize}
    \end{description}
Text goes here
\end{document}

insira a descrição da imagem aqui

Responder3

Outra maneira de fazer; talvez um menos elegante:

\documentclass{article}
\usepackage{MnSymbol}
\usepackage{multirow}
\begin{document}
    \begin{tabular}{rcl}
        full-time & $\mapsto$ & $1$ \\
        \begin{tabular}{rl}
          part-time & \multirow{3}{*}{\Huge{$\rbrace$}} \\
          not at all & \\
          don't know & \\
        \end{tabular} & $\mapsto$ & $0$ \\
        refused & $\mapsto$ & missing
    \end{tabular}
\end{document}

Alinhar chave

informação relacionada