I am trying to typeset text by breaking it into smaller cameos, numbering each cameo, and putting a heading. See below for an example of how I want the typeset text to look.

The code with which I used to typeset the text is shown below.
\documentclass{article} \usepackage{verse} \newlength{\zlindenttext} \newlength{\zlindentheading} \newlength{\zlverticalspace} \newlength{\saveleftmargini} \setlength{\saveleftmargini}{\leftmargini} \makeatletter \newcommand*{\compress}{\@minipagetrue} \makeatother \newenvironment{tverse}[1][]{ \compress\ifx\\#1\\\begin{verse}\else\begin{verse}[#1]\fi } { \end{verse}\vspace{-\lastskip}\vspace{-1\baselineskip} % No left indentation for verses \setlength{\leftmargini}{\saveleftmargini} } \begin{document} \begin{figure}[h!] \small \setlength{\zlindenttext}{5mm} \setlength{\zlindentheading}{8mm} \setlength{\zlverticalspace}{4mm} \begin{tabular}{p{6mm}@{\hspace{4mm}}p{100mm}@{\hspace{-5mm}}p{40mm}} 1. & \setlength{\leftmargini}{0\zlindenttext} \begin{tverse} And now the Lord says,\\ who formed me from the womb to be his servant, \end{tverse} & \setlength{\leftmargini}{-2\zlindentheading} \begin{tverse} GOD SAYS:\\ His Servant \end{tverse} \\[\zlverticalspace] 2. & \setlength{\leftmargini}{1\zlindenttext}% \begin{tverse} to bring Jacob back to him,\\ and that Israel might be gathered to him, \end{tverse} & \setlength{\leftmargini}{-1\zlindentheading}% \begin{tverse} JACOB---RETURN\\ Israel---Gathered \end{tverse} \\[\zlverticalspace] 3. & \setlength{\leftmargini}{2\zlindenttext}% \begin{tverse} for I am honored in the eyes of the Lord,\\ and my God has become my strength--- \end{tverse} & \setlength{\leftmargini}{0\zlindentheading}% \begin{tverse} SERVANT HONORED\\ Made Strong \end{tverse} \\[\zlverticalspace] 4. & \setlength{\leftmargini}{0\zlindenttext}% \begin{tverse} he says:``It is too light a thing,\\ that you should be my servant \end{tverse} & \setlength{\leftmargini}{-2\zlindentheading}% \begin{tverse} HE SAYS: TOO LIGHT\\ My Servant \end{tverse} \\[\zlverticalspace] 5. & \setlength{\leftmargini}{1\zlindenttext}% \begin{tverse} to raise up the tribes of Jacob\\ and to restore the preserved of Israel; \end{tverse} & \setlength{\leftmargini}{-1\zlindentheading}% \begin{tverse} JACOB---RAISED\\ Israel---Preserved \end{tverse} \\[\zlverticalspace] 6. & \setlength{\leftmargini}{2\zlindenttext}% \begin{tverse} I will give you as a light to the nations\\ that my salvation may reach to the end of the earth.'' \end{tverse} & \setlength{\leftmargini}{0\zlindentheading}% \begin{tverse} TO NATIONS\\ Salvation To All\end{tverse} \end{tabular} \end{figure} \end{document} It works, but I think that it could be better. What I would like is to be able to define a new environment with the following features:
- Options to change the text size, the vertical spacing between cameos, the indentation of the text and the indentation of the headings.
- Options to shift the text or headings to the left or right as more space may be needed.
- A new command to specify the level of the text and the level of the heading.
- Automatic numbering of the cameos.
What I want is for the following code below to work
\begin{rhetfigure}[text=small,vertical space=5mm, text indent=5mm,heading indent=5mm] \rhettext{0}{ And now the Lord says,\\ who formed me from the womb to be his servant,} \rhetheading{0}{ GOD SAYS:\\ His Servant} \\ \rhettext{1}{ to bring Jacob back to him,\\ and that Israel might be gathered to him,} \rhetheading{1}{ JACOB---RETURN\\ Israel---Gathered} ... \end{rhetfigure} Unfortunately, I don't know enough LaTeX to make this work, and so I would appreciate any help! If you read so far, thank you for reading to the end.
