我正在尝试编写一个bash脚本,为乳胶投影机提供tex输出。为此,我需要一个接一个地添加多个cat << EOF
(或类似的内容)。第一页应该是演示文稿的第一页,因此它位于循环之前。然后有两个嵌套的循环来给出演示文稿的多个页面。最后,有一些行可以总结出乳胶结构,例如\ end {document}等。首页和最后几行并不是那么关键,但是用循环编写幻灯片的主页对我来说至关重要。但是它总是选择循环的最后一个元素。
这是我尝试的简短版本。在原始版本中,数组包含的元素要多于这些元素。
#!/bin/bash
declare -a arrReg=(CR1 CR2)
declare -a arrVar=(pt_el pt_mu)
declare -a arrVarTitle=("electron $p_T$" "muon $p_T$")
laTeXfile=slides.tex
cat > ${laTeXfile}<<EOF
\documentclass{beamer}
\usepackage{graphicx}
\usepackage[font=small,labelfont=bf]{caption}
\begin{document}
%TITLE PAGE
<<text here>>
EOF
for i in "${arrReg[@]}"
do
cnt=0
for j in "${arrVar[@]}"
do
#var=${j}
varTitle=${arrVarTitle[cnt]}
cat >${laTeXfile} <<EOF
%---------------SLIDE
\begin{frame}
<<text here>>
\frametitle{${i}}
\framesubtitle{${varTitle}}
\begin{columns}
<<text here>>
\end{columns}
\end{frame}
EOF
(( cnt++ ))
done
done
cat > ${laTeXfile}<<EOF
\end{document}
EOF
谢谢。