You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在LaTeX中实现译文与原文的垂直对齐排版?

解决方案:实现行内单词与对应下方译文的排版

你的问题出在原命令使用了\\强制换行和\noindent,导致每个单词独占一行,无法在句子中并排排列。要实现单词+对应译文的行内排版并支持长文本自动换行,核心是把每个单词和译文封装成一个可在行内流动的单元,以下是两种实用方案:

方案一:使用原生tabular(无需额外宏包)

利用t对齐的tabular环境将单词和译文打包成行内单元,基础LaTeX即可支持:

\usepackage{xcolor} % 需提前引入颜色包

\newcommand{\word}[2]{%
  \begin{tabular}[t]{@{}c@{}}
    \fontsize{15}{18}\selectfont \textcolor{black}{#1} \\[0.5mm]
    \fontsize{11}{18}\selectfont \textcolor{gray}{#2}
  \end{tabular}%
  \hspace{0.5em}% 可根据需求调整单词间的间距
}

使用示例:

\word{Hello}{你好} \word{world}{世界} \word{this}{这} \word{is}{是} \word{a}{一个} \word{long}{长的} \word{sentence}{句子} that will wrap automatically when it reaches the line width.
  • [t]参数让每个单元与行顶对齐,保证整体排版整齐;
  • @{}c@{}去掉tabular默认的左右边距,避免多余空白;
  • 长文本会自动按行宽换行,每个\word单元作为整体移动。

方案二:使用stackengine宏包(更灵活的垂直控制)

如果需要更精细调整上下文本的垂直间距和偏移,可使用stackengine包:

\usepackage{xcolor}
\usepackage{stackengine} % 引入堆叠宏包

\newcommand{\word}[2]{%
  \setstackgap{S}{0.5mm}% 设置原文与译文的垂直间距
  \stackunder[0pt]{% 0pt为垂直偏移量,可按需调整
    \fontsize{15}{18}\selectfont \textcolor{black}{#1}%
  }{%
    \fontsize{11}{18}\selectfont \textcolor{gray}{#2}%
  }%
  \hspace{0.5em}%
}

该方案的优势是可以通过\setstackgap和stackunder的偏移参数,精准控制译文相对于原文的位置,同样支持行内排列与自动换行。

注意事项

  • 若不需要单词间的额外间距,可删除\hspace{0.5em};
  • 多段落场景下直接正常分段即可,无需修改命令;
  • 如果需要支持中文排版,确保文档类已设置中文支持(如ctexart)。

内容的提问来源于stack exchange,提问作者tudor opran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 23:41:20