继续这个问题扫描使用 \next 时文件结束,同时在宏定义上使用 \begin{comment}另一个示例是,当重新定义的命令中有一个表被重新定义为:
\documentclass[10pt,a5paper,twoside]{memoir}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[brazil]{babel}
\usepackage[showframe,pass]{geometry}
\newif\ifdebug
\debugtrue
% \debugfalse
\ifdebug
\makeatletter
\@ifundefined{resizebox}
{
\newcommand{\resizebox}[3][]{ resizebox \detokenize{#1} \detokenize{#2} \detokenize{#2} }
}{}
\makeatother
\else\fi
\begin{document}
\sloppy
\resizebox{\textwidth}{!}
{
\begin{tabular}{p{2.6cm}|p{6.0cm}|p{2.25cm}|p{3.40cm}}
\textbf{Investigação} & \textbf{Insumos} & \textbf{Sistema} & \textbf{Produtos} \\
\hline
Meta-nível & Filosofia & Epistemologia & Paradigma \\
\hline
Nível & Paradigmas & Ciencia & Teorias \\
\hline
inferior & Modelos & Pratica & problemas \\
\end{tabular}
}
\end{document}
无论如何,表格似乎都会被呈现,但是resizebox
命令参数会打印在顶部:
如何停止表格的渲染/绘制,即在resizebox
重新定义命令时嵌套将其注释掉?
重新定义表环境的唯一选项是将其视为纯文本还是隐藏/注释掉表内容?
答案1
使用resizebox
比较棘手。最好使用tabular
或来确定表格宽度tabularx
:
\documentclass[10pt,a5paper,twoside]{memoir}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[portuges]{babel}% i haven brazil label
\usepackage{showframe}
\begin{document}
\begin{center}
\small
\begin{tabularx}{\linewidth}{@{}
>{\hsize=0.22\hsize}X
>{\hsize=0.34\hsize}X
>{\hsize=0.22\hsize}X
>{\hsize=0.22\hsize}X
@{} }
\toprule
\textbf{Investigação} & \textbf{Insumos} & \textbf{Sistema} & \textbf{Produtos} \\
\midrule
Meta-nível & Filosofia & Epistemologia & Paradigma \\
Nível & Paradigmas & Ciencia & Teorias \\
inferior & Modelos & Pratica & problemas \\
\bottomrule
笔记:不清楚第二列是否必须比其他列更宽。看看,如果重新使用,当所有列都有相同的宽度时是可以接受的。在这种情况下,开始tabularx
更简单:
\begin{tabularx}{\linewidth}{@{} XX XX @{} }
表格如下所示: