使用 Latex 记课堂笔记,并更改包括在内的花式页眉的部分内容

使用 Latex 记课堂笔记,并更改包括在内的花式页眉的部分内容

我将于秋季开始读研究生,我想尝试记录(或在课后复制)我的所有笔记LaTeX。我编写了一个 Python 脚本,查看我的日历中所有课程的安排。然后我为每节课和日期生成一个文件结构,如下所示:

root 
  |--- semesterNum\
          |--- class1\
          |      |--- classDay-1\
          |      |      |--- className_date.tex
          |      |      |--- main.tex
          |      | 
          |      |--- ...
          |      |--- classDay-N\
          |      |--- images\
          |      |--- main\
          |             |--- main.tex
          |
          |--- classN\
          |--- main\
                 |--- main.tex

我将在className_date.tex其中放置我针对特定课程和日期的实际笔记。main.tex下面className_date.tex是我可以编写日常笔记的地方。

我把所有的序言都保存在main.tex文件中

我想把root/semesterNum/classN/main/main.tex一堂课的所有笔记都整理出来

我想在root/semesterNum/main/main.tex这里整理我整个学期所有课程的笔记

因此,为了做到这一点,我将把每一天的文件都包含到正确的main.tex文件中

我的问题是,我的 tex 模板中有 6 个参数在我的 python 代码中被替换,如下所示:

cName、、cNumcClass、、tClass和班级名称、班级编号(例如 MATH 101)、cDate当前tName 班级总数、班级日期和教授姓名

\fancyhead[L]{\begin{tabular}{l r | l r}
\textbf{Class Name} & cName & \textbf{Class Num} & cNum  \\
\textbf{Page} & \thepage/\pageref{LastPage}& \textbf{Note} & cClass/tClass \\
\textbf{Class Date}& cDate & \textbf{Updated} & \today \\
\textbf{Author} & my name & \textbf{Professor} & tName \\
\end{tabular}}

main.tex每个课程日期中,我设置了 6 个变量。问题是,当我想包含一个课程的所有注释时,当前课程的总课程数需要针对每个包含进行更改。但它们是在升级的序言中设置的,如果我在课程序言中设置变量,它们不会针对每个包含进行更改。

当我将所有课程的所有笔记都记下来时,这 6 个变量需要针对每节课和每个上课日期进行更改。

我曾考虑过单独编辑每组笔记,然后将它们全部放在一个文件中。但如果我这样做,整个文档的页码和章节编号将不会改变。

有没有办法让我在每个课程日期内更改正文中的花哨标题数据?

这是我的粗略模板

\documentclass[11pt,a4paper]{article}

\usepackage{marginnote}
\usepackage{wallpaper}
\usepackage{lastpage}
\usepackage[left=1.3cm,right=4.7cm,top=1.8cm,bottom=4.0cm,marginparwidth=3.4cm]{geometry}  
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{xcolor}
\usepackage{float}
\usepackage[boxed]{algorithm2e}
\numberwithin{equation}{subsection}
\usepackage[yyyymmdd]{datetime} 

\usepackage{tikz}
\usetikzlibrary{shapes.geometric,positioning}
\usetikzlibrary{intersections}
\usetikzlibrary{arrows}

\usepackage{pgfplots}
\pgfplotsset{compat=1.9}

\usepackage{fancyhdr} 
\setlength{\headheight}{80pt}
\pagestyle{fancy}\fancyhf{}
\renewcommand{\headrulewidth}{0pt}

\setlength{\parindent}{0cm}
\newcommand{\tab}{\hspace*{2em}}
\newcommand{\mn}[1]{\marginnote{\footnotesize #1}}

\newcommand\BackgroundStructure{
\setlength{\unitlength}{1mm}

\setlength\fboxsep{0mm}
\setlength\fboxrule{0.5mm} 
\put(10, 10){\fcolorbox{black}{blue!10}{\framebox(155,247){}}}
\put(165, 10){\fcolorbox{black}{blue!10}{\framebox(37,247){}}}
\put(10, 262){\fcolorbox{black}{white!10}{\framebox(192, 25){}}}
\put(137, 265){\includegraphics[height=18mm,keepaspectratio]{rit_black_no_bar}}
}

\fancyhead[L]{\begin{tabular}{l r | l r}
\textbf{Class Name} & cName & \textbf{Class Num} & cNum  \\
\textbf{Page} & \thepage/\pageref{LastPage}& \textbf{Note} & cClass/tClass \\
\textbf{Class Date}& cDate & \textbf{Updated} & \today \\
\textbf{Author} & my name & \textbf{Professor} & tName \\
\end{tabular}}

\begin{document}
\AddToShipoutPicture{\BackgroundStructure}
\include{className_date.tex}
\end{document}

答案1

我通过使用宏和自定义页面样式解决了我的问题

在标题中:

\newcommand{\test}{Place Holder Text}

\fancypagestyle{mystyle}{
\fancyhead[L]{\begin{tabular}{l r | l r}
\textbf{Class Name} & \test & \textbf{Class Num} & cNum  \\
\textbf{Page} & \thepage/\pageref{LastPage}& \textbf{Note} & cClass/tClass \\
\textbf{Class Date}& cDate & \textbf{Updated} & \today \\
\textbf{Author} & my name & \textbf{Professor} & tName \\
\end{tabular}}
}

在正文中:

\renewcommand{\test}{Class Name}
    \pagestyle{mystyle}

答案2

我会放类似的东西:

\newcommand\ClassName{ClassName}
\newcommand\ClassNum{ClassNum}
\newcommand\ClassDate{ClassDate}
\newcommand\ClassProf{ClassProf}

\fancyhead[L]{\begin{tabular}{l r | l r}
\textbf{Class Name} & \ClassName & \textbf{Class Num} & \ClassNum  \\
\textbf{Page} & \thepage/\pageref{LastPage}& \textbf{Note} & cClass/tClass \\
\textbf{Class Date}& \ClassDate & \textbf{Updated} & \today \\
\textbf{Author} & my name & \textbf{Professor} & \ClassProf \\
\end{tabular}}

在你的主文件中,然后

\renewcommand\ClassName{Class Two}
\renewcommand\ClassNum{Class II}
\renewcommand\ClassDate{Tuesday}
\renewcommand\ClassProf{Prof Two}

放入每个类文件中。

相关内容