我看了看这个很好的答案longtable 包:拉伸页面最后一行的高度我需要在我的阿拉伯文档(从右到左的文档)中应用这个答案。
在 RTL 上下文中无法获得相同输出的问题(表格未拉伸)
\documentclass[12pt]{article}
\usepackage[showframe,margin=2cm]{geometry}
\usepackage{longtable}
\usepackage{fontspec}
\usepackage{bidi}
\setmainfont[Script=Arabic]{Amiri}
\makeatletter
\def\zz#1{%
\pdfsavepos\write\@auxout{%
\gdef\expandafter\string\csname zz@#1\endcsname{%
\string\\[\the\dimexpr\the\pdflastypos sp -80pt\relax]}}%
\expandafter\ifx\csname zz@#1\endcsname\relax
\expandafter\\%
\else
\csname zz@#1\expandafter\endcsname
\fi}
\makeatother
\begin{document}
%\setRTL
\begin{longtable}{|p{5cm}|}
\hline
a \zz{c} \hline
\end{longtable}
\end{document}
RTL 上下文
LTR 上下文
答案1
有趣的是,似乎你需要把它放在\pdfsavepos
后面而\write
不是前面(按输入文件顺序)
\documentclass[12pt]{article}
\usepackage[showframe,margin=2cm]{geometry}
\usepackage{longtable}
\usepackage{fontspec}
\usepackage{bidi}
\setmainfont[Script=Arabic]{FreeSerif}
\makeatletter
\def\zz#1{%
\write\@auxout{%
\gdef\expandafter\string\csname zz@#1\endcsname{%
\string\\[\the\dimexpr\the\pdflastypos sp -80pt\relax]}}\pdfsavepos%
\expandafter\ifx\csname zz@#1\endcsname\relax
\expandafter\\%
\else
\csname zz@#1\expandafter\endcsname
\fi}
\makeatother
\begin{document}
\setRTL
\begin{longtable}{|p{5cm}|}
\hline
a \zz{c} \hline
\end{longtable}
\end{document}