InsightSoftwareConsortium / ITK

Insight Toolkit (ITK) -- Official Repository. ITK builds on a proven, spatially-oriented architecture for processing, segmentation, and registration of scientific images in two, three, or more dimensions.
https://itk.org
Apache License 2.0
1.47k stars 686 forks source link

Empty `\cite` label #5203

Open albert-github opened 2 weeks ago

albert-github commented 2 weeks ago

Description

When running doxygen master version (1.14.0 (2a4d39eb79b8e049c69e1402c1b812fd9695567f)) on the ITK master version (https://github.com/InsightSoftwareConsortium/ITK/commit/f07f9ec492f09790acfbc7de82e5b89721748dca) we get the warnings:

.../ITK/Modules/Core/Common/include/itkSymmetricEigenAnalysis.h:393: warning: \cite command has no label
.../ITK/Modules/Core/Common/include/itkSymmetricEigenAnalysis.h:416: warning: \cite command has no label
.../ITK/Modules/Filtering/Denoising/include/itkPatchBasedDenoisingImageFilter.h:53: warning: \cite command has no label
.../ITK/Modules/Filtering/ImageGrid/include/itkBSplineL2ResampleImageFilterBase.h:41: warning: \cite command has no label
.../ITK/Modules/Registration/Common/include/itkMattesMutualInformationImageToImageMetric.h:62: warning: \cite command has no label
.../ITK/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4.h:43: warning: \cite command has no label
.../ITK/Modules/Registration/PDEDeformable/include/itkDiffeomorphicDemonsRegistrationFilter.h:32: warning: \cite command has no label

and

.../ITK/Modules/Core/Common/include/itkSymmetricEigenAnalysis.h:394: warning: unable to resolve reference to 'martin1971' for \cite command
.../ITK/Modules/Core/Common/include/itkSymmetricEigenAnalysis.h:417: warning: unable to resolve reference to 'martin1971' for \cite command
.../ITK/Modules/Registration/Common/include/itkMattesMutualInformationImageToImageMetric.h:64: warning: unable to resolve reference to 'mattes2001' for \cite command
.../ITK/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4.h:45: warning: unable to resolve reference to 'mattes2001' for \cite command
.../ITK/Modules/Registration/PDEDeformable/include/itkDiffeomorphicDemonsRegistrationFilter.h:34: warning: unable to resolve reference to 'vercauteren2007' for \cite command

Expected information

No warnings

Actual information

warnings and not all references to citations are linked

Versions

ITK master version (https://github.com/InsightSoftwareConsortium/ITK/commit/f07f9ec492f09790acfbc7de82e5b89721748dca)

Additional Information

The fist set is due to the fact that currently doxygen wants to see the label of the \cite command directly following and on the same line (looking into a doxygen patch for this for future doxygen releases).

In e.g. .../ITK/Modules/Core/Common/include/itkSymmetricEigenAnalysis.h we see:

   *  For algorithmic descriptions see \cite martin1968 and  \cite
   *  martin1971. */

which should read:

   *  For algorithmic descriptions see \cite martin1968 and  \cite martin1971. 
   */

or

   *  For algorithmic descriptions see \cite martin1968 and
   *  \cite martin1971. */

I suspect the problem comes from clang-formatter

The second set of warnings is consequential damage.

albert-github commented 2 weeks ago

I've pushed a proposed patch for future doxygen versions: https://github.com/doxygen/doxygen/pull/11384