我可以使用制表符将某些内容向右对齐吗?

我可以使用制表符将某些内容向右对齐吗?

我有两个关于“制表符”环境的问题。基本上,我正在尝试设置平行翻译的格式。我希望原始中文与英文翻译左对齐,括号中的诗句编号(此处为 [11-9])紧贴在中文文本的左侧。我无法使用负缩进来实现这一点,因为括号 + 诗句编号的实际宽度会有所不同。在 Word 或其他软件中,我会使用右对齐制表符之类的东西,所以我想用制表符和 \< 命令来实现这一点,但没有成功。这基本上是我得到的最接近我想要的结果,但文本并没有真正正确排列。

此外,在“制表”环境中,它似乎会忽略设置的任何右边距;有没有办法解决这个问题?

\begin{quote}
\begin{tabbing}
    \hspace*{-3em} \= \hspace*{3em}\= \kill
    \>[11-9]\>
    顏淵死、子曰:「噫天喪予、天喪予。」\\
    When Yanyuan died, the master cried: “How cruel! Heaven is killing me! Heaven is killing me!”
\end{tabbing}
\end{quote}

我正在使用 XeLatex 和“article”类,以防万一。感谢您的帮助,如果我的问题太冗长,请原谅;这是我第一次问。

答案1

你不需要tabbing;只需创建一个在零宽度框中排版诗句编号的命令:

\documentclass{article}
\usepackage[margin=1.5cm]{geometry}
\usepackage{lipsum} % just for the example
\usepackage{xeCJK}
\setmainfont{Linux Libertine O}
\setCJKmainfont{Hiragino Mincho Pro}

\newcommand{\versenum}[1]{%
  \makebox[0pt][r]{[#1]\enspace}\ignorespaces
}

\begin{document}
\lipsum[2]
\begin{flushleft}
\versenum{11-9}
顏淵死、子曰:「噫天喪予、天喪予。」\\*
When Yanyuan died, the master cried: “How cruel! Heaven is killing me! Heaven is killing me!”
\end{flushleft}
\lipsum[3]
\begin{list}{}{\leftmargin=5em \rightmargin=5em}\raggedright\item\relax
\versenum{11-9}
顏淵死、子曰:「噫天喪予、天喪予。」\\*
When Yanyuan died, the master cried: “How cruel! Heaven is killing me! Heaven is killing me!”
\end{list}
\lipsum[2]
\end{document}

您可能希望查看quoting包裹而不是手动列出清单。

在此处输入图片描述

flushleft您可以获得与使用相同的结果tabbing

\begin{tabbing}
\=\=\kill
\>\versenum{11-9}\>
顏淵死、子曰:「噫天喪予、天喪予。」\\*
When Yanyuan died, the master cried: “How cruel! Heaven is killing me! Heaven is killing me!”
\end{tabbing}

但无论如何,您需要在零宽度框中设置诗句编号。

一个方便的定义是

\newenvironment{vt}
 {\begin{tabbing}\=\=\kill}
 {\end{tabbing}}
\newcommand{\vtnum}[1]{\>\makebox[0pt][r]{[#1]\enspace}\>}

输入将是

\begin{vt}
\vtnum{11-9}
顏淵死、子曰:「噫天喪予、天喪予。」\\*
When Yanyuan died, the master cried: “How cruel! Heaven is killing me! Heaven is killing me!”
\end{vt}

相关内容