我试图获得悬挂缩进,即从第二行开始缩进。关于如何在一般文本或列表中实现这一点,有多种答案。但我无法将它们转移到环境curve
中的包中rubric
。
梅威瑟:
% doc.tex
\documentclass[a4paper,11pt]{curve}
\begin{document}
\makerubric{history}
\end{document}
% history.tex
\begin{rubric}{History}
\entry*[2018]%
\textbf{That's now}.
\entry*[2016 -- \rlap{$\:\:\dots$}\phantom{2016}]
\textbf{Last two years}. Great times.
\entry*[2012 -- 2016]%
\textbf{A few years before}. If there is a long entry like this one
I would like to have a hanging indentation (i.\,e. indentation from second line).
\end{rubric}
我试图研究一下,但这远远超出了我对 tex 的理解。我认为这与那里的命令curve.cls
有关:\entry
\newcommand\@entry[2][]{%
\gdef\@nextentry{}\@key{#1}%
\egroup% end of \noalign opened in \entry.
\@@key&\@prefix\\\par}
\newcommand\@sentry[1][]{%
\gdef\@nextentry{\\\par}\@key{#1}%
\egroup% end of \noalign opened in \entry.
\@@key&\@prefix&}
\newcommand\entry{%
\@nextentry
\noalign\bgroup\gdef\@beforespace{\subrubricbeforespace}%
\@ifstar{\@sentry}{\@entry}}
看起来左边只有一个段落,上面有一个项目符号。我尝试了该hanging
包,内置命令(参见例如https://stackoverflow.com/questions/3254054/),但现在我有点迷茫了。
答案1
感谢 John Kormylo(见上面的评论),我找到了以下解决方案。我不得不使用命令,\entry{}
而不是\entry*
让它工作。
后面有空格太小的问题parbox
,已根据\strut
用法进行了纠正,摘自此处:小页面后的垂直空间(编辑:在环境中)。
我添加了第二条长线来显示更正后的间距。请注意 中的[t]
。\parbox[t]
这是将项目符号放在第一行而不是 parbox 中心所必需的。在 parbox 中有多个段落的可疑情况下, 后面有花括号\hangindent
。这将使其适用于所有段落,而不仅仅是第一个段落。
% doc.tex
\documentclass[a4paper,11pt]{curve}
\makeatletter
\renewcommand\@entry[2][]{%
\gdef\@nextentry{}\@key{#1}%
\egroup% end of \noalign opened in \entry.
\@@key&\@prefix&\parbox[t]{\linewidth}{\hangindent=2em {\strut#2\strut}}\\\par}
\makeatother
\begin{document}
\makerubric{history}
\end{document}
% history.tex
\begin{rubric}{History}
\entry*[2018]%
\textbf{That's now}.
\entry*[2016 -- \rlap{$\:\:\dots$}\phantom{2016}]
\textbf{Last two years}. Great times.
\entry[2012 -- 2016]%
{\textbf{A few years before}. If there is a long entry like this one
I would like to have a hanging indentation (i.\,e. indentation from second line).}
\entry[2010]%
{If there is a long entry like this one
I would like to have a hanging indentation (i.\,e. indentation from second line).}
\end{rubric}