![如何使用 latexonly 设置表格列规格](https://linux22.com/image/249951/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20latexonly%20%E8%AE%BE%E7%BD%AE%E8%A1%A8%E6%A0%BC%E5%88%97%E8%A7%84%E6%A0%BC.png)
我正在尝试使用 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}