测试多行段落

测试多行段落

我遇到一种情况,\hfill只有当我的段落超过一行时,我才需要插入一些代码(具体来说,)。这不是一个简单的对齐问题,因为我正在处理从右到左的文本交互,从左到右的文本在同一行上,无论如何,这就是它的结果。有谁知道在将文本移动到下一行时 LaTeX 是否会设置一个内部变量,以及我如何使用它来执行类似操作(注意,我不知道如何在 LaTeX 中使用条件代码,所以这是启发式的):

\if\multiline\then{ \hfill}.

编辑:

我需要在从右到左的环境中使用 \hfill,而 TeX 不会自动提供该环境。我有类似的东西:

    \newcommand{\hangparag}[2]{\hangindent#1 \hangafter#2 \leftskip 0.5em \parindent -0.5em}
    \newcommand{\entry}[2]{\hangparag{-0.5em}{1}{\textbf{#1} #2}\par}
    \newcommand{\h}[1]{\hspace{0.5cm}\RL{\texthebrew{#1}\hfill}}

    \flushright
    \entry{Z}{\h{דער זעט, ־ן}}

当翻译位于第二行时,我遇到了双面缩进的问题,但 \hfill 解决了这个问题,但现在如果我想在翻译旁边添加英文文本,使用单行翻译,我有一个 \hfill 将我的英文推到定义的一侧。例如:

    \entry{zany}{[MEShÚGE] \h{משוגע}}

最终得到的结果是介于“zany”和“משוגע”之间的转录,而我实际上想要它位于“משוגע”旁边。

最小示例:

\documentclass[10pt]{book}
\usepackage{polyglossia}
\usepackage{multicol}
\newcommand{\hangparag}[2]{\hangindent#1 \hangafter#2 \leftskip 0.5em \parindent -0.5em}
\setdefaultlanguage{english}
\setotherlanguages{hebrew}
\newfontfamily\hebrewfont[Script=Hebrew]{Microsoft Sans Serif}
\newcommand{\entry}[2]{\hangparag{-0.5em}{1}{\textbf{#1}\hspace{0.5cm}\hfill #2}\par}
\newcommand{\h}[1]{\RL{\texthebrew{#1}\hfill}}
\begin{document}
\flushright
\setlength{\columnseprule}{0.4pt}
\begin{multicols*}{2}
\entry{Z, n. (letter)}{\h{דער זעט, ־ן}}
\entry{zany}{[MEShÚGE] \h{משוגע}}
\entry{zeal}{\h{דאָס התלהבֿות; דער ברען; די התמדה; דער אײפֿער; דאָס/די פֿאַרברענטקײט}}
\end{multicols*}
\end{document}

答案1

我只需将\hfill的定义改为:这是一个“低阶无穷”拉伸空间,被段落结尾提供的 所击败。\h\hfil\hfill

相关内容