我遇到一种情况,\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