"Bruce D'Arcus" <bdar...@gmail.com> writes:
> Hi John, > > On Tue, Aug 10, 2021 at 8:58 PM John Kitchin <jkitc...@andrew.cmu.edu> wrote: > >> ... I would like what I call an orthogonal approach for cross-references, >> orthogonal in the sense that it can coexist with org-ref, but not require >> org-ref if you don't use it. The built in internal links like [[label]] lack >> the flexibility I need (I think), e.g. to differentiate a typical reference >> from an equation reference (these map to \ref{label} and \eqref{label} in >> latex for example), and there are other references that are relevant in latex >> also like \pageref{label}, \cref{label} etc. > > Granting the current "lack of flexibility" of internal links, what > about extending them to allow an optional type; like: > > [[eq:label]] > [[table:label]] Those look like regular org links, and are handled differently from [[label]] which is called a fuzzy link if the links are defined. Interestingly, if the org-links are not defined, they are still fuzzy links, but that is going to be super confusing because the syntax is so similar. In any case, this is substituting using one syntax for another purpose for another syntax. No extension is needed for regular links, it is already a feature of org-links which is used heavily in org-ref already does via ref:label, eqref:label, etc. But to use them, you would have to install org-ref, and it would come with helm and ivy, which many people do not like. I don't want to redefine these links because some people (like me) will have to have both packages installed for legacy documents, and the link behavior is what ever is loaded last. It is not necessary to differentiate figures and tables that way, imo, and you can use different kinds of references to the same label anyway. E.g. \ref{tab-1} (in LaTeX) would refer to the table number, whereas \pageref{tab-1} would refer to the page number it is on. Obviously, that has less meaning for html where there is a single page. > > ... etc? > > It could work based on similar logic as citation styles, namely that > content preceding some delimiter (in the examples above, the hyphen) > would be an optional link type. As you say, it could even have a > similar style/variant structure as citations. > > Perhaps a handful such link types could be reserved, for obvious org > link targets (like tables, equations, figures, etc), but it would be > flexible beyond that. > > Would that not work? I don't think this would work. org-ref already defines most or all of these links. Maybe we could use new names like ref/:label ref/eq:label, etc though. They seem to be legal names. It still seems like there is a lot of opportunity for mixing exports from org-ref and org-ref-cite this way though, because the syntax is so similar. I want as clear a separation of these packages as can be had. > > Because if it could, that would seem to be a better solution, both for > cross-references, and for citations. > > I do grant there may be a challenge with legacy documents adding such > an optional type, but perhaps there's a solution to that problem? > > Bruce -- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu Pronouns: he/him/his