我有一个关于 supertabular 和 babel 的问题。每当我在单元格中使用不同的语言规范时,就会出现一个微小的垂直空间,而没有语言规范时则不会出现这个空间。我想一定是某个地方缺少了什么,但我不知道在哪里。
需要 Supertabular,因为我正在处理的文档大约有 30 页。默认语言是法语,但我必须在单元格中包含其他语言。
当没有语言规范时,问题不会出现。我放了一些感叹号来表明法语间距是有效的,无论是默认的还是指定的(这很正常),以表明 babel 至少在这方面工作正常。
%!TeX - program = pdflatex
%!TEX encoding = UTF-8 Unicode
\documentclass[a4paper,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,frenchb]{babel}
\usepackage{array}
\usepackage{supertabular}
\usepackage{hhline}
\usepackage{hyperref}
\usepackage{geometry}
\geometry{a4paper,margin=2cm}
\begin{document}
\begin{supertabular}{|>{\raggedright}p{7.5cm}<{\raggedright}|p{7.5cm}|}
\hline
\begin{otherlanguage}{english}
This is marked as English!
\end{otherlanguage}
&
Ceci n'est pas marqué!
\\
\hline
\begin{otherlanguage}{english}
And again!
\end{otherlanguage}
&
Et encore!
\\
\hline
This time it isn't marked!
&
\begin{otherlanguage}{frenchb}
Cette fois-ci c'est marqué!
\end{otherlanguage}
\\
\hline
\end{supertabular}
\end{document}
感谢所有评论!
答案1
这与 无关supertabular
;这里有一个带有解决方法的最小示例:
\documentclass[a4paper,11pt]{article}
\usepackage[english]{babel}
\begin{document}
\begin{tabular}{|p{5cm}|}
\hline
\begin{otherlanguage}{english}
This is marked as English!
\end{otherlanguage}\\
\hline
\leavevmode\begin{otherlanguage}{english}
This is marked as English!
\end{otherlanguage}\\
\hline
Not marked\\
\hline
\end{tabular}
\end{document}
问题是\begin{otherlanguage}
是那是什么用于标记文件中要写入注释的位置.aux
。当它是单元格中的第一个对象时,这种情况会发生p
。
otherlanguage*
但是,在这种情况下,使用环境可能更有意义。
\begin{tabular}{|p{5cm}|}
\hline
\begin{otherlanguage*}{english}
This is marked as English!
\end{otherlanguage*}\\
\hline
Not marked\\
\hline
\end{tabular}
输出是正确的: