Files
John MacFarlane cf847b0138 LaTeX reader: improve treatment of cref, Cref.
Associate with `\cref` and `\Cref` the reference-type `ref+label` and
`ref+Label`.  So far we don't do anything fancy with these.
Also, associate with `\vref` `ref` instead of `ref+page`.

See #7463.
2024-02-13 19:32:12 -08:00

5.4 KiB

% pandoc -f latex -t native
Figure \ref{fig:1}
^D
[ Para
    [ Str "Figure"
    , Space
    , Link
        ( ""
        , []
        , [ ( "reference-type" , "ref" )
          , ( "reference" , "fig:1" )
          ]
        )
        [ Str "[fig:1]" ]
        ( "#fig:1" , "" )
    ]
]
% pandoc -f latex -t native
Figure \cref{fig:1}
^D
[ Para
    [ Str "Figure"
    , Space
    , Link
        ( ""
        , []
        , [ ( "reference-type" , "ref+label" )
          , ( "reference" , "fig:1" )
          ]
        )
        [ Str "[fig:1]" ]
        ( "#fig:1" , "" )
    ]
]
% pandoc -f latex -t native
Figure \vref{fig:1}
^D
[ Para
    [ Str "Figure"
    , Space
    , Link
        ( ""
        , []
        , [ ( "reference-type" , "ref" )
          , ( "reference" , "fig:1" )
          ]
        )
        [ Str "[fig:1]" ]
        ( "#fig:1" , "" )
    ]
]
% pandoc -f latex -t native
\autoref{fig:flowchart}
^D
[ Para
    [ Link
        ( ""
        , []
        , [ ( "reference-type" , "ref+label" )
          , ( "reference" , "fig:flowchart" )
          ]
        )
        [ Str "[fig:flowchart]" ]
        ( "#fig:flowchart" , "" )
    ]
]
% pandoc -f latex -t native
Accuracy~\eqref{eq:Accuracy} is the proportion, measuring true results among all results.

\begin{equation}
  \label{eq:Accuracy}
  Accuracy = \frac{t_p + t_n}{t_p + f_p + f_n + t_n}
\end{equation}
^D
[ Para
    [ Str "Accuracy\160"
    , Link
        ( ""
        , []
        , [ ( "reference-type" , "eqref" )
          , ( "reference" , "eq:Accuracy" )
          ]
        )
        [ Str "[eq:Accuracy]" ]
        ( "#eq:Accuracy" , "" )
    , Space
    , Str "is"
    , Space
    , Str "the"
    , Space
    , Str "proportion,"
    , Space
    , Str "measuring"
    , Space
    , Str "true"
    , Space
    , Str "results"
    , Space
    , Str "among"
    , Space
    , Str "all"
    , Space
    , Str "results."
    ]
, Para
    [ Math
        DisplayMath
        "\\label{eq:Accuracy}\n  Accuracy = \\frac{t_p + t_n}{t_p + f_p + f_n + t_n}"
    ]
]
% pandoc -f latex -t native
\begin{figure}
  \includegraphics{command/SVG_logo.svg}
  \caption{Logo}
  \label{fig:Logo}
\end{figure}

Figure \ref{fig:Logo} illustrated the SVG logo
^D
[ Figure
    ( "fig:Logo" , [] , [] )
    (Caption Nothing [ Plain [ Str "Logo" ] ])
    [ Plain
        [ Image ( "" , [] , [] ) [] ( "command/SVG_logo.svg" , "" )
        ]
    ]
, Para
    [ Str "Figure"
    , Space
    , Link
        ( ""
        , []
        , [ ( "reference-type" , "ref" )
          , ( "reference" , "fig:Logo" )
          ]
        )
        [ Str "1" ]
        ( "#fig:Logo" , "" )
    , Space
    , Str "illustrated"
    , Space
    , Str "the"
    , Space
    , Str "SVG"
    , Space
    , Str "logo"
    ]
]
% pandoc -f latex -t native
\chapter{One}
\begin{figure}
  \includegraphics{command/SVG_logo.svg}
  \caption{Logo}
  \label{fig:Logo}
\end{figure}

\begin{figure}
  \includegraphics{command/SVG_logo2.svg}
  \caption{Logo2}
  \label{fig:Logo2}
\end{figure}

\chapter{Two}

\section{Subone}

\begin{figure}
  \includegraphics{command/SVG_logo3.svg}
  \caption{Logo3}
  \label{fig:Logo3}
\end{figure}

Figure \ref{fig:Logo} illustrated the SVG logo

Figure \ref{fig:Logo2} illustrated the SVG logo

Figure \ref{fig:Logo3} illustrated the SVG logo
^D
[ Header 1 ( "one" , [] , [] ) [ Str "One" ]
, Figure
    ( "fig:Logo" , [] , [] )
    (Caption Nothing [ Plain [ Str "Logo" ] ])
    [ Plain
        [ Image ( "" , [] , [] ) [] ( "command/SVG_logo.svg" , "" )
        ]
    ]
, Figure
    ( "fig:Logo2" , [] , [] )
    (Caption Nothing [ Plain [ Str "Logo2" ] ])
    [ Plain
        [ Image ( "" , [] , [] ) [] ( "command/SVG_logo2.svg" , "" )
        ]
    ]
, Header 1 ( "two" , [] , [] ) [ Str "Two" ]
, Header 2 ( "subone" , [] , [] ) [ Str "Subone" ]
, Figure
    ( "fig:Logo3" , [] , [] )
    (Caption Nothing [ Plain [ Str "Logo3" ] ])
    [ Plain
        [ Image ( "" , [] , [] ) [] ( "command/SVG_logo3.svg" , "" )
        ]
    ]
, Para
    [ Str "Figure"
    , Space
    , Link
        ( ""
        , []
        , [ ( "reference-type" , "ref" )
          , ( "reference" , "fig:Logo" )
          ]
        )
        [ Str "1.1" ]
        ( "#fig:Logo" , "" )
    , Space
    , Str "illustrated"
    , Space
    , Str "the"
    , Space
    , Str "SVG"
    , Space
    , Str "logo"
    ]
, Para
    [ Str "Figure"
    , Space
    , Link
        ( ""
        , []
        , [ ( "reference-type" , "ref" )
          , ( "reference" , "fig:Logo2" )
          ]
        )
        [ Str "1.2" ]
        ( "#fig:Logo2" , "" )
    , Space
    , Str "illustrated"
    , Space
    , Str "the"
    , Space
    , Str "SVG"
    , Space
    , Str "logo"
    ]
, Para
    [ Str "Figure"
    , Space
    , Link
        ( ""
        , []
        , [ ( "reference-type" , "ref" )
          , ( "reference" , "fig:Logo3" )
          ]
        )
        [ Str "2.1" ]
        ( "#fig:Logo3" , "" )
    , Space
    , Str "illustrated"
    , Space
    , Str "the"
    , Space
    , Str "SVG"
    , Space
    , Str "logo"
    ]
]
% pandoc -f latex -t native
\label{section} Section \ref{section}
^D
[ Para
    [ Span ( "section" , [] , [ ( "label" , "section" ) ] ) []
    , Space
    , Str "Section"
    , Space
    , Link
        ( ""
        , []
        , [ ( "reference-type" , "ref" )
          , ( "reference" , "section" )
          ]
        )
        [ Str "[section]" ]
        ( "#section" , "" )
    ]
]