
У меня возникли некоторые проблемы с mdframed
пакетом в сочетании с tabular
. После того, как я выяснил, как сделать так, чтобы ширина рамки соответствовала ширине объекта (таблицы в моем случае), используя описанный выше приемздесь, расстояние от стола до рамы с обеих сторон не одинаковое.
Мне почему-то кажется, что слева места немного больше, около 30%. Вот MWE:
\documentclass[a4paper,12pt]{article}
\usepackage{environ}
\usepackage{varwidth}
\usepackage{siunitx}
\usepackage[version=3]{mhchem} % den nemmeste måde at skrive kemiske navne
\usepackage[framemethod=TikZ]{mdframed} % frame i images/figures
\newlength{\MyMdframedWidthTweak}%
\NewEnviron{MyMdframed}[1][]{%
\setlength{\MyMdframedWidthTweak}{\dimexpr%
+\mdflength{innerleftmargin}
+\mdflength{innerrightmargin}
+\mdflength{leftmargin}
+\mdflength{rightmargin}
}%
\savebox0{%
\begin{varwidth}{\dimexpr\linewidth-\MyMdframedWidthTweak\relax}%
\BODY
\end{varwidth}%
}%
\begin{mdframed}[
linecolor=red,
linewidth=3pt,
roundcorner=5pt,
userdefinedwidth=\dimexpr\wd0+\MyMdframedWidthTweak\relax,
#1]
\usebox0
\end{mdframed}
}
\begin{document}
\begin{MyMdframed}
\begin{tabular}{l r}
Trivialnavn & vanillin \\
Sumformel & \ce{C8H8O3} \\
Kemisk struktur & \ce{(CH3O)C6H3(OH)CHO} \\
IUPAC & 4-hydroxy-3-methoxybenzaldehyde \\
CAS nummer & 121-33-5 \\
Farve & hvid-gullig \\
Duft & behagelig, blomstret \\
Molarmasse & \SI{152,15}{\gram\per\mole} \\
Smeltepunkt & \SI{82}{\celsius} \\
Kogepunkt & \SI{170}{\celsius} \\
Kilde & Wolfram|Alpha \& Databogen
\end{tabular}
\end{MyMdframed}
\end{document}
Не совсем минимально, но вы поняли. Я думал, что это связано с тем, как рассчитывается ширина таблицы, но я понятия не имею, как это настроить. У меня была та же проблема при использовании обычногоtikz
для задачи, как описаноздесь.
решение1
Вам нужно добавить два размера linewidth
рамки (здесь 3pt) кuserdefinedwidth
userdefinedwidth=\dimexpr\wd0+\MyMdframedWidthTweak+6pt\relax,
Полный код:
\documentclass[a4paper,12pt]{article}
\usepackage{environ}
\usepackage{varwidth}
\usepackage{siunitx}
\usepackage[version=3]{mhchem} % den nemmeste måde at skrive kemiske navne
\usepackage[framemethod=TikZ]{mdframed} % frame i images/figures
\newlength{\MyMdframedWidthTweak}%
\NewEnviron{MyMdframed}[1][]{%
\setlength{\MyMdframedWidthTweak}{\dimexpr%
+\mdflength{innerleftmargin}
+\mdflength{innerrightmargin}
+\mdflength{leftmargin}
+\mdflength{rightmargin}
}%
\savebox0{%
\begin{varwidth}{\dimexpr\linewidth-\MyMdframedWidthTweak\relax}%
\BODY
\end{varwidth}%
}%
\begin{mdframed}[
linecolor=red,
linewidth=3pt,
roundcorner=5pt,
userdefinedwidth=\dimexpr\wd0+\MyMdframedWidthTweak+6pt\relax,
#1]
\usebox0%
\end{mdframed}%
}
\begin{document}
\begin{MyMdframed}
\begin{tabular}{l r}
Trivialnavn & vanillin \\
Sumformel & \ce{C8H8O3} \\
Kemisk struktur & \ce{(CH3O)C6H3(OH)CHO} \\
IUPAC & 4-hydroxy-3-methoxybenzaldehyde \\
CAS nummer & 121-33-5 \\
Farve & hvid-gullig \\
Duft & behagelig, blomstret \\
Molarmasse & \SI{152,15}{\gram\per\mole} \\
Smeltepunkt & \SI{82}{\celsius} \\
Kogepunkt & \SI{170}{\celsius} \\
Kilde & Wolfram|Alpha \& Databogen
\end{tabular}%
\end{MyMdframed}
\end{document}