我有两个关于“制表符”环境的问题。基本上,我正在尝试设置平行翻译的格式。我希望原始中文与英文翻译左对齐,括号中的诗句编号(此处为 [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}