Word的表格样式

最近改某文章需要批量替换表格的格式,于是稍微研究了下“表格样式”这个东西。发现这玩意比想象中的恶心。这里就不给出推理过程了,单纯记录研究结果。

Word中的样式(style)想必大家都已经很熟悉了——毕竟现在应该不会有人再傻到什么格式都逐一手调了,而是套用样式。

表格其实也是一样,Word内置了一堆,你也可以自己新建/修改。表格的样式包括:一般样式所能控制的全部(包括字体、段落),另外还能控制表格的框线之类。

无标题.png

上图就是修改表格样式的对话框,通过选中某个表格->工具栏上的表格工具-设计->选一个样式右键修改或者新建样式找到。简单的修改通过对话框中的选项就行,如果要进行高级的字体和段落修改,则是通过左下的格式按钮找到,这点和“样式”也是一样。

需要注意的是你可以分别设置整个表格的、标题行的、首列的、奇数列的……等等的格式。很显然,这个格式是有优先级的,这里也可以从下面的汇总框里看到。比如“整个表格”的优先级就是40。一般而言:

标题行/汇总行/首列/末列>奇数X/偶数X>整个表格

也是很容易理解,越specific的优先级越高。顺便一提是否真正开启标题行/列、或者奇偶不同等也都是可以在外面的表格工具-设计左侧的样式选项控制的。

那么问题来了:表格里的内容,其实也是会套用一般内容的“样式”的。那么两者谁优先级高?

经过研究以及参考此文,一般而言,是这样:

优先级从高到低:

  1. 直接修改的格式(比如直接选中某些文字修改的)
  2. “样式”的格式
  3. “表格样式”的格式:
    1. 标题行/汇总行/首列/末列
    2. 奇数偶数X
    3. 整个表格
  4. “正文”(normal)的格式*

也就是说,如果你的内容是默认的“正文”样式,那么它会被你“表格样式”的格式覆盖;但是如果你的表格内容套用了非“正文”的样式,那么对不起,“表格样式”会被它覆盖。当然,仅限于能覆盖的部分,“表格样式”里的关于框线的部分依然保留。其实,就和CSS有点像。

不过,这里有一个很重要的问题。如果你修改过“正文”这个样式——那么它将不再处于最低优先级,而是和其他样式一样,享有上表中的第二高优先级,从而会覆盖“表格样式”。另外注意,这里的修改,也不是说你修改了正文样式的某处,整个正文样式都会提升优先级;如果你修改了字体,那么只有字体部分会提升优先级,但是段落/间距依然如故;反之亦然。

在实践中,这个问题非常常见——一般表格肯定都是希望是上下间距都是0 pt+单倍行距(否则表格会被撑大,而且如果上下间距不一样会导致文字不在表格框中间),如果你用的是完全没修改过的“正文”样式,则没问题,因为会被“表格样式”里的0间距/单倍行距给覆盖;但是实际中由于经常会修改正文的段落样式,从而导致表格里的内容也被覆盖成正文样式,而不是表格样式了。

解决办法或者说workaround一般来说,是再在“样式”中自己新建一个对表格专用的样式,并且每次你建立一个表格后就套用这个样式。而“表格样式”仅用来控制框线以及首列/首行加粗之类的格式。

Advertisements

One thought on “Word的表格样式

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s