%20%D0%BD%D0%B5%20%D1%81%D0%BE%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D1%83%D0%B5%D1%82%20%5Cvrule.png)
Я не уверен, как исправить эту проблему, когда \Xcline
from makecell
не совпадает с \vrule
I, установленным в my longtable
(это необходимо, поскольку фактическая таблица может охватывать несколько страниц).
Вот MWE этой проблемы:
\documentclass[11pt]{article}
\usepackage{longtable}
\usepackage{makecell}
\begin{document}
\begin{longtable}{c!{\vrule width 1.5pt}c!{\vrule width 1.5pt}c}
\Xcline{2-3}{1.5pt}
A & B & C \\
\Xcline{1-3}{1.5pt}
A & B & C \\
\Xcline{2-3}{1.5pt}
\end{longtable}
\end{document}
Проблема, с которой я столкнулся, заключается в том, что маленький квадрат между последним \Xcline и \vrule остается белым (я предполагаю, что это происходит потому, что \vrule оставляет место для горизонтальной линии, а \Xcline просто заполняет пространство под ячейкой, но я не знаю, как это исправить).
Я пробовал добавлять дополнительные строки таблицы, в которых нет \vrule
s , но это тоже не работает. Если makecell
проблема в этом, я бы не отказался перейти на другой пакет, если есть другие предложения, мне на самом деле не нужны никакие другие makecell
функции.
решение1
Фон вашей таблицы неизвестен. Однако, как я уже сказал в своем комментарии, я бы еще раз подумал, действительно ли нужны вертикальные линии, т. е. вам не нравится, чтобы таблица выглядела профессионально (как предлагается в данной ссылке)...
Предположим, что вам нужны такие правила во всей таблице, тогда следующее предложение может вам помочь:
\documentclass{article}
\usepackage{hhline,colortbl}
\begin{document}
\arrayrulewidth=1.5pt
\begin{tabular}{l | c | c }
\hhline{~|--}
1 & 2 & 3 \\
\hhline{-|--}
4 & 5 & 6 \\
\hhline{~|--}
\end{tabular}
\end{document}
решение2
Пример ниже укажет вам правильное направление, поскольку он объединяет цвет и толщину с помощью команды \arrayrulecolor
и \arrayrulewidth
, которую можно применять глобально — перестановки ясно видны в примере.
\documentclass{article}
\usepackage{hhline,colortbl}
\begin{document}
\arrayrulecolor{green}
\arrayrulewidth=2mm
\begin{tabular}{
!{\color{red}\vrule width 2pt}
l
|
c
!{\color{blue}\vrule width 2pt}
c
||
}
one & two & three\\
\hline
1 & 2 & 3\\%
\noalign{
\color{yellow}
\hrule height 5pt
}%
4&5&6\\
\hline
\end{tabular}
\end{document}
Вам также может быть интересно увидеть...https://tex.stackexchange.com/a/337790/197451
Соответствует ли это вашим требованиям?
Если вы считаете, что ответ соответствует вашим требованиям, пожалуйста, проголосуйте за ответ, нажав на красный треугольник слева и на галочку под ним.
решение3
Начиная с версии 6.11 (16.07.2022) nicematrix
появилась возможность определять команды, аналогичные команде \cline
с характеристиками линий Tikz (например: толщина с помощью клавиши Tikz line width
).
В следующем примере я также использовал клавишу Tikz, shorten <
чтобы получить идеальное соединение с жирными вертикальными линиями.
\documentclass[11pt]{article}
\usepackage{nicematrix,tikz}
\begin{document}
\NiceMatrixOptions
{
custom-line =
{
letter = I ,
tikz = { line width = 1.5 pt } ,
total-width = 1.5pt
} ,
custom-line =
{
command = boldline ,
ccommand = cboldline ,
tikz = { line width = 1.5pt , shorten < = -1.5pt } ,
total-width = 1.5pt
}
}
\begin{NiceTabular}{cIcIcIc}[cell-space-limits=5pt]
\cboldline{2-3}
A & B & C & D\\
\cboldline{1-3}
A & B & C & D\\
\cboldline{2-3}
\end{NiceTabular}
\end{document}
Вам потребуется несколько компиляций (из-за узлов PGF/Tikz, используемых nicematrix
).