размер mdframe не соответствует размеру таблицы

размер mdframe не соответствует размеру таблицы

У меня возникли некоторые проблемы с 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}

введите описание изображения здесь

Связанный контент