Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cross-referencing figures in Copernicus template does not work #553

Closed
3 tasks done
zavud opened this issue Dec 15, 2023 · 8 comments
Closed
3 tasks done

Cross-referencing figures in Copernicus template does not work #553

zavud opened this issue Dec 15, 2023 · 8 comments
Labels
reprex needs a minimal reproducible example

Comments

@zavud
Copy link

zavud commented Dec 15, 2023

I am using the copernicus template and I want to cross-reference figures, but somehow I can't. Please see the r code chunk below:

---
title: Template for preparing your manuscript submission to Copernicus journals using RMarkdown
journal: "`r rticles::copernicus_journal_abbreviations(journal_name = 'communication')`"
author:
  - given_name: Daniel
    surname: Nüst
    affiliation: "1, *"
    email: [email protected]
    corresponding: true
  - given_name: Josiah
    surname: Carberry
    affiliation: 2
    email: [email protected]
  - given_name: Markus
    surname: Konkol
    affiliation: "1, *"
  - given_name: Nikolaus
    surname: Copernicus
    # authors can have multiple affiliations, which can also be used to mark deceased coauthors
    affiliation: "3, †"
# If you have more than one corresponding author, add them manually using the following structure (note the commas):
# Two authors: Daniel Nüst ([email protected]) and Josiah Carberry ([email protected])
# Three authors or more: Daniel Nüst ([email protected]), Josiah Carberry ([email protected]), and Markus Konkol ([email protected])
# If the following line is uncommented, the "corresponding: true" above are ignored
#correspongdingauthors: Daniel Nüst ([email protected]) and Josiah Carberry ([email protected])
# If an author is deceased, please mark the respective author name(s) with a dagger '†' and add a further affiliation; put the decease date in the 'address' field", see 'Nikolaus Copernicus' in template.
# If authors contributed equally, please mark the respective author names with an asterisk '*' and add a further affiliation: 'These authors contributed equally to this work.'", see template.
affiliation:
  - code: 1
    address: Institute for Geoinformatics, University of Münster, 48149 Münster, Germany
  - code: 2
    address: Psychoceramics, Wesleyan University, Middletown, CT, United States
  - code: 3
    address: University of Ferrara, Ferrara, Italy
  - code: "†"
    address: deceased, 24 May 1543
  - code: "*"
    address: These authors contributed equally to this work.
abstract: |
  The abstract goes here.
  It can also be on _multiple lines_.
bibliography: sample.bib
running:
  title: R Markdown Template for Copernicus
  author: Nüst et al.
# This section is mandatory even if you declare that no competing interests are present.
competinginterests: |
  The authors declare no competing interests.
# See https://publications.copernicus.org/for_authors/licence_and_copyright.html, normally used for transferring the copyright, if needed. 
# Note: additional copyright statements for affiliated software or data need to be placed in the data availability section. 
copyrightstatement: |
  The author's copyright for this publication is transferred to institution/company. 
### The following commands are for the statements about the availability of data sets and/or software code corresponding to the manuscript.
### It is strongly recommended to make use of these sections in case data sets and/or software code have been part of your research the article is based on.
### Note: unless stated otherwise, software and data affiliated with the manuscript are assumed to be published under the same licence as the article (currently Creative Commons 4.0)
availability:
  #code: |
  #  use this to add a statement when having only software code available
  #data: |
  #  use this to add a statement when having only data sets available
  codedata: |
    use this to add a statement when having data sets and software code available
  sample: |
    use this section when having geoscientific samples available
videosupplement: |
  use this section when having video supplements available
authorcontribution: |
  Daniel wrote the package. Josiah thought about poterry. Markus filled in for a second author.
disclaimer: |
  We like Copernicus.
acknowledgements: |
  Thanks to the rticles contributors!
appendix: |
  \section{Figures and tables in appendices}
  Regarding figures and tables in appendices, the following two options are possible depending on your general handling of figures and tables in the manuscript environment:
  \subsection{Option 1}
  If you sorted all figures and tables into the sections of the text, please also sort the appendix figures and appendix tables into the respective appendix sections.
  They will be correctly named automatically.
  \subsection{Option 2}
  If you put all figures after the reference list, please insert appendix tables and figures after the normal tables and figures.
  
  To rename them correctly to A1, A2, etc., please add the following commands in front of them:
  `\appendixfigures` needs to be added in front of appendix figures
  `\appendixtables` needs to be added in front of appendix tables
  
  Please add `\clearpage` between each table and/or figure. Further guidelines on figures and tables can be found below.
output:
  rticles::copernicus_article: 
    highlight: NULL
    keep_tex: true
  bookdown::pdf_book:
    base_format: rticles::copernicus_article # for using bookdown features like \@ref()
---

\introduction[Introduction]

Figure \@ref(fig:myfig) shows cars!

```{r myfig, echo=FALSE, fig.cap = "Cars"}
plot(mtcars$mpg, mtcars$cyl)
```

The resulted text look like this:

image

Session info:

> xfun::session_info('rticles')
R version 4.3.2 (2023-10-31)
Platform: aarch64-apple-darwin23.0.0 (64-bit)
Running under: macOS Sonoma 14.1.1, RStudio 2023.9.1.494

Locale: en_US.UTF-8 / en_US.UTF-8 / en_US.UTF-8 / C / en_US.UTF-8 / en_US.UTF-8

Package version:
  base64enc_0.1.3   bslib_0.6.1       cachem_1.0.8      cli_3.6.2         digest_0.6.33     ellipsis_0.3.2   
  evaluate_0.23     fastmap_1.1.1     fontawesome_0.5.2 fs_1.6.3          glue_1.6.2        graphics_4.3.2   
  grDevices_4.3.2   highr_0.10        htmltools_0.5.7   jquerylib_0.1.4   jsonlite_1.8.8    knitr_1.45       
  lifecycle_1.0.4   magrittr_2.0.3    memoise_2.0.1     methods_4.3.2     mime_0.12         R6_2.5.1         
  rappdirs_0.3.3    rlang_1.1.2       rmarkdown_2.25    rticles_0.25.5    sass_0.4.8        stats_4.3.2      
  stringi_1.8.3     stringr_1.5.1     tinytex_0.49      tools_4.3.2       utils_4.3.2       vctrs_0.6.5      
  xfun_0.41         yaml_2.3.8       

By filing an issue to this repo, I promise that

  • I have fully read the issue guide at https://yihui.name/issue/.
  • I have provided the necessary information about my issue.
    • If I'm asking a question, I have already asked it on Stack Overflow or RStudio Community, waited for at least 24 hours, and included a link to my question there.
    • If I'm filing a bug report, I have included a minimal, self-contained, and reproducible example, and have also included xfun::session_info('rticles'). I have upgraded all my packages to their latest versions (e.g., R, RStudio, and R packages), and also tried the development version: remotes::install_github('rstudio/rticles').
    • If I have posted the same issue elsewhere, I have also mentioned it in this issue.
  • I have learned the Github Markdown syntax, and formatted my issue correctly.

I understand that my issue may be closed if I don't fulfill my promises.

@zavud
Copy link
Author

zavud commented Dec 15, 2023

@nuest (a friendly and kind ping :) )

@cderv
Copy link
Collaborator

cderv commented Dec 18, 2023

I took your example and render the bookdown::pdf_book format

image

and it works

image

At R command line, you can use rmarkdown::render("test.Rmd", output_format = "bookdown::pdf_book")

Otherwise, just include this output format in your Rmd file, and render.

@cderv cderv added the reprex needs a minimal reproducible example label Dec 18, 2023
@zavud
Copy link
Author

zavud commented Dec 19, 2023

@cderv, thanks, it works when I use pdf_book. But, I thought I should render using copernicus_article to fully make use of the article template. Or does that not matter?

@cderv
Copy link
Collaborator

cderv commented Dec 19, 2023

I am not sure I follow...

Doing this is the R Markdown way to get access to bookdown specific feature with another base format

bookdown::pdf_book:
    base_format: rticles::copernicus_article # for using bookdown features like \@ref()

This is how you get the special syntax \@ref(fig:myfig) to work.

Without it, if you do only

 rticles::copernicus_article: 
    highlight: NULL
    keep_tex: true

the bookdown feature won't work. However, usually when using rticles you expect only LaTeX. This means that you can use directly LaTeX syntax to create references to your figure after adding labels;

It should work as R Markdown (Pandoc) should accept raw LaTeX without processing it.

@julienvollering
Copy link

Thanks cderv for your helpful replies. For me (and probably others starting with the template) the confusing part was just that the template contains both output formats. So it seems to me that the template left as is does not support bookdown's \@ref() (because specification without bookdown is first?). To others looking here for a quick fix, try simply deleting from the yaml:

 rticles::copernicus_article: 
    highlight: NULL
    keep_tex: true

@cderv cderv closed this as not planned Won't fix, can't repro, duplicate, stale Sep 19, 2024
@diegourreamendez
Copy link

diegourreamendez commented Oct 21, 2024

I have a similar issue with my cross-references in figures. I'm using the syntax you described, but the problem is that my cross-references are including the chapter number, which I want to avoid. Do you have any suggestions on how I can fix this?

@cderv
Copy link
Collaborator

cderv commented Oct 21, 2024

@diegourreamendez can you open a new issue with an example so that I can look ? Thanks !

@diegourreamendez
Copy link

@cderv I solved the problem yesterday, so it's no longer necessary. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
reprex needs a minimal reproducible example
Projects
None yet
Development

No branches or pull requests

4 participants