由于以下帖子中强调的某些未解决的技术问题,我无法使用横向、pdfrotate 或 minipage 选项以横向布局显示内容。
https://github.com/latex3/latex2e/issues/241
因此,作为一种解决方法,我想到使用命令“\newgeometry”和“\restoregeometry”将文档中间的页面布局/尺寸更改为横向,在编译时,不会出现任何错误,而且文档保持不变,就像根本没有使用这些命令一样。
这是一个 MWE(我正在使用 lualatex + Babel):
\documentclass[a4paper,12pt,twoside]{book}
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,margin=2.5cm,bindingoffset=0.5cm]{geometry}
\usepackage[bidi=basic,layout=lists.tabular]{babel}
\babelprovide[import=ar,mapdigits,main]{arabic}
\babelprovide[import=en,language=Default]{english}
\babelfont{rm}{Latin Modern Roman}
\babelfont[arabic]{rm}{amiri}
\babelfont[english]{rm}{Times New Roman}
\usepackage[table]{xcolor}
\usepackage{tabu,multirow}
\usepackage{array}
\newcolumntype{?}[1]{!{\vrule width #1}}
\usepackage{booktabs}
\setlength{\belowrulesep}{0pt}
\setlength{\belowbottomsep}{0pt}
\setlength{\aboverulesep}{0pt}
\setlength{\belowrulesep}{0pt}
\setlength{\abovetopsep}{0pt}
\usepackage{makecell}
\usepackage{boldline}
\title{jhhjjhhj}
\author{}
\date{}
\begin{document}
\chapter{شكر وتقدير}
\newgeometry{a4paper,top=2.5cm,bottom=2.5cm,margin=2.5cm,bindingoffset=0.5cm,landscape}
\begin{table}[htbp]
\setlength\arrayrulewidth{1pt}
\caption{أمثلة لبعض الكلمات المتشابهة باللغات الناقلة}
\rowcolors{2}{white}{gray!25}
\begin{tabular}{?{1mm}c|c|c|>{\centering\arraybackslash}m{5cm}?{1mm}c|}
\rowcolor{white}
\toprule[1mm]
\multicolumn{3}{?{1mm}c|}{\textbf{اللغة}} & \multirow{2}{*}{} \\ \cmidrule[1.25pt]{1-3}
\rowcolor{white}
العربية &
العبرانية &
وجه التشابة &
\multirow{-2}{*}{\textbf{ملاحظات}}
\\
\midrule[1.5pt]
مَلِك & ميلْخِ & الحروف والمعنى & -\\
\hline
مُلُوكْ & مَلاخيمْ & الحروف والمعنى & -\\
\hline
نَفْسي & نَفْشِيْ & الحروف والمعنى & -\\
\hline
سَبْعَة & شِبْعَاهْ & الحروف والمعنى & -\\
\hline
يَقُومُ & ياقُومْ & الحروف والمعنى & -\\
\hline
يَرحَضُ & يِرْحَاصْ & الحروف والمعنى & -\\
\hline
ثَلاَثَةُ & شَلوشَاهْ & الحروف والمعنى & -\\
\hline
مَلَك & ماَلاَخْ & الحروف والمعنى & -\\
\hline
يَدُهُ & ياَدو & الحروف والمعنى & -\\
\hline
إِيْايَ & أوتِيْ & المعنى & -\\
\hline
إِيَّاكَ & أوتْخَ & المعنى & -\\
\hline
أثنْاَنِ & شَنَايِمْ & المعنى & -\\
\hline
يحرق & يسْروفْ & الوزن & على وزن "يَفْعُلُ" مع فرق بسيط\\
\hline
يغسل & يَخَبْيسْ & الوزن & على وزن "يُفَعِلُ" مع فرق بسيط\\
\hline
تَكَلَّمْتُ & دَبَّرْتِيْ & الوزن & على وزن "فَعْلْتُ" مع فرق بسيط\\
\hline
أنْقَطَعَ & نِخْرَاتْ & المعنى & النون هي الزائدة في انفعل لفظاً ومعنى\\
\hline
يُصَلِي & يِتْپَلَيلْ & الوزن & تقريباً على وزن "يَتَفَعْلُ" فهو في الأصل ثلاثي (أي من ثلاثة حروف) مع إضافة حرف المضارعة وحرف التاء بالإضافة لتشديد عين الفعل\\
\bottomrule[1mm]
\end{tabular}
\label{tab}
\end{table}
\restoregeometry
\end{document}
答案1
geometry 禁用了 \newgeometry 中更改纸张大小和方向的选项 - 您可以在日志中找到警告。
您可以尝试像下面这样来欺骗它。我简化了表格并删除了损坏的部分,因为我不想在这里纠正错误。
编辑
并正如后续问题中提到的那样(解决横向表格错误)从景观设置恢复时,您还需要重置景观布尔值。
\documentclass[a4paper,12pt,twoside]{book}
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,margin=2.5cm,bindingoffset=0.5cm]{geometry}
\makeatletter
\def\ifGm@preamble#1{%
\ifGm@newgm
%\Gm@warning{`#1': not available in `\string\newgeometry'; skipped}%
\expandafter\@firstofone
\else
\expandafter\@firstofone
\fi}%
\makeatother
\usepackage[bidi=basic,layout=lists.tabular]{babel}
\babelprovide[import=ar,mapdigits,main]{arabic}
\babelprovide[import=en,language=Default]{english}
%
\babelfont{rm}{Latin Modern Roman}
\babelfont[arabic]{rm}{amiri}
\babelfont[english]{rm}{Times New Roman}
\usepackage{lipsum}
\usepackage[table]{xcolor}
\usepackage{array}
\usepackage{booktabs}
\begin{document}
\chapter{شكر وتقدير}
\newgeometry{landscape,margin=2.5cm}
\pagewidth = \paperwidth
\pageheight = \paperheight
\begin{table}[htbp]
\setlength\arrayrulewidth{1pt}
\caption{أمثلة لبعض الكلمات المتشابهة باللغات الناقلة}
\rowcolors{2}{white}{gray!25}
\begin{tabular}{llll}
مَلِك & ميلْخِ & الحروف والمعنى & -\\
\hline
مُلُوكْ & مَلاخيمْ & الحروف والمعنى & -\\
\hline
نَفْسي & نَفْشِيْ & الحروف والمعنى & -\\
\hline
سَبْعَة & شِبْعَاهْ & الحروف والمعنى & -\\
\hline
يَقُومُ & ياقُومْ & الحروف والمعنى & -\\
\hline
يَرحَضُ & يِرْحَاصْ & الحروف والمعنى & -\\
\hline
ثَلاَثَةُ & شَلوشَاهْ & الحروف والمعنى & -\\
\hline
مَلَك & ماَلاَخْ & الحروف والمعنى & -\\
\hline
يَدُهُ & ياَدو & الحروف والمعنى & -\\
\hline
إِيْايَ & أوتِيْ & المعنى & -\\
\hline
إِيَّاكَ & أوتْخَ & المعنى & -\\
\hline
أثنْاَنِ & شَنَايِمْ & المعنى & -\\
\hline
يحرق & يسْروفْ & الوزن & على وزن "يَفْعُلُ" مع فرق بسيط\\
\hline
يغسل & يَخَبْيسْ & الوزن & على وزن "يُفَعِلُ" مع فرق بسيط\\
\hline
تَكَلَّمْتُ & دَبَّرْتِيْ & الوزن & على وزن "فَعْلْتُ" مع فرق بسيط\\
\hline
أنْقَطَعَ & نِخْرَاتْ & المعنى & النون هي الزائدة في انفعل لفظاً ومعنى\\
\hline
يُصَلِي & يِتْپَلَيلْ & الوزن & تقريباً على وزن "يَتَفَعْلُ" فهو في الأصل ثلاثي (أي من ثلاثة حروف) مع إضافة حرف المضارعة وحرف التاء بالإضافة لتشديد عين الفعل\\
\bottomrule[1mm]
\end{tabular}
\label{tab}
\end{table}
\clearpage
\restoregeometry
\makeatletter \Gm@landscapefalse\makeatother %new
\pagewidth = \paperwidth
\pageheight = \paperheight
\lipsum
\end{document}