如何对自动生成的方程式列表中的内容重新排序

如何对自动生成的方程式列表中的内容重新排序

我正在为我的其中一门课程创建合并的 Notesheet/公式表。我发现了以下内容:自动列出文档中的所有方程式

这是几乎这正是我想要做的,但是我想稍微修改一下,并向前迈出一步。我希望“方程式列表”有序。我发现这个链接与我想做的类似(重新排序目录)。然而,我不知道如何将这两个概念结合起来。我目前正在使用第一个链接中的代码。

我的问题是:我希望所有 PV 公式一起出现,并且所有 r 公式一起出现。此外,标题上写着“PV 公式”和“r_r 公式”如果这不可能,那么我希望 PV 公式和 r_r 公式之间至少有一些空格,以便它们在视觉上看起来像是组合在一起的。

更新:自从我上次发布以来一直在研究这个问题,并希望这个问题能够反映出这一进展。

我有两个不同的想法来解决这个问题,但我不知道哪个更自动化。要么为每个 PV 和 r_r 创建一个附录,然后自动将这些公式发送到各自的附录中。我的另一个可能的解决方案是创建多个具有不同名称的 \saveboxes,并将公式放入相应的框中并在最后打印。

答案1

因此,经过一番努力并研究了各种方法来找到可以解决这个问题的代码,我找到了这个部分解决方案,它对我自己的目的来说效果很好。它确实需要一些手工劳动,而且我知道可能有更好的解决方案。我希望这能有所帮助。

\documentclass{article}

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{latexsym}
\usepackage{imakeidx} %allows for multiple indexes
\usepackage[colorlinks=true,linkcolor=yellow,citecolor=red, linktoc=page]{hyperref} %links hyperlinks to the page, and colors the hyperlink to yellow to make the link barely visible
\usepackage{xcolor} %allows for colors

%%%%%%Title formatting %%%%%%%%%%%
 \title{Notes I}
    \date{\vspace{-5ex}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%% Table of Content Formatting %%%%%%%%%%%%%%%%%%%%%%
%to suppresses page numbers in TOC:
\usepackage{hyperref}
\let\Contentsline\contentsline
\renewcommand\contentsline[3]{\Contentsline{#1}{#2}{}} %to suppress the \dottfill in the subsection
\makeatletter
\renewcommand{\@dotsep}{10000} 
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%% \catcode to create shortcuts %%%%%%%%%%%%%%%%%%%%%%%%%
\catcode`"=\active
\def"#1" {\textcolor{white}{#1}} %catcode to color words white, as to hide it on the the compile format

\catcode`!=\active
\def!#1! {\underline{\underline{double underline}}} %to create a short cut to double underline stuff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%Index formatting%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%define special character ~ to allow for automatic indexing without retyping everything. the #numbers are place holders that corresponds with one another. 
\catcode`~=\active
\def~#1 #2~ {#1 \index[S>A]{#1 #2}}  %catcode for OBJECT  DEFINITION like in Symbols and Abbreviations

\catcode`@=\active
\def@#1[#2]#3@ {#1\index[#2]{$\square$ "#3" #1}}  %catcode for FORMULAS that are sent to specific indexes as needed, here I use the catcode for "" in order to hide the letter that will allow for the index to be rearranged. so #3 will denote the order of the index, however it will be invisible to the naked eye on white paper so that the formula indexes are easier to read


%%% IndexStyleFile.ist %%%
%   delim_0 "\\hfill "              
%   delim_1 " "                     
%   delim_2 " "                     
%   delim_n " "                     
%%%%%%%%%%%%%%%%%%%%%%%%%%


%making indexes as needed
%  \makeindex[name=NICKNAME, title={INDEX_TITLE},columns=1, intoc,options= -s IndexStyleFile.ist]

\makeindex[name=S>A, title={Symbols and Abbreviations},columns=1, intoc,options= -s IndexStyleFile.ist]

\makeindex[name=PV, title={Present Value},columns=1, intoc,options= -s IndexStyleFile.ist]

\makeindex[name=r.r, title={r_r},columns=1, intoc,options= -s IndexStyleFile.ist]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\usepackage{lipsum} %creating filler text for demonstration/test purposes

\begin{document}

    \maketitle
    \tableofcontents
    \pagebreak

    \section*{Color and Formatting Notes}
    \begin{itemize}
        \item \underline{single underline} ||-- is for definitions
        \item !double underline!  |----- is to attention too something
        \item (ex)|||||||--- works as an appositive, it will give real examples or further details
        \item \underline{Example} |||||-- is a example problem
        \end{itemize}
    \pagebreak

    \section{Section 1}

    \underline{Present Value} ~:= is defined as~ discounted value, is the value of an expected income stream determined as of the date of valuation 
    \begin{itemize}
        \item[$\ast$] (ex) blah 
        \item[$\ast$] (ex) blah blah 
    \end{itemize} 
    @$PV =(1+i)^{-n}$[PV]b@
    \\\lipsum[2]
    @$PV$=summation $\frac{C}{(1+r)^n}$[PV] c@ \lipsum[2]
    @$r_r = \frac{r-i}{1+i}$[r.r] b@
    \noindent \lipsum[2]

    \subsection{subsection title}
    \lipsum[5]
    @$PV =(\frac{1}{(1+i)})^{n}$[PV] a@
    \noindent \lipsum[3]

    \section{title 2}
       \lipsum[1]
        @$PV=e^{\delta t}$[PV] 1@


    \lipsum[6]
    @$r_r \approx r-i$[r.r] a@
    \lipsum[5]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%print indexes
%\indexprologue{\textit{DESCRIPTION}}
%\printindex[NAME]    


\printindex[S>A]    

\indexprologue{Present Value is the discounted value, is the value of an expected income stream determined as of the date of valuation}
\printindex[PV]    

\printindex[r.r]

\end{document}

笔记

  1. 每次想要将某些内容追加到索引中时,都必须在 \index[NAME]{rewritten text to appeared in appendix} 中再次输入所有内容 >\catcode 已使用符号 ~ 和 @ 完全解决了此问题
  2. 这是按字母顺序排序的,所以我对每个附录中的公式进行重新排序的廉价解决方案是在公式前添加 1) 或 a),并且根据需要,我只需更改每个重写文本中的第一个字母即可。这可能会使索引有点混乱且难以阅读 > 通过将索引公式中的第一个字母设为白色,此问题也已得到部分修复。这并不理想,最终希望找到一种更好的方法来重新排序索引中的对象
  3. 在索引本身中,页码紧接着公式出现,这可能会使阅读有点困难。 >这个问题已得到部分解决,将页码引用为超链接,并将其变为黄色/白色。黄色使超链接几乎不可见,但允许在文档中快速引用页面,并且颜色可以立即更改为白色。同样,这不是在索引中隐藏页码的最理想方法
  4. 此更新的代码似乎不允许将更复杂的公式发送到索引(请参阅 PV 公式,它是分数的求和)。求和代码导致整个公式未出现在索引中。所以现在,我刚刚写出了求和这个词,理想情况下,公式会很好地出现在索引和正文中,而不会出现编译问题。

总体而言,这是我最初想做的事情的一个可行的解决方案。我将继续努力使其更加自动化和易于阅读。在此过程中,代码将得到更新,注释将反映代码中存在的问题以及它们是如何解决的。

相关内容