我正在向一家提供 LaTeX 模板的期刊投稿。他们要求使用 ExPex 完成示例。我的许多示例都采用 TikzPicture“节点矩阵”图表和表格的形式。ExPex 示例编号的默认对齐方式位于示例顶部(参见下面示例中的 #1)。该期刊的样式表示例都以这种方式对齐示例编号。
但是,当我使用表格时,示例编号与表格中间对齐(参见 #2)。更糟糕的是,TikZ 图片完全出现在示例编号上方。我通常使用[row sep=5mm]
,并认为这可能会影响 ExPex 的对齐,但是使用(#3)和不使用(#4)自定义行分隔时,会出现相同的对齐。
有什么方法可以告诉 ExPex 将示例数字与 TikZ 图片和表格环境的顶部对齐?另一个问题提供了一种全局更改 ExPex 中示例数字对齐方式的方法(关联),但除非我误读了帖子,否则我认为它并不能解决不同环境中示例编号之间的差异问题。
\documentclass{article}
\usepackage{expex}
\usepackage{tikz}
\usetikzlibrary{backgrounds,matrix,cd}
\tikzset{showall/.style={framed, every node/.style=draw}}
\begin{document}
\ex
A multi-line \\ example.
\xe
\ex
\begin{tabular}{cccl}
a & b & c \\
d & e & f \\
g & h & i
\end{tabular}
\xe
\ex
\begin{tikzpicture}
\matrix (m) [matrix of nodes, row sep=5mm] {
a & b & c \\
d & e & f \\
g & h & i \\
};
\end{tikzpicture}
\xe
\ex
\begin{tikzpicture}
\matrix (m) [matrix of nodes] {
a & b & c \\
d & e & f \\
g & h & i \\
};
\end{tikzpicture}
\xe
\end{document}
答案1
你tikzpicture
可以使用该baseline
选项。将其固定到你想要用作参考的任何坐标。以下代码显示了一个选项。tikzpicture 的背景矩形和矩阵边框显示以供参考。
对于一般的对齐问题,您可以使用adjustbox
包裹。
\documentclass{article}
\usepackage{expex}
\usepackage{tikz}
\usetikzlibrary{backgrounds,matrix,cd}
\tikzset{showall/.style={framed, every node/.style=draw}}
\begin{document}
\ex
A multi-line \\ example.
\xe
\ex
\begin{tabular}{cccl}
a & b & c \\
d & e & f \\
g & h & i
\end{tabular}
\xe
\ex
\begin{tikzpicture}[baseline={([yshift=-3mm]current bounding box.north)}, show background rectangle]
\matrix (m) [matrix of nodes, draw=red, row sep=5mm] {
a & b & c \\
d & e & f \\
g & h & i \\
};
\end{tikzpicture}
\xe
\ex
\begin{tikzpicture}
\matrix (m) [matrix of nodes] {
a & b & c \\
d & e & f \\
g & h & i \\
};
\end{tikzpicture}
\xe
\end{document}