7 arrays latex for-loop enumerate
这是我之前发布的问题的延续(在R中的Sweave中整齐地输出字符串元素).我有一个字符串数组,我试图将每个元素输出到LaTeX.我可以使用以下代码实现:
\documentclass[12pt,english,nohyper]{tufte-handout}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{longtable}
\usepackage{wrapfig}
\usepackaage{hyperref}
\usepackage{graphicx}
\usepackage[space]{grffile}
\usepackage{geometry}
\usepackage{enumitem}
\usepackage{pgffor}
\makeatletter
\makeatother
\begin{document}
<<include=FALSE>>=
library(ggplot2)
library(reshape2)
library(xtable)
@
\centerline{\Large\bf This is a test}
\vspace{1cm}
\noindent
My List:
\vspace{2mm}
Run Code Online (Sandbox Code Playgroud)
.
<<echo=FALSE,results='asis'>>=
myList = c("A. This is the first item in my list.", "B. This is the second item in my list, and it will span across two lines because it is so long. This is the second item in my list, and it will span across two lines because it is so long.", "C. This is the third item in my list")
@
\begin{enumerate}[label=\Alph*., itemsep=-1ex]
\item \Sexpr{str_trim(unlist(strsplit(chapter_outcomes[1], "[.]"))[2])}
\item \Sexpr{str_trim(unlist(strsplit(chapter_outcomes[2], "[.]"))[2])}
\item \Sexpr{str_trim(unlist(strsplit(chapter_outcomes[3], "[.]"))[2])}
\end{enumerate}
\end{document}
Run Code Online (Sandbox Code Playgroud)
这为我提供了我希望实现的正确输出:

但是,我现在正试图让这个迭代在for循环中发生,因为我可能并不总是在chapter_outcomes字符串数组中有三个元素.我尝试了以下变体:
\begin{enumerate}[label=\Alph*., itemsep=-1ex]
\foreach \i in {\Sexpr{length(chapter_outcomes)}} {
\item \Sexpr{str_trim(unlist(strsplit(chapter_outcomes[\i], "[.]"))[2])}
}
\end{enumerate}
Run Code Online (Sandbox Code Playgroud)
但是,这会导致chapter_outcomes [\ i]的上述语法出现"意外输入"错误.
我试过看类似的帖子(在LaTeX中迭代,http://www.bytemining.com/2010/04/some-latex-gems-part-1-tikz-loops-and-more/),但他们的重点是不同的足够我不能用它来解决我的问题.
谢谢你的任何建议.
我手边没有乳胶,而且已经很长时间没有这样做了,但是:
1) \foreach 不需要范围吗?如果我正确理解你的代码, \Sexpr 仅计算长度(例如 {6}),而 \foreach 应该有 {1..6}
或者
2) 另一个典型错误是索引运行 {0..[length-1]} 而不是 {1..[length]} ,这可能会导致“意外输入”,因为解释器试图移过最后一个元素。