如何使用 latexonly 设置表格列规格

如何使用 latexonly 设置表格列规格

我正在尝试使用 pdflatex 和 latex2html 编译这个示例。

我需要针对每种情况使表列规范不同。

这是我所拥有的一个示例,但这会产生错误,我不确定如何解决该错误。这有什么问题?

\documentclass[]{article}%
\usepackage{html}
\begin{document}

\begin{htmlonly}%
   \begin{tabular}{|p{.5in}|}
\end{htmlonly}%

\begin{latexonly}%
   \begin{tabular}{|c|}
\end{latexonly}%

\hline

test1\\
test2\\

\end{tabular}
\end{document}

然后

pdflatex foo.tex

给出

  LaTeX Error: \begin{tabular} on input line 10 ended by \end{latexonly}.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
  ...

l.11 \end{latexonly}
                     %

为什么它认为 tabular 以 latexonly 结尾?

我真的不想复制整个表格,然后写

  \begin{latexonly}.. table ...\end{latexonly}
   \begin{htmlonly}.. table ...\end{htmlonly}

我想我会尝试变得“聪明”并将这些放在列规范周围,但我认为我不太了解 Latex 环境如何很好地相互作用。

除非我犯了一些愚蠢的错误,否则有没有更好的方法来做到这一点(除了复制整个表格)?

谢谢,附言:这里的标签令人困惑,对于一般的 Latex 问题,应该使用哪个标签?这是针对 Latex 问题的正确群组,还是其他 stackoverflow 群组是正确的?

更新 我从另一个对我有用的小组获得了解决方案,想在这里更新。

\latexhtml解决方法是像这样使用

\latexhtml{% latex version
  \begin{tabular}{|c|}%
}{% version for latex2html
  \begin{tabular}{|p{.5in}|}%
}

感谢 Robin Fairbairns 提供上述解决方案。这对我的 latex2html 和 pdflatex 有效。

也感谢大家花时间回答这个问题。关于 Latex 还有很多东西需要学习。

答案1

您可以将表格放入盒子中,然后根据需要多次使用它:

\documentclass{article}
\usepackage{html}

\newsavebox\mytable
\savebox\mytable{%
\begin{tabular}{|p{.5in}|}
\hline
test1\\
test2\\
\hline
\end{tabular}%
}

\begin{document}

\begin{htmlonly}%
\usebox\mytable
\end{htmlonly}%

\begin{latexonly}%
\usebox\mytable
\end{latexonly}%

\end{document}

答案2

也许是这样的:

\documentclass[]{article}%
\usepackage{html}
\begin{document}

\newcommand\tablebody{

\hline

test1\\
test2\\

}

\begin{htmlonly}%
   \begin{tabular}{|p{.5in}|}
    \tablebody
   \end{tabular}
\end{htmlonly}%

\begin{latexonly}%
   \begin{tabular}{|c|}
    \tablebody
   \end{tabular}
\end{latexonly}%

\end{document}

相关内容