![使用 Latex 记课堂笔记,并更改包括在内的花式页眉的部分内容](https://linux22.com/image/294273/%E4%BD%BF%E7%94%A8%20Latex%20%E8%AE%B0%E8%AF%BE%E5%A0%82%E7%AC%94%E8%AE%B0%EF%BC%8C%E5%B9%B6%E6%9B%B4%E6%94%B9%E5%8C%85%E6%8B%AC%E5%9C%A8%E5%86%85%E7%9A%84%E8%8A%B1%E5%BC%8F%E9%A1%B5%E7%9C%89%E7%9A%84%E9%83%A8%E5%88%86%E5%86%85%E5%AE%B9.png)
我将于秋季开始读研究生,我想尝试记录(或在课后复制)我的所有笔记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
、、cNum
的cClass
、、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}
放入每个类文件中。