\centering 和 showexpl

\centering 和 showexpl

考虑以下 MWE,其中表格显然没有居中\centering。实际上,移动\centering 外部环境table给出了所需的输出,但这并不好......

\documentclass{article}
\usepackage{showexpl}

\begin{document}
\begin{LTXexample}
\begin{table}
\centering
    \caption{This is a fairly simple table.}
    \begin{tabular}{|c|c|} \hline
        a & e \\ \hline
        b & f \\ \hline
        c & g \\ \hline
        d & h \\ \hline
    \end{tabular}
\end{table}
\end{LTXexample}
\end{document}

输出

在此处输入图片描述

答案1

这是一个软件包错误,但很容易修复,表格和图形的重新定义应该以“\par不是什么都没有”结束。

\documentclass{article}
\usepackage{showexpl}

\makeatletter
\renewcommand*\SX@@preset{%
  \renewcommand\documentclass[2][]{\SX@eat@version}%
  \renewcommand\usepackage[2][]{\SX@eat@version}%
  \renewenvironment{document}{}{}%
  \renewenvironment{figure}[1][]{\def\@captype{figure}}{\par}%<<<<<<
  \renewenvironment{table}[1][]{\def\@captype{table}}{\par}%<<<<<<<<
  \renewcommand\cite[1][]{}%
  \let\tableofcontens\relax \let\listoffigures\relax
  \let\listoftables\relax \let\printindex\relax
  \let\listfiles\relax \let\nofiles\relax
  \let\index\@gobble \let\label\@gobble
  \let\bibliography\@gobble
  \let\pagestyle\@gobble \let\thispagestyle\@gobble
  %%\let\immediate\relax \let\write\@gobbletwo
  %%\let\closeout\@gobble \let\@@input\@gobble
  \renewcommand\marginpar[2][]{}%
  \renewcommand\footnote[2][]{}%
  \let\@footnotetext\@gobble
  %%\abovedisplayskip=\z@
  %%\abovedisplayshortskip=\z@
}
\makeatother

\begin{document}
\begin{LTXexample}
\begin{table}
\centering
    \caption{This is a fairly simple table.}
    \begin{tabular}{|c|c|} \hline
        a & e \\ \hline
        b & f \\ \hline
        c & g \\ \hline
        d & h \\ \hline
    \end{tabular}
\end{table}
\end{LTXexample}
\end{document}

相关内容