我对 package 还不太熟悉pgffor
。它只能用于绘图,还是可以用来遍历文本列表?我试图使用它垂直输出一个简单的项目列表,但我无法在每个项目之间强制换行。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{etoolbox}
\usepackage{pgffor}
\newcommand{\degrees}[1]{\def\degs{#1}}
\degrees{{{B.S. University, 2000}, {M.S. University, 2002}}}
\begin{document}
\begin{center}
\ifdef{\degs}{%
\foreach \x in \degs{%
\x \par%
}
}{}
\end{center}
\end{document}
输出项目后,我尝试了\\
、\par
、\newline
,\linebreak
但都不起作用。显然我不了解 的内部结构\foreach
。
答案1
问题是\foreach
只找到一个项目,因为 中包含的数组周围的括号太多\degs
。删除级别会产生
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{etoolbox}
\usepackage{pgffor}
\newcommand{\degrees}[1]{\def\degs{#1}}
\degrees{{B.S. University, 2000}, {M.S. University, 2002}}
\begin{document}
\begin{center}
\ifdef{\degs}{%
\foreach \x in \degs{%
\x \par%
}
}{}
\end{center}
\end{document}
因此,回答你的问题:它不仅用于绘图,还可以用于其他用途。
如何调试这个问题?例如,像这样:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{etoolbox}
\usepackage{pgffor}
\newcommand{\degrees}[1]{\def\degs{#1}}
\degrees{{B.S. University, 2000}, {M.S. University, 2002}}
\begin{document}
\subsubsection*{One brace less}
\begin{center}
\ifdef{\degs}{%
\foreach \x in \degs{%
\textbackslash x=\x \par%
}
}{}
\end{center}
\subsubsection*{Original}
\degrees{{{B.S. University, 2000}, {M.S. University, 2002}}}
\begin{center}
\ifdef{\degs}{%
\foreach \x in \degs{%
\textbackslash x=\x \par%
}
}{}
\end{center}
\end{document}