![单节经文与经文包的对齐](https://linux22.com/image/465272/%E5%8D%95%E8%8A%82%E7%BB%8F%E6%96%87%E4%B8%8E%E7%BB%8F%E6%96%87%E5%8C%85%E7%9A%84%E5%AF%B9%E9%BD%90.png)
我想要将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}