在单词下绘制多条线条和/或虚线

在单词下绘制多条线条和/或虚线

我正在尝试在数据库课程中定义用于逻辑设计的表,并且我只需要编写列的标题,但问题是,根据一列还是多列是主键还是外键,标题下必须有一条或多条常规线或虚线。

它应该是这样的:
示例1 示例2

(如果表格是用 1xN 表格定义(如第一张图)还是用一条常规线定义(如第二张图)并不重要。只有下划线才是重要的。

我熟悉 \underline 命令和 Tex 中的基本表格,但我不知道如何在多个单词下绘制多条线。例如,如果我们有三个标题 a、b 和 c,并且 a、b 下有一条线,b、c 下有另一条线,我看不出 \underline 如何使用。

任何帮助,将不胜感激。

答案1

欢迎!一般来说,对于那些只上传一些图片,却不展示他们尝试了什么,以及他们遇到的问题的人来说,帮助的热情并不高。可能的当然,要实现这一切,这只是一个可能的开始。不过,很有可能还有更优雅的解决方案。

\documentclass{article}
\usepackage{tikz}
\newcommand\tikznode[2]{\tikz[remember picture]{\node(#1)[inner sep=0pt]{#2};}}
\begin{document}

\textsf{\textbf{OFFERING} (\tikznode{S}{S}TI\tikznode{D1}{D}, 
\tikznode{C}{C}OI\tikznode{D2}{D}, \tikznode{P}{P}ROFI\tikznode{D3}{D}),\dots) }

\begin{tikzpicture}[overlay,remember picture,blue]
\draw[-,densely dashed,thick,transform canvas={yshift=-2pt}] (S.south west) -- (D1.south east);
\draw[-,densely dashed,thick,transform canvas={yshift=-2pt}] (C.south west) -- (D2.south east);
\draw[-,densely dashed,thick,transform canvas={yshift=-2pt}] (P.south west) -- (D3.south east);
\draw[-,densely dashed,thick,transform canvas={yshift=-4pt}] (S.south west) -- (D2.south east);
\draw[-,thick,transform canvas={yshift=-6pt}] (S.south west) -- (D3.south east);
\end{tikzpicture}

\end{document}

在此处输入图片描述

是的,我知道使用 TiKz 来做这件事有点过头了,而且人们可以为这一切发明非常复杂的宏。但我认为我可以开始回答这个(原则上很有趣的)问题。

相关内容