![如何正确显示正常 PDF 大小的表格?(必须放大它才能显示正确的表格)](https://linux22.com/image/305241/%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E6%98%BE%E7%A4%BA%E6%AD%A3%E5%B8%B8%20PDF%20%E5%A4%A7%E5%B0%8F%E7%9A%84%E8%A1%A8%E6%A0%BC%EF%BC%9F%EF%BC%88%E5%BF%85%E9%A1%BB%E6%94%BE%E5%A4%A7%E5%AE%83%E6%89%8D%E8%83%BD%E6%98%BE%E7%A4%BA%E6%AD%A3%E7%A1%AE%E7%9A%84%E8%A1%A8%E6%A0%BC%EF%BC%89.png)
以下是生成表格的代码
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage{apacite}
\usepackage{ragged2e}
\definecolor{c1}{RGB}{229,223,236}
\definecolor{c2}{RGB}{234,241,221}
\definecolor{c3}{RGB}{198,217,241}
\definecolor{c4}{RGB}{242,219,219}
\definecolor{c5}{RGB}{229,184,183}
\definecolor{c6}{RGB}{217,149,148}
\definecolor{c7}{RGB}{148,54,52}
\definecolor{c8}{RGB}{184,204,228}
\definecolor{c9}{RGB}{214,227,188}
\definecolor{c10}{RGB}{229,184,183}
\definecolor{c11}{RGB}{246,246,246}
\definecolor{c12}{RGB}{234,241,221}
\definecolor{c13}{RGB}{219,229,241}
\definecolor{c14}{RGB}{238,236,225}
\usepackage{makecell,multirow}
\usepackage{diagbox}
\usepackage{colortbl,hhline}
\begin{document}
\section{Introduction}
There is a theory which states that...
\begin{table}[h!t]
\caption{Database classification based on data model}
\tabcolsep=4pt\begin{tabular}{|l|p{160pt}|l|}
\hline
\rowcolor{c8}\multicolumn{1}{|c|}{\textbf{Category}} & \multicolumn{1}{c|}{\textbf{Data model}} & \multicolumn{1}{c|}{\textbf{Examples}} \\
\hline\rowcolor{c9}
If the optional & If the optional argument is & AAA, BBB \\\hline\rowcolor{c9}
If the optional argument & If the optional argument is used & CCC, DDD \\\hline\rowcolor{c9}
If the optional & If the optional & EEE, FFF \\\hline\rowcolor{c9}
Graph Database & If the optional argument is used Usedd & GGG, HHH \\
\hline
\end{tabular}
\label{tab301}
\end{table}
\end{document}
表格如下所示,但在正常大小下无法正确显示,第一列和第二列之间没有列线
为了正确显示,我必须将 pdf 文件放大到 110% 或 300%
如何在不放大 pdf 文件的情况下显示表格?
答案1
你的代码很好,问题在于使用的 pdf 查看器。
不同 pdf 查看器的问题在于它们的功能各不相同。这是众所周知的。
例如,
- 有些可以在特殊的屏幕分辨率下显示线条,有些则不能,
- 有些可以在鼠标悬停在文本上时显示文本,但大多数不能,
- ...
我的经验是,检查查看器是否有问题的最佳方法是打印文件。如果行在 pdf 中,则屏幕上未显示的行会显示在打印件上。
第二种方法是使用其他几个 pdf 查看器(例如 Adobe Acrobat Reader、SumatraPDF 等)打开 pdf 文件,并检查其中是否显示该行。如果只有其中一个显示该行,则 pdf 文件没有问题。
答案2
正如另一个答案中已经解释的那样,您注意到的是 pdf 查看器问题,而不是 LaTeX 问题。
我鼓励您考虑完全避开 PDF 查看器——只需删除所有垂直和水平黑线即可。您已经非常有效地使用颜色对表格材料进行分组;因此黑线是相当多余的。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[table]{xcolor}
\definecolor{c1}{RGB}{229,223,236}
\definecolor{c2}{RGB}{234,241,221}
\definecolor{c3}{RGB}{198,217,241}
\definecolor{c4}{RGB}{242,219,219}
\definecolor{c5}{RGB}{229,184,183}
\definecolor{c6}{RGB}{217,149,148}
\definecolor{c7}{RGB}{148,54,52}
\definecolor{c8}{RGB}{184,204,228}
\definecolor{c9}{RGB}{214,227,188}
\definecolor{c10}{RGB}{229,184,183}
\definecolor{c11}{RGB}{246,246,246}
\definecolor{c12}{RGB}{234,241,221}
\definecolor{c13}{RGB}{219,229,241}
\definecolor{c14}{RGB}{238,236,225}
\usepackage{apacite}
\usepackage{ragged2e}
\usepackage{tabularx}
\newcolumntype{Y}{>{\RaggedRight}X}
\usepackage[skip=0.5\baselineskip]{caption}
\usepackage{makecell,multirow,diagbox,hhline}
\begin{document}
\section{Introduction}
There is a theory which states that \dots
\begin{table}[h!t]
\caption{Database classification based on data model}
\label{tab301}
\tabcolsep=4pt
\extrarowheight=1pt
\begin{tabularx}{\textwidth}{lYl}
\rowcolor{c8}
\textbf{Category} & \textbf{Data model} & \textbf{Examples} \\
\rowcolor{c9}
If the optional & If the optional argument is & AAA, BBB \\
\rowcolor{c9}
If the optional argument & If the optional argument is used & CCC, DDD \\
\rowcolor{c9}
If the optional & If the optional & EEE, FFF \\
\rowcolor{c9}
Graph Database & If the optional argument is used Usedd & GGG, HHH \\
\end{tabularx}
\end{table}
\end{document}