缩短一行诗句

缩短一行诗句

我有一些梵语诗句(通过quoting环境左侧缩进)稍微长一点,类似于以下示例:

第三行太长。

\documentclass{memoir}
\usepackage{quoting}
\usepackage{fontspec}
\begin{document}
Some text
\begin{quoting}[rightmargin=0pt,indentfirst=false]
Some verse XXXXX XXXXXXX XXXXXXXXX XXXXX XXXX |\\
XXXXXXXX XXXXXXXX XXXX XXXXXXXXX XXXXX XXXX || 1 ||\\
Second verse XXXXXXXXXX XXXXX XXXX XXXXXXXXX |\\
XXXXXXXX XXXXXXXX XXXXXXXXXX XXXXXXXXX || 2 || \\
\end{quoting}
Some more text again.
\end{document}

每半节诗句以一个竖线符号结束,每节完整诗句以双竖线符号括起来的诗句号结束。示例中第一节诗句的后半部分略长,因此出现换行。现在,我想减少这一行的字间距和/或字母间距,以避免出现换行。

答案1

对于局部更改,您可以将设置leftmargin为小于默认值的值\leftmargin

包装microtype通常会有所帮助。并且您应该在不想分开的部分之间添加波浪符号。

% arara: lualatex

\documentclass{memoir}
\usepackage{quoting}
\usepackage{fontspec}
\usepackage{microtype}

\begin{document}
    Some text
    \begin{quoting}[rightmargin=0pt,indentfirst=false, leftmargin=.9\leftmargin] % your example just needs microtype but just to show...
        Some verse XXXXX XXXXXXX XXXXXXXXX XXXXX XXXX |\\
        XXXXXXXX XXXXXXXX XXXX XXXXXXXXX XXXXX XXXX ||~1~||\\
        Second verse XXXXXXXXXX XXXXX XXXX XXXXXXXXX |\\
        XXXXXXXX XXXXXXXX XXXXXXXXXX XXXXXXXXX ||~2~|| \\
    \end{quoting}
    Some more text again.
\end{document}

如果你只需要在这里做一点调整,我建议将其全局放在你的序言中,因为\quotingsetup{leftmargin=.9\leftmargin}这将改变你所有的引言。为了保持一致性,这样做更好。

在此处输入图片描述

无论如何,我不会真正缩小。在我看来,这看起来很丑。最好在某个合适的位置输入换行符,并将第二行向右对齐。

答案2

如果只是偶尔进行,并且允许手动操作,你可以简单地写

\documentclass{memoir}
\usepackage{quoting}
\usepackage{fontspec}
\usepackage{graphicx}
\begin{document}
Some text
\begin{quoting}[rightmargin=0pt,indentfirst=false]
Some verse XXXXX XXXXXXX XXXXXXXXX XXXXX XXXX |\\
\scalebox{0.95}[1]{XXXXXXXX XXXXXXXX XXXX XXXXXXXXX XXXXX XXXX} || 1 ||\\ % the precise value by an experiment
Second verse XXXXXXXXXX XXXXX XXXX XXXXXXXXX |\\
XXXXXXXX XXXXXXXX XXXXXXXXXX XXXXXXXXX || 2 || \\
\end{quoting}
Some more text again.
\end{document}

如果 x 变换的因子接近 1(本例中为 0.95),则结果应该是可以接受的。

答案3

fontspec通过其\addfontfeatures命令实际上允许人们方便地调整其加载的字体的单词间和字母间空间的设置:

更新输出

\documentclass{memoir}
\usepackage{quoting}
\usepackage{fontspec}
\setromanfont{Latin Modern Roman}
\newcommand\myshrink{\addfontfeature{WordSpace=0.95,LetterSpace=-0.5}}
\newcommand\myshrinkmore{\addfontfeatures{WordSpace=0.9,LetterSpace=-1}}
\newcommand\myshrinkevenmore{\addfontfeatures{WordSpace=0.85,LetterSpace=-1.5}}
\newcommand\myshrinkharder{\addfontfeatures{WordSpace=0.5,LetterSpace=-5}}

\begin{document}
Some text
\begin{quoting}[rightmargin=0pt,indentfirst=false]
Some verse XXXXX XXXXXXX XXXXXXXXX XXXXX XXXX |\\
%XXXXXXXX XXXXXXXX XXXX XXXXXXXXX XXXXX XXXX || 1 ||\\
%{\myshrink XXXXXXXX XXXXXXXX XXXX XXXXXXXXX XXXXX XXXX} || 1 ||\\
%{\myshrinkmore XXXXXXXX XXXXXXXX XXXX XXXXXXXXX XXXXX XXXX} || 1 ||\\
%{\myshrinkevenmore XXXXXXXX XXXXXXXX XXXX XXXXXXXXX XXXXX XXXX} || 1 ||\\
{\myshrinkharder XXXXXXXX XXXXXXXX XXXX XXXXXXXXX XXXXX XXXX} || 1 ||\\
Second verse XXXXXXXXXX XXXXX XXXX XXXXXXXXX |\\
XXXXXXXX XXXXXXXX XXXXXXXXXX XXXXXXXXX || 2 ||
\end{quoting}
Some more text again.
\end{document}

相关内容