Как изменить порядок содержимого в автоматически сгенерированном списке уравнений

Как изменить порядок содержимого в автоматически сгенерированном списке уравнений

Я создаю объединенный лист 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]{переписанный текст для отображения в приложении} >это было полностью решено с помощью \catcode с символами ~ и @
  2. Это сортирует В АЛФАВИТНОМ ПОРЯДКЕ, поэтому мое дешевое решение для изменения порядка формул в каждом приложении — просто добавить 1) или a) перед формулой, и по мере необходимости я просто менял бы первую букву в каждом переписанном тексте. Это может сделать индекс немного загроможденным и трудным для чтения. > это также было частично исправлено путем изменения первой буквы в формуле индекса на белую. это не идеально, в конечном итоге хотелось бы найти лучший способ переупорядочить объекты в индексе
  3. В самом индексе номер страницы указывается сразу после формулы, что может немного затруднить чтение. >это было частично решено, сделав ссылки на номера страниц гиперссылками и сделав их желтыми/белыми. Желтый цвет делает гиперссылку едва заметной, но позволяет быстро ссылаться на страницы в документе, и цвет можно немедленно изменить на белый. Опять же, это не самый идеальный способ подавления номеров страниц в индексе
  4. Этот обновленный код, похоже, не позволяет отправлять в индекс более сложные формулы (см. формулу PV, которая является суммированием дроби). Код суммирования привел к тому, что вся формула не появилась в индексе. Поэтому на данный момент я просто выписал слово summation, в идеале формула должна была бы хорошо отображаться в индексе, а также в основном тексте без проблем с компиляцией.

В целом, это правдоподобное решение того, что я изначально хотел сделать. Я продолжу работать над этим, чтобы сделать его более автоматизированным и удобным для чтения. По мере того, как это будет происходить, код будет обновляться, а в примечаниях будут отражены проблемы, присутствующие в коде, и то, как они были решены.

Связанный контент