我是 Tex 新手,使用下面的代码创建一个长表。我正在用这个创建一本书,其中每节经文的单词都以下面的表格格式进行解释。我的文档有大量这样的表格。
\begin{longtable}{p{1.5cm}p{0.05cm}p{3.5cm}|p{1.5cm}p{0.05cm}p{3.5cm}|p{1.5cm}p{0.05cm}p{3.5cm}}
\end{longtable}
我想知道是否有办法缩短它,将 1.5 厘米和 3.5 厘米作为变量,将 0.05 厘米作为常量单元。这只是为以后的编辑提供灵活性。我尝试写一些类似的东西。
\newcommand{\ltb}[6]{\begin{longtable}{p{#1cm}p{0.05cm}p{{#2}cm}|p{{#3}cm}p{0.05cm}p{{#4}cm}|p{{#5}cm}p{0.05cm}p{{#6}cm}}}
但未能成功。我也不确定自己在做什么,只是试一试。我附上了表格的屏幕截图。谢谢你的帮助
答案1
除了 Werner 的建议之外,您还可以使用@{decl.}
语法(抑制列间空格并插入decl.
),这样您不必在表格的行中明确排版等号:
\documentclass{article}
\usepackage[margin=1cm]{geometry}% just to make room for the table
\usepackage{longtable}
\newlength\word
\newlength\worddef
\newlength\eqsep
\setlength\word{1.5cm}% Word width is 1.5cm
\setlength\worddef{3.5cm}% Word definition width is 3.5cm
\setlength\eqsep{\tabcolsep}% Space before and after the equal sign
\begin{document}
\begin{longtable}{p{\word}@{\hspace{\eqsep}=\hspace{\eqsep}}p{\worddef}|p{\word}@{\hspace{\eqsep}=\hspace{\eqsep}}p{\worddef}|p{\word}@{\hspace{\eqsep}=\hspace{\eqsep}}p{\worddef}}
word1 & some text & word2 & some text & word3 & some text \\
word4 & some text & word5 & some text & word6 & some text \\
\end{longtable}
\end{document}
答案2
是的你可以定义长度按照自己的喜好,将它们存储在“变量”中。例如,
\newlength{\word}%
\newlength{\equal}%
\newlength{\worddef}%
\setlength{\word}{1.5cm}% Word width is 1.5cm
\setlength{\equal}{0.05cm}% Equal sign width is 0.05cm
\setlength{\worddef}{3.5cm}% Word definition width is 3.5cm
然后使用
\begin{longtable}{p{\word}p{\equal}p{\worddef}|p{\word}p{\equal}p{\worddef}|p{\word}p{\equal}p{\worddef}}
...
\end{longtable}