我正在编写一些类似代码的东西,并且缩进内容以与成对的参数垂直对齐。我对齐文本的解决方案是使用嵌套数组,但更改为表格可能更有意义,因为我可能想离开数学模式。我的表格看起来像这样:
\begin{array}[t]{ll}
functionName:
& param1 \\
& param2
\end{array}
param1
因为用更多的函数调用来替换和是很常见的param2
,而且每次都要输入很多内容,所以我将其转换为宏:
\newcommand{\nest}[3]{
\begin{array}[t]{@{}l@{}l@{}}
#1
\\

\end{array}
}
这@{}
是因为我不想在单元格之间留有多余的空格;我希望它看起来好像每一行都是一个仅在开头缩进的文本字符串。
我想要一种方法来从 的左下角functionName
到数组底部添加一条垂直线。我可以通过用 替换 来接近我想要的效果{ll}
,{|ll}
但这会沿着整个左边缘添加边框,而不是跳过第一行文本。
之前的建议是使用\multicolumn
来移除第一行左边缘的边框。如果param1
用函数调用替换,第一个表格行会变得更高,但我想要移除的边框量保持不变。另一个建议是确定最终会有多少列,并使用\multicolumn
让内容占据正确的宽度。我认为这个建议是因为我之前的 MWE 太小了,所以我做了一个新的例子。
这是新的示例代码,其中包括从第一行删除边框的方法:
\documentclass{article}
\newcommand{\nest}[3]{
\begin{array}[t]{|@{}l@{}l@{}}
\multicolumn{1}{@{}l@{}}{#1}
\\

\end{array}
}
\newcommand{\AND}[2]{\nest{\wedge}{#1}{#2}}
\newcommand{\IMPLY}[2]{\nest{\rightarrow}{#1}{#2}}
\newcommand{\XNOR}[2]{\nest{\leftrightarrow}{#1}{#2}}
\begin{document}
\[\XNOR{\IMPLY{\AND{\IMPLY{P}{Q}}{P}}{Q}}
{\IMPLY{\AND{\neg Q}{\IMPLY{P}{Q}}}{\neg P}}\]
\end{document}
得出的结果为:
我想要这样的东西:
有什么好方法可以做到这一点吗?