单节经文与经文包的对齐

单节经文与经文包的对齐

我想要将verse环境中的某些线条水平对齐到右侧,如下图所示的 MWE 所示。

对于这一点,无论是\hfill还是\flushright工作都无法正常进行。

我在 MWE 中展示了我的最佳方法:它正确对齐,但不显示诗节编号。此外,您必须手动输入该部分的诗节数。总之:编号例程在那里不起作用。

\documentclass{article}
\usepackage{verse}

\poemlines{2} 

\begin{document}

\begin{verse}
Lorem ipsum dolor sit amet, \\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\!
Lorem ipsum dolor sit amet, \\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
{\raggedleft
Lorem ipsum \\
Lorem ipsum dolor sit amet, \\
consectetur adipiscing elit\\
\raggedright}
\addtocounter{poemline}3
Lorem ipsum dolor sit amet, \\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
\end{verse}

\end{document}

还有其他方法可以实现这个吗?

在此处输入图片描述

答案1

使用“更多无限”胶水:你需要filll删除\hfill由 引入的verse,这与\hspace{0pt plus 1fill}(参见https://tex.stackexchange.com/a/186154/4427

\documentclass{article}
\usepackage{verse}

\newcommand{\rightverse}{\hspace{0pt plus 1filll}}

\poemlines{2}

\begin{document}

\begin{verse}
Lorem ipsum dolor sit amet, \\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\!
Lorem ipsum dolor sit amet, \\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
\rightverse Lorem ipsum \\
\rightverse Lorem ipsum dolor sit amet, \\
\rightverse consectetur adipiscing elit\\
Lorem ipsum dolor sit amet, \\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
\end{verse}

\end{document}

在此处输入图片描述

答案2

似乎 verse 使用\hfill而不是\hfil来执行居中。但是,可以\makebox在每行上使用 来在给定的长度内右对齐它们。实验表明\dimexpr \linewidth+\leftmargini接近行自动断开的长度。

\documentclass{article}
\usepackage{verse}

\newcommand{\moveit}[1]{\makebox[\dimexpr \linewidth+\leftmargini][r]{#1}}

\poemlines{2} 

\begin{document}

\begin{verse}
Lorem ipsum dolor sit amet, \\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\!
Lorem ipsum dolor sit amet, \\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
\moveit{Lorem ipsum}\\
\moveit{Lorem ipsum dolor sit amet,}\\
\moveit{consectetur adipiscing elit}\\
Lorem ipsum dolor sit amet, \\
Lorem ipsum dolor sit amet, consectetur adipiscing elit\\
\end{verse}

\end{document}

相关内容