我很乐意使用该verse
环境来排版法语诗歌。但是,我对长换行符的行为(当诗句太长而无法在页面上显示时)感到不满。
该verse
行为是为了:
Most of verses are short
here is another
foo bar bar foo long things will at one moment
break on another line
another short
法语排版惯例要求是:
Most of verses are short
here is another
foo bar bar foo long things will at one moment
[break on another line
another short
也就是说长行的剩余部分右对齐,以打开的括号开始,而正常行仍然左对齐。
关于如何改变这种行为有什么想法吗?
答案1
可以使用 TeX 的段落设置进行如下设置:
\documentclass{article}
\usepackage{lipsum}
\newcommand*{\justlastragged}{%
\leftskip=0pt plus 1fil
\rightskip=-\leftskip
\parfillskip=\leftskip
\parindent=0pt}
\begin{document}
\justlastragged
This is a short poem line to see\\
what is this?
\lipsum[3]
\end{document}
下图显示了结果。
要进入中断并自动插入“[”,请使用以下简短定义:
\def\c[{\\\relax[$\!$}
您可以按如下方式使用它:
\justlastragged
This is a short poem line to see\c[
what is this?
编辑:
另一种更接近OP想要的方法:
\documentclass{article}
\def\X{\rightskip0pt \leftskip=0pt \parfillskip=0pt plus 1.0fil}
\long\def\B#1\par{%
\par
\rightskip0pt plus 1pt
\leftskip=0pt plus 2fill
\parfillskip=0pt [#1{\par}\X}
\parindent0pt
\begin{document}
\hsize3in
Another short line to test what is happening \B this is a test
Some more test to just see what is happening here\B Testing another stanza
Testing etc
\end{document}
最终,最好的方法可能是 Barbara 所评论的方法,即让空格字符处于活动状态,但这是圣诞节之后的工作!第二种方法效果很好,但必须小心使用,才能将其\hsize
设置为正确的值,使诗歌看起来正确。
答案2
如果您希望线条的断线部分位于页面右侧,您也可以将长度更改\vindent
为您喜欢的宽度,以使其看起来右对齐。例如
\documentclass{article}
\usepackage{verse}
\setlength{\vindent}{0.6\textwidth} % indent percent of page width
\begin{document}
\begin{verse}
Some really really reallyreallyreally really really really really long line
\end{verse}
\end{document}
答案3
该软件包gmverse
可以完成这项工作。你甚至可以使用括号选项squarebr
,所有内容都在此处进行了解释:如何使段落首行左对齐,其他行右对齐