From dc3cd5ce2b6f0c771b8791619ea31dc49ffcf6ea Mon Sep 17 00:00:00 2001 From: Fluffy <fluffy.l2032@gmail.com> Date: Wed, 17 Feb 2021 22:57:40 +0100 Subject: [PATCH 01/31] initial changes. Is it my tex that is breaking numeric refs? --- R/ieee_article.R | 5 +- .../templates/ieee/resources/template.tex | 42 ++++++++---- .../templates/ieee/skeleton/skeleton.Rmd | 66 +++++++++++++------ 3 files changed, 78 insertions(+), 35 deletions(-) diff --git a/R/ieee_article.R b/R/ieee_article.R index 47a8b3c1f..49db4052a 100644 --- a/R/ieee_article.R +++ b/R/ieee_article.R @@ -3,8 +3,9 @@ #' Format for creating submissions to IEEE Transaction journals. Adapted from #' \url{http://www.ieee.org/publications_standards/publications/authors/author_templates.html}. #' -#' Presently, only the \code{"conference"} paper mode offered by the -#' \code{IEEEtran.cls} is supported. +#' Presently, only the \code{"conference"} paper mode offered by +#' \code{IEEEtran.cls} is fully supported, with experimental support for the +#' \code{"journal"} mode. #' #' @inheritParams rmarkdown::pdf_document #' @param draftmode Specify the draft mode to control spacing and whether images diff --git a/inst/rmarkdown/templates/ieee/resources/template.tex b/inst/rmarkdown/templates/ieee/resources/template.tex index 0fdfdf291..96f259b67 100644 --- a/inst/rmarkdown/templates/ieee/resources/template.tex +++ b/inst/rmarkdown/templates/ieee/resources/template.tex @@ -50,7 +50,11 @@ % The testflow support page is at: % http://www.michaelshell.org/tex/testflow/ -\documentclass[conference,$if(fontsize)$$fontsize$,$endif$$if(draftmode)$$draftmode$,$endif$$if(papersize)$$papersize$,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{IEEEtran} +% *** rticle changes for journal/conference mode. +% adding journal as an override for conference mode to maintain backwards +% compatibility. Any future expansions to further modes will have to come up with +% a cleverer solution, or introduce breaking changes. +\documentclass[$if(journal)$journal$else$conference$endif$,$if(fontsize)$$fontsize$,$endif$$if(draftmode)$$draftmode$,$endif$$if(papersize)$$papersize$,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{IEEEtran} % Some Computer Society conferences also require the compsoc mode option, % but others use the standard conference format. % @@ -382,9 +386,11 @@ breaklinks=true} \urlstyle{same} % don't use monospace font for urls -% Pandoc toggle for numbering sections (defaults to be off) +% Pandoc toggle for numbering sections (defaults to be off in conference, on in journal) $if(numbersections)$ \setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} +$elseif(journal)$ +\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} $else$ \setcounter{secnumdepth}{0} $endif$ @@ -447,6 +453,24 @@ % Do not put math or special symbols in the title. \title{$title$} + +% split author affiliations for journal and conference layouts +$if(journal)$ + +$if(affiliation.author)$ +\author{ + $for(affiliation.author)$$if(it.last)$and $endif$$it.name$$if(it.member)$, \IEEEmembership{$it.member$}$endif$$sep$, $endfor$ + $if(affiliation.thanks)$$for(affiliation.thanks)$\thanks{$affiliation.thanks$}$endfor$$endif$ +} +$else$ +$~$!!! Only 'affiliation.author' is supported for the journal mode.$~$ +$endif$ + +\markboth{$journal$$~$, Vol. XX, No. X, XXXXXX 20XX$~$}% +{$title$} + +$else$ % -- end if/journal + % author names and affiliations % use a multiple column layout for up to three different % affiliations @@ -563,6 +587,8 @@ $endif$ } +$endif$ %% -- end else/journal + % conference papers do not typically use \thanks and this command % is locked out in conference mode. If really needed, such as for % the acknowledgment of grants, issue a \IEEEoverridecommandlockouts @@ -586,14 +612,6 @@ %\IEEEauthorblockA{\IEEEauthorrefmark{4}Tyrell Inc., 123 Replicant Street, Los Angeles, California 90210--4321}} - - -% use for special paper notices -%\IEEEspecialpapernotice{(Invited Paper)} - - - - % make the title area \maketitle @@ -606,7 +624,7 @@ % keywords $if(keywords)$ \begin{IEEEkeywords} -$for(keywords)$$keywords$$sep$; $endfor$ +$for(keywords)$$keywords$$sep$$if(journal)$, $else$; $endif$$endfor$ \end{IEEEkeywords} $endif$ @@ -661,5 +679,3 @@ $endfor$ \end{document} - - diff --git a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd index fc1067571..ab35cbfe0 100644 --- a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd @@ -1,23 +1,40 @@ --- -title: Bare Demo of IEEEtran.cls for IEEE Conferences -affiliation: +title: Bare Demo of IEEEtran.cls for IEEE Conferences & Journals + +## Either conference OR journal should be set; +# for `conference` the value makes no difference, for `journal` you should set the +# title of the journal you're publishing with, as it will be used in running headers. +conference: true +# journal: IEEE Transactions on Learning Technology ## specify journal for page headers + +affiliation: ## use one only of the following # author-columnar: true ## one column per author - institution-columnar: true ## one column per institution (multiple autors eventually) - # wide: true ## one column wide author/affiliation fields - - #author: ## A custom author ordering field that breaks institution grouping. - # - name: Eldon Tyrell - # mark: 4 - # email: eldon@starfleet-academy.star - # - name: Michael Shell - # mark: 1 - # - name: Roy Batty - # mark: 4 - # email: roy@replicant.offworld - ## Authors cited in institution field are ignored when author field exists - - #author_multiline: ## Put authors in a given order, with multiline possibility. Authors cited in institution are ignored if exists + institution-columnar: true ## one column per institution (multiple autors eventually) + # wide: true ## one column wide author/affiliation fields + + + ## A custom author ordering field that breaks institution grouping. + ## This is the only supported format for the journal layout. + author: + - name: Eldon Tyrell + member: Member, IEEE ## only used for journal layout + mark: 4 ## ignored for journal layout + email: eldon@starfleet-academy.star + - name: Michael Shell + member: Fellow, OSA + mark: 1 + - name: Roy Batty + member: Life Fellow, IEEE + mark: 4 + email: roy@replicant.offworld + last: true ## mark the last author so that we can insert `and` + ## at the appropriate place. + + + ## Put authors in a given order, with multiline possibility. + ## Authors cited in institution are ignored if exists + #author_multiline: # - line: ## Create a new author line # - name: Michael Shell # mark: 1 @@ -32,7 +49,8 @@ affiliation: # mark: 3 # - name: Eldon Tyrell # mark: 4 - + + ## all information listed here is ignored in journal mode institution: - name: Georgia Institute of Technology department: School of Electrical and Computer Engineering @@ -61,6 +79,13 @@ affiliation: email: eldon@starfleet-academy.star - name: Roy Batty email: roy@replicant.offworld + + # ## used for author affiliations and other acknowledgements in journal mode + thanks: + - "E. Tyrell and R. Batty are with Starfleet Academy." + - "M. Shell was with the Department of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, GA, 30332 USA e-mail: (see http://www.michaelshell.org/contact.html)." + - "Manuscript received February 17, 2021; revised June 6, 2021." + keywords: ["keyword 1", "keyword 2"] abstract: | The abstract goes here. @@ -68,13 +93,14 @@ abstract: | # use some specific Tex packages if needed. # with_ifpdf: true -# with_cite: true +# with_cite: true ## note that since pandoc doesn't use \cite, this does nothing. # amsmath need to be true to use with bookdown for referencing equations. with_amsmath: true # with_algorithmic: true # with_array: true # with_dblfloatfix: true +natbib: true bibliography: mybibfile.bib output: rticles::ieee_article #citation_sorting: none ## used as sorting option of the biblatex package (if selected) @@ -83,7 +109,7 @@ output: rticles::ieee_article Introduction ============= <!-- no \IEEEPARstart --> -This demo file is intended to serve as a ``starter file'' +\IEEEPARstart{T}{his} demo file is intended to serve as a ``starter file'' for IEEE conference papers produced under \LaTeX\ using IEEEtran.cls version 1.8b and later. <!-- You must have at least 2 lines in the paragraph with the drop letter From f6f6249f9089fffdf9ba73a05584190f8c2573d6 Mon Sep 17 00:00:00 2001 From: Fluffy <fluffy.l2032@gmail.com> Date: Mon, 22 Feb 2021 09:28:25 +0100 Subject: [PATCH 02/31] add IEEE abbreviations bib --- .../templates/ieee/skeleton/IEEEabrv.bib | 489 ++++++++++++++++++ 1 file changed, 489 insertions(+) create mode 100644 inst/rmarkdown/templates/ieee/skeleton/IEEEabrv.bib diff --git a/inst/rmarkdown/templates/ieee/skeleton/IEEEabrv.bib b/inst/rmarkdown/templates/ieee/skeleton/IEEEabrv.bib new file mode 100644 index 000000000..bcaccfc14 --- /dev/null +++ b/inst/rmarkdown/templates/ieee/skeleton/IEEEabrv.bib @@ -0,0 +1,489 @@ + +IEEEabrv.bib +V1.14 (2015/08/26) +Copyright (c) 2002-2015 by Michael Shell +See: http://www.michaelshell.org/ +for current contact information. + +BibTeX bibliography string definitions of the ABBREVIATED titles of +IEEE journals and magazines and online publications. + +This file is designed for bibliography styles that require +abbreviated titles and is not for use in bibliographies that +require full-length titles. + +Support sites: +http://www.michaelshell.org/tex/ieeetran/ +http://www.ctan.org/pkg/ieeetran +and/or +http://www.ieee.org/ + +Special thanks to Laura Hyslop, Ken Rawson, Kevin Lisankie and +Mona Mittra of the IEEE for their help in obtaining the information needed +to compile this file. Also, Volker Kuhlmann, Moritz Borgmann, +Yannick Berker, Nicol�s Barabino, Chuanren Wu and Santiago Cogollos Borras +kindly provided some corrections and additions. + + +************************************************************************* +Legal Notice: +This code is offered as-is without any warranty either expressed or +implied; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE! +User assumes all risk. +In no event shall the IEEE or any contributor to this code be liable for +any damages or losses, including, but not limited to, incidental, +consequential, or any other damages, resulting from the use or misuse +of any information contained here. + +All comments are the opinions of their respective authors and are not +necessarily endorsed by the IEEE. + +This work is distributed under the LaTeX Project Public License (LPPL) +( http://www.latex-project.org/ ) version 1.3, and may be freely used, +distributed and modified. A copy of the LPPL, version 1.3, is included +in the base LaTeX documentation of all distributions of LaTeX released +2003/12/01 or later. +Retain all contribution notices and credits. +** Modified files should be clearly indicated as such, including ** +** renaming them and changing author support contact information. ** +************************************************************************* + + +USAGE: + +\bibliographystyle{mybstfile} +\bibliography{IEEEabrv,mybibfile} + +where the IEEE titles in the .bib database entries use the strings +defined here. e.g., + + + journal = IEEE_J_AC, + + +to yield "{IEEE} Trans. Automat. Contr." + + +The IEEE uses abbreviated journal titles in their bibliographies - +this file is suitable for work that is to be submitted to the IEEE. + +For work that requires full-length titles, you should use the full +titles provided in the companion file, IEEEfull.bib. + + +** NOTES ** + + 1. Journals have been grouped according to subject in order to make it + easier to locate and extract the definitions for related journals - + as most works use references that are confined to a single topic. + Magazines are listed in straight alphabetical order. + + 2. String names are closely based on IEEE's own internal acronyms. + + 3. Older, out-of-print IEEE titles are included (but not including titles + dating prior to the IEEE's formation from the IRE and AIEE in 1963). + + 4. Abbreviations comply with the official specifications of the IEEE. + + + + + + +IEEE Journals + + +aerospace and military +@STRING{IEEE_J_ANNE = "{IEEE} Trans. Aeronaut. Navig. Electron."} +@STRING{IEEE_J_AES = "{IEEE} Trans. Aerosp. Electron. Syst."} +@STRING{IEEE_J_ANE = "{IEEE} Trans. Aerosp. Navig. Electron."} +@STRING{IEEE_J_AS = "{IEEE} Trans. Aerosp."} +@STRING{IEEE_J_AIRE = "{IEEE} Trans. Airborne Electron."} +@STRING{IEEE_J_MIL = "{IEEE} Trans. Mil. Electron."} + + + +autos, transportation and vehicles (non-aerospace) +@STRING{IEEE_J_ITS = "{IEEE} Trans. Intell. Transp. Syst."} +@STRING{IEEE_J_IV = "{IEEE} Trans. Intell. Veh."} +@STRING{IEEE_J_TTE = "{IEEE} Trans. Transport. Electrific."} +@STRING{IEEE_J_VC = "{IEEE} Trans. Veh. Commun."} +@STRING{IEEE_J_VT = "{IEEE} Trans. Veh. Technol."} + + + +circuits, signals, systems, audio and controls +@STRING{IEEE_J_STSP = "{IEEE} J. Sel. Topics Signal Process."} +@STRING{IEEE_J_SPL = "{IEEE} Signal Process. Lett."} +@STRING{IEEE_J_SYST = "{IEEE} Syst. J."} +@STRING{IEEE_J_ASSP = "{IEEE} Trans. Acoust., Speech, Signal Process."} +@STRING{IEEE_J_AU = "{IEEE} Trans. Audio"} +@STRING{IEEE_J_AUEA = "{IEEE} Trans. Audio Electroacoust."} +in 2014 ASL became ASLP +@STRING{IEEE_J_ASLP = "{IEEE/ACM} Trans. Audio, Speech, Language Process."} +@STRING{IEEE_J_ASL = "{IEEE} Audio, Speech, Language Process."} +@STRING{IEEE_J_AC = "{IEEE} Trans. Autom. Control"} +@STRING{IEEE_J_CAS = "{IEEE} Trans. Circuits Syst."} +@STRING{IEEE_J_CASVT = "{IEEE} Trans. Circuits Syst. Video Technol."} +@STRING{IEEE_J_CASI = "{IEEE} Trans. Circuits Syst. {I}"} +@STRING{IEEE_J_CASII = "{IEEE} Trans. Circuits Syst. {II}"} +in 2004 CASI and CASII renamed part title to CASI_RP and CASII_EB, respectively +@STRING{IEEE_J_CASI_RP = "{IEEE} Trans. Circuits Syst. {I}"} +@STRING{IEEE_J_CASII_EB = "{IEEE} Trans. Circuits Syst. {II}"} +@STRING{IEEE_J_CT = "{IEEE} Trans. Circuit Theory"} +@STRING{IEEE_J_CST = "{IEEE} Trans. Control Syst. Technol."} +@STRING{IEEE_J_ETCAS = "{IEEE} Trans. Emerg. Sel. Topics Circuits Syst."} +@STRING{IEEE_J_SP = "{IEEE} Trans. Signal Process."} +@STRING{IEEE_J_SU = "{IEEE} Trans. Sonics Ultrason."} +@STRING{IEEE_J_SAP = "{IEEE} Trans. Speech Audio Process."} +@STRING{IEEE_J_UE = "{IEEE} Trans. Ultrason. Eng."} +@STRING{IEEE_J_UFFC = "{IEEE} Trans. Ultrason., Ferroelectr., Freq. Control"} + + + +communications +@STRING{IEEE_J_COML = "{IEEE} Commun. Lett."} +@STRING{IEEE_J_JSAC = "{IEEE} J. Sel. Areas Commun."} +@STRING{IEEE_J_COM = "{IEEE} Trans. Commun."} +@STRING{IEEE_J_COMT = "{IEEE} Trans. Commun. Technol."} +@STRING{IEEE_J_WCOM = "{IEEE} Trans. Wireless Commun."} +@STRING{IEEE_J_WCOML = "{IEEE} Wireless Commun. Lett."} + + + +components, packaging and manufacturing +@STRING{IEEE_J_ADVP = "{IEEE} Trans. Adv. Packag."} +@STRING{IEEE_J_CHMT = "{IEEE} Trans. Compon., Hybrids, Manuf. Technol."} +in 2011 CAPT became CPMT +@STRING{IEEE_J_CPMT = "{IEEE} Trans. Compon. Packag. Manuf. Technol."} +@STRING{IEEE_J_CPMTA = "{IEEE} Trans. Compon., Packag., Manuf. Technol. {A}"} +@STRING{IEEE_J_CPMTB = "{IEEE} Trans. Compon., Packag., Manuf. Technol. {B}"} +@STRING{IEEE_J_CPMTC = "{IEEE} Trans. Compon., Packag., Manuf. Technol. {C}"} +@STRING{IEEE_J_CAPTS = "{IEEE} Trans. Compon. Packag. Technol."} +@STRING{IEEE_J_CAPT = "{IEEE} Trans. Compon. Packag. Technol."} +@STRING{IEEE_J_CPART = "{IEEE} Trans. Compon. Parts"} +@STRING{IEEE_J_EPM = "{IEEE} Trans. Electron. Packag. Manuf."} +@STRING{IEEE_J_MFT = "{IEEE} Trans. Manuf. Technol."} +@STRING{IEEE_J_PHP = "{IEEE} Trans. Parts, Hybrids, Packag."} +@STRING{IEEE_J_PMP = "{IEEE} Trans. Parts, Mater., Packag."} + + + +CAD +@STRING{IEEE_J_TCAD = "{IEEE} J. Technol. Comput. Aided Design"} +@STRING{IEEE_J_CAD = "{IEEE} Trans. Comput.-Aided Design Integr. Circuits Syst."} + + + +coding, data, information, knowledge +@STRING{IEEE_J_BD = "{IEEE} Trans. Big Data"} +@STRING{IEEE_J_IFS = "{IEEE} Trans. Inf. Forensics Security"} +@STRING{IEEE_J_IT = "{IEEE} Trans. Inf. Theory"} +@STRING{IEEE_J_KDE = "{IEEE} Trans. Knowl. Data Eng."} + + + +computers, computation, networking and software +@STRING{IEEE_J_CAL = "{IEEE} Comput. Archit. Lett."} +@STRING{IEEE_J_ES = "{IEEE} Embedded Syst. Lett."} +@STRING{IEEE_J_IOT = "{IEEE} Internet Things J."} +@STRING{IEEE_J_XCDC = "{IEEE} J. Explor. Solid-State Computat. Devices Circuits"} +@STRING{IEEE_J_MMCT = "{IEEE} J. Multiscale and Multiphys. Comput. Techn."} +@STRING{IEEE_J_SUSC = "{IEEE} Sustain. Comput."} +@STRING{IEEE_J_CC = "{IEEE} Trans. on Cloud Comput."} +@STRING{IEEE_J_CSS = "{IEEE} Trans. Comput. Social Syst."} +@STRING{IEEE_J_C = "{IEEE} Trans. Comput."} +@STRING{IEEE_J_CNS = "{IEEE} Trans. Control Netw. Syst."} +@STRING{IEEE_J_DSC = "{IEEE} Trans. Depend. Sec. Comput."} +@STRING{IEEE_J_ECOMP = "{IEEE} Trans. Electron. Comput."} +@STRING{IEEE_J_ETC = "{IEEE} Trans. Emerg. Topics Comput."} +@STRING{IEEE_J_EVC = "{IEEE} Trans. Evol. Comput."} +@STRING{IEEE_J_FUZZ = "{IEEE} Trans. Fuzzy Syst."} +@STRING{IEEE_J_MC = "{IEEE} Trans. Mobile Comput."} +@STRING{IEEE_J_MSCS = "{IEEE} Trans. Multi-Scale Comput. Syst."} +@STRING{IEEE_J_NET = "{IEEE/ACM} Trans. Netw."} +@STRING{IEEE_J_NSE = "{IEEE} Trans. Netw. Sci. Eng."} +@STRING{IEEE_J_NSM = "{IEEE} Trans. Netw. Service Manag."} +@STRING{IEEE_J_NN = "{IEEE} Trans. Neural Netw."} +in 2012 NN became NNLS +@STRING{IEEE_J_NNLS = "{IEEE} Trans. Neural Netw. Learn. Syst."} +@STRING{IEEE_J_PDS = "{IEEE} Trans. Parallel Distrib. Syst."} +@STRING{IEEE_J_SC = "{IEEE} Trans. Serv. Comput."} +@STRING{IEEE_J_SIPN = "{IEEE} Trans. Signal Inf. Process. Netw."} +@STRING{IEEE_J_SE = "{IEEE} Trans. Softw. Eng."} + + + +computer graphics, imaging, and multimedia +@STRING{IEEE_J_JDT = "{IEEE/OSA} J. Display Technol."} +@STRING{IEEE_J_IP = "{IEEE} Trans. Image Process."} +@STRING{IEEE_J_MM = "{IEEE} Trans. Multimedia"} +@STRING{IEEE_J_VCG = "{IEEE} Trans. Vis. Comput. Graphics"} + + + +cybernetics, ergonomics, robots, man-machine, artificial intelligence and automation +@STRING{IEEE_J_JAS = "{IEEE/CAA} J. Autom. Sinica"} +@STRING{IEEE_J_JRA = "{IEEE} J. Robot. Autom."} +@STRING{IEEE_J_AFFC = "{IEEE} Trans. Affect. Comput."} +@STRING{IEEE_J_ASE = "{IEEE} Trans. Autom. Sci. Eng."} +@STRING{IEEE_J_AMD = "{IEEE} Trans. Auton. Mental Develop."} +@STRING{IEEE_J_CCN = "{IEEE} Trans. on Cogn. Commun. Netw."} +in 2015 AMD became CDS +@STRING{IEEE_J_CDS = "{IEEE} Trans. Cogn. Develop. Syst."} +@STRING{IEEE_J_CIAIG = "{IEEE} Trans. Comput. Intell. {AI} in Games"} +in 2013 SMCB became CYB +@STRING{IEEE_J_CYB = "{IEEE} Trans. Cybern."} +@STRING{IEEE_J_H = "{IEEE} Trans. Haptics"} +@STRING{IEEE_J_HFE = "{IEEE} Trans. Hum. Factors Electron."} +in 2013 SMCC became HMS +@STRING{IEEE_J_HMS = "{IEEE} Trans. Human-Mach. Syst."} +@STRING{IEEE_J_MMS = "{IEEE} Trans. Man-Mach. Syst."} +@STRING{IEEE_J_PAMI = "{IEEE} Trans. Pattern Anal. Mach. Intell."} +in 1989 JRA became RA +in August 2004, RA split into ASE and RO +@STRING{IEEE_J_RA = "{IEEE} Trans. Robot. Autom."} +@STRING{IEEE_J_RAL = "{IEEE} Robot. Autom. Lett."} +@STRING{IEEE_J_RO = "{IEEE} Trans. Robot."} +@STRING{IEEE_J_SMC = "{IEEE} Trans. Syst., Man, Cybern."} +@STRING{IEEE_J_SMCA = "{IEEE} Trans. Syst., Man, Cybern. {A}"} +@STRING{IEEE_J_SMCB = "{IEEE} Trans. Syst., Man, Cybern. {B}"} +@STRING{IEEE_J_SMCC = "{IEEE} Trans. Syst., Man, Cybern. {C}"} +in 2012 SMCA became SMCS +@STRING{IEEE_J_SMCS = "{IEEE} Trans. Syst., Man, Cybern., Syst."} +@STRING{IEEE_J_SSC = "{IEEE} Trans. Syst. Sci. Cybern."} + + + +earth, wind, fire and water +@STRING{IEEE_J_GRSL = "{IEEE} Geosci. Remote Sens. Lett."} +@STRING{IEEE_J_GE = "{IEEE} Trans. Geosci. Electron."} +@STRING{IEEE_J_GRS = "{IEEE} Trans. Geosci. Remote Sens."} +@STRING{IEEE_J_OE = "{IEEE} J. Ocean. Eng."} +@STRING{IEEE_J_STARS = "{IEEE} J. Sel. Topics Appl. Earth Observ. Remote Sens."} + + + +education, engineering, history, IEEE, professional +@STRING{IEEE_J_CJECE = "Canadian J. Elect. Comput. Eng."} +@STRING{IEEE_J_PROC = "Proc. {IEEE}"} +@STRING{IEEE_J_RITA = "{IEEE} Revista Iberoamericana de Technolog{\'{i}}as del Aprendizaje"} +@STRING{IEEE_J_EDU = "{IEEE} Trans. Educ."} +@STRING{IEEE_J_EM = "{IEEE} Trans. Eng. Manag."} +@STRING{IEEE_J_EWS = "{IEEE} Trans. Eng. Writing Speech"} +@STRING{IEEE_J_LT = "{IEEE} Trans. Learn. Technol."} +@STRING{IEEE_J_PC = "{IEEE} Trans. Prof. Commun."} + + + +electromagnetics, antennas, EMI, magnetics and microwave +@STRING{IEEE_J_AWPL = "{IEEE} Antennas Wireless Propag. Lett."} +@STRING{IEEE_J_MAGL = "{IEEE} Magn. Lett."} +@STRING{IEEE_J_MGWL = "{IEEE} Microw. Guided Wave Lett."} +@STRING{IEEE_J_MWCL = "{IEEE} Microw. Wireless Compon. Lett."} +@STRING{IEEE_J_RFIC = "{IEEE} {RFIC} J."} +@STRING{IEEE_J_RFID = "{IEEE} {RFID} J."} +@STRING{IEEE_J_AP = "{IEEE} Trans. Antennas Propag."} +@STRING{IEEE_J_EMC = "{IEEE} Trans. Electromagn. Compat."} +@STRING{IEEE_J_MAG = "{IEEE} Trans. Magn."} +@STRING{IEEE_J_MTT = "{IEEE} Trans. Microw. Theory Techn."} +@STRING{IEEE_J_RFI = "{IEEE} Trans. Radio Freq. Interference"} +@STRING{IEEE_J_TTHZ = "{IEEE} Trans. {THz} Sci. Technol."} +@STRING{IEEE_J_TJMJ = "{IEEE} Transl. J. Magn. Jpn."} + + + +energy, power and conversion +@STRING{IEEE_J_PHOT = "{IEEE} J. Photovolt."} +@STRING{IEEE_J_PEL = "{IEEE} Power Electron. Lett."} +@STRING{IEEE_J_PETS = "{IEEE} Power Energy Technol. Syst. J."} +@STRING{IEEE_J_ESTPE = "{IEEE} Trans. Emerg. Sel. Topics Power Electron."} +@STRING{IEEE_J_EC = "{IEEE} Trans. Energy Convers."} +@STRING{IEEE_J_PWRAS = "{IEEE} Trans. Power App. Syst."} +@STRING{IEEE_J_PWRD = "{IEEE} Trans. Power Del."} +@STRING{IEEE_J_PWRE = "{IEEE} Trans. Power Electron."} +@STRING{IEEE_J_PWRS = "{IEEE} Trans. Power Syst."} +@STRING{IEEE_J_SG = "{IEEE} Trans. Smart Grid"} +@STRING{IEEE_J_STE = "{IEEE} Trans. Sustain. Energy"} + + + +industrial, commercial and consumer +@STRING{IEEE_J_PSE = "{IEEE} J. Product Safety Eng."} +@STRING{IEEE_J_APPIND = "{IEEE} Trans. Appl. Ind."} +@STRING{IEEE_J_BC = "{IEEE} Trans. Broadcast."} +@STRING{IEEE_J_BCTV = "{IEEE} Trans. Broadcast Television Receivers"} +@STRING{IEEE_J_CE = "{IEEE} Trans. Consum. Electron."} +@STRING{IEEE_J_IE = "{IEEE} Trans. Ind. Electron."} +@STRING{IEEE_J_IECI = "{IEEE} Trans. Ind. Electron. Contr. Instrum."} +@STRING{IEEE_J_IA = "{IEEE} Trans. Ind. Appl."} +@STRING{IEEE_J_IGA = "{IEEE} Trans. Ind. Gen. Appl."} +@STRING{IEEE_J_IINF = "{IEEE} Trans. Ind. Informat."} + + + +instrumentation and measurement +@STRING{IEEE_J_IM = "{IEEE} Trans. Instrum. Meas."} + + + +insulation and materials +@STRING{IEEE_J_JEM = "{IEEE/TMS} J. Electron. Mater."} +@STRING{IEEE_J_DEI = "{IEEE} Trans. Dielectr. Electr. Insul."} +@STRING{IEEE_J_EI = "{IEEE} Trans. Electr. Insul."} + + + +mechanical +@STRING{IEEE_J_MEMS = "J. Microelectromech. Syst."} +in 2014 MEMS became MEMSI +@STRING{IEEE_J_MEMSI = "J. Microelectromech. Syst."} +@STRING{IEEE_J_MECH = "{IEEE/ASME} Trans. Mechatronics"} + + + +medical and biological +@STRING{IEEE_J_BHI = "{IEEE} J. Biomed. Health Inform."} +@STRING{IEEE_J_TEHM = "{IEEE} J. Transl. Eng. Health Med."} +@STRING{IEEE_J_LS = "{IEEE} Life Sci. Lett."} +@STRING{IEEE_J_RBME = "{IEEE} Rev. Biomed. Eng."} +@STRING{IEEE_J_BCAS = "{IEEE} Trans. Biomed. Circuits Syst."} +@STRING{IEEE_J_BMELC = "{IEEE} Trans. Bio-Med. Electron."} +B-ME later dropped the hyphen and became the BME +@STRING{IEEE_J_BME = "{IEEE} Trans. Biomed. Eng."} +@STRING{IEEE_J_B-ME = "{IEEE} Trans. Bio-Med. Eng."} +@STRING{IEEE_J_CBB = "{IEEE/ACM} Trans. Comput. Biol. Bioinformatics"} +@STRING{IEEE_J_ITBM = "{IEEE} Trans. Inf. Technol. Biomed."} +@STRING{IEEE_J_ME = "{IEEE} Trans. Med. Electron."} +@STRING{IEEE_J_MI = "{IEEE} Trans. Med. Imag."} +@STRING{IEEE_J_MBSC = "{IEEE} Trans. Mol. Biol. Multi-Scale Commun."} +@STRING{IEEE_J_NB = "{IEEE} Trans. Nanobiosci."} +@STRING{IEEE_J_NSRE = "{IEEE} Trans. Neural Syst. Rehabil. Eng."} +@STRING{IEEE_J_RE = "{IEEE} Trans. Rehabil. Eng."} + + + +optics, lightwave and photonics +@STRING{IEEE_J_JLT = "J. Lightw. Technol."} +@STRING{IEEE_J_OCN = "{IEEE} J. Opt. Commun. Netw."} +@STRING{IEEE_J_PJ = "{IEEE} Photon. J."} +@STRING{IEEE_J_PTL = "{IEEE} Photon. Technol. Lett."} + + + +physics, electrons, nanotechnology, nuclear and quantum electronics +@STRING{IEEE_J_EDL = "{IEEE} Electron Device Lett."} +@STRING{IEEE_J_EDS = "{IEEE} J. Electron Devices Soc."} +@STRING{IEEE_J_JQE = "{IEEE} J. Quantum Electron."} +@STRING{IEEE_J_JSTQE = "{IEEE} J. Sel. Topics Quantum Electron."} +@STRING{IEEE_J_ENANO = "{IEEE} Nanotechnol. Express"} +@STRING{IEEE_J_ED = "{IEEE} Trans. Electron Devices"} +@STRING{IEEE_J_NANO = "{IEEE} Trans. Nanotechnol."} +@STRING{IEEE_J_NS = "{IEEE} Trans. Nucl. Sci."} +@STRING{IEEE_J_PS = "{IEEE} Trans. Plasma Sci."} + + + +reliability +@STRING{IEEE_J_DMR = "{IEEE} Trans. Device Mater. Rel."} +@STRING{IEEE_J_R = "{IEEE} Trans. Rel."} + + + +semiconductors, superconductors, electrochemical and solid state +@STRING{IEEE_J_ESSL = "{IEEE/ECS} Electrochem. Solid-State Lett."} +@STRING{IEEE_J_JSSC = "{IEEE} J. Solid-State Circuits"} +@STRING{IEEE_J_ASC = "{IEEE} Trans. Appl. Supercond."} +@STRING{IEEE_J_SM = "{IEEE} Trans. Semicond. Manuf."} + + + +sensors +@STRING{IEEE_J_SENSOR = "{IEEE} Sensors J."} + + + +VLSI +@STRING{IEEE_J_VLSI = "{IEEE} Trans. {VLSI} Syst."} + + + + + + +IEEE Magazines and Online Publications + + +@STRING{IEEE_O_ACC = "{IEEE} Access"} +@STRING{IEEE_M_AES = "{IEEE} Aerosp. Electron. Syst. Mag."} +@STRING{IEEE_M_HIST = "{IEEE} Ann. Hist. Comput."} +@STRING{IEEE_M_AP = "{IEEE} Antennas Propag. Mag."} +@STRING{IEEE_M_ASSP = "{IEEE} {ASSP} Mag."} +@STRING{IEEE_M_CHINAC = "China Commun."} +@STRING{IEEE_M_CD = "{IEEE} Circuits Devices Mag."} +@STRING{IEEE_M_CAS = "{IEEE} Circuits Syst. Mag."} +@STRING{IEEE_M_COM = "{IEEE} Commun. Mag."} +@STRING{IEEE_M_COMSOC = "{IEEE} Commun. Soc. Mag."} +@STRING{IEEE_O_CSTO = "{IEEE} Commun. Surveys Tuts."} +@STRING{IEEE_M_CIM = "{IEEE} Comput. Intell. Mag."} +CSEM changed to CSE in 1999 +@STRING{IEEE_M_CSE = "{IEEE} Comput. Sci. Eng."} +@STRING{IEEE_M_CSEM = "{IEEE} Comput. Sci. Eng. Mag."} +@STRING{IEEE_M_C = "Computer"} +@STRING{IEEE_M_CAP = "{IEEE} Comput. Appl. Power"} +@STRING{IEEE_M_CGA = "{IEEE} Comput. Graph. Appl."} +@STRING{IEEE_M_CONC = "{IEEE} Concurrency"} +@STRING{IEEE_M_CS = "{IEEE} Control Syst. Mag."} +in 2012 DTC became DT +@STRING{IEEE_M_DT = "{IEEE} Des. Test"} +@STRING{IEEE_M_DTC = "{IEEE} Des. Test. Comput."} +@STRING{IEEE_O_DSO = "{IEEE} Distrib. Syst. Online"} +@STRING{IEEE_M_EI = "{IEEE} Electr. Insul. Mag."} +@STRING{IEEE_M_ETF = "{IEEE} Electrific. Mag."} +@STRING{IEEE_M_EMC = "{IEEE} Electromagn. Compat."} +@STRING{IEEE_M_ETR = "{IEEE} ElectroTechnol. Rev."} +@STRING{IEEE_M_EMR = "{IEEE} Eng. Manag. Rev."} +@STRING{IEEE_M_EMB = "{IEEE} Eng. Med. Biol. Mag."} +@STRING{IEEE_M_EXP = "{IEEE} Expert"} +@STRING{IEEE_M_GRS = "{IEEE} Geosci. Remote Sens. Mag."} +@STRING{IEEE_M_IA = "{IEEE} Ind. Appl. Mag."} +@STRING{IEEE_M_IE = "{IEEE} Ind. Electron. Mag."} +@STRING{IEEE_M_IM = "{IEEE} Instrum. Meas. Mag."} +@STRING{IEEE_M_IS = "{IEEE} Intell. Syst."} +@STRING{IEEE_M_ITS = "{IEEE} Intell. Transp. Syst. Mag."} +@STRING{IEEE_M_IC = "{IEEE} Internet Comput."} +@STRING{IEEE_M_ITP = "{IEEE} {IT} Prof."} +@STRING{IEEE_M_MICRO = "{IEEE} Micro"} +@STRING{IEEE_M_MW = "{IEEE} Microw. Mag."} +@STRING{IEEE_M_MM = "{IEEE} Multimedia"} +@STRING{IEEE_M_NANO = "{IEEE} Nanotechnol. Mag."} +@STRING{IEEE_M_NET = "{IEEE} Netw."} +IEEE's editorial manual lists "Pers. Commun.", +but "Personal Commun. Mag." seems to be what is used in the journals +@STRING{IEEE_M_PCOM = "{IEEE} Personal Commun. Mag."} +@STRING{IEEE_M_PVC = "{IEEE} Pervasive Comput."} +@STRING{IEEE_M_POT = "{IEEE} Potentials"} +@STRING{IEEE_M_PEL = "{IEEE} Power Electron. Mag."} +CAP and PER merged to form PE in 2003 +@STRING{IEEE_M_PE = "{IEEE} Power Energy Mag."} +@STRING{IEEE_M_PER = "{IEEE} Power Eng. Rev."} +@STRING{IEEE_M_PULSE = "{IEEE} Pulse"} +@STRING{IEEE_M_RA = "{IEEE} Robot. Autom. Mag."} +@STRING{IEEE_M_SAP = "{IEEE} Security Privacy"} +@STRING{IEEE_M_SP = "{IEEE} Signal Process. Mag."} +@STRING{IEEE_M_S = "{IEEE} Softw."} +@STRING{IEEE_M_SSC = "{IEEE} Solid-State Circuits Mag."} +@STRING{IEEE_M_SPECT = "{IEEE} Spectr."} +@STRING{IEEE_M_SMC = "{IEEE} Syst., Man, Cybern. Mag."} +@STRING{IEEE_M_TS = "{IEEE} Technol. Soc. Mag."} +@STRING{IEEE_M_VT = "{IEEE} Veh. Technol. Mag."} +@STRING{IEEE_M_WC = "{IEEE} Wireless Commun."} +@STRING{IEEE_M_TODAY = "Today's Engineer"} + + + + + +-- +EOF From 03c48259039888b0265f83e94af885844045636d Mon Sep 17 00:00:00 2001 From: Fluffy <fluffy.l2032@gmail.com> Date: Mon, 22 Feb 2021 09:28:50 +0100 Subject: [PATCH 03/31] add IEEE csl, let pandoc sort out the citation mess --- .../templates/ieee/skeleton/ieee.csl | 400 ++++++++++++++++++ 1 file changed, 400 insertions(+) create mode 100644 inst/rmarkdown/templates/ieee/skeleton/ieee.csl diff --git a/inst/rmarkdown/templates/ieee/skeleton/ieee.csl b/inst/rmarkdown/templates/ieee/skeleton/ieee.csl new file mode 100644 index 000000000..0f6a06420 --- /dev/null +++ b/inst/rmarkdown/templates/ieee/skeleton/ieee.csl @@ -0,0 +1,400 @@ +<?xml version="1.0" encoding="utf-8"?> +<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only"> + <info> + <title>IEEE</title> + <id>http://www.zotero.org/styles/ieee</id> + <link href="http://www.zotero.org/styles/ieee" rel="self"/> + <link href="https://ieeeauthorcenter.ieee.org/wp-content/uploads/IEEE-Reference-Guide.pdf" rel="documentation"/> + <link href="https://journals.ieeeauthorcenter.ieee.org/your-role-in-article-production/ieee-editorial-style-manual/" rel="documentation"/> + <author> + <name>Michael Berkowitz</name> + <email>mberkowi@gmu.edu</email> + </author> + <contributor> + <name>Julian Onions</name> + <email>julian.onions@gmail.com</email> + </contributor> + <contributor> + <name>Rintze Zelle</name> + <uri>http://twitter.com/rintzezelle</uri> + </contributor> + <contributor> + <name>Stephen Frank</name> + <uri>http://www.zotero.org/sfrank</uri> + </contributor> + <contributor> + <name>Sebastian Karcher</name> + </contributor> + <contributor> + <name>Giuseppe Silano</name> + <email>g.silano89@gmail.com</email> + <uri>http://giuseppesilano.net</uri> + </contributor> + <contributor> + <name>Patrick O'Brien</name> + </contributor> + <contributor> + <name>Brenton M. Wiernik</name> + </contributor> + <category citation-format="numeric"/> + <category field="engineering"/> + <category field="generic-base"/> + <summary>IEEE style as per the 2018 guidelines, V 11.12.2018.</summary> + <updated>2019-12-20T09:14:19+00:00</updated> + <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights> + </info> + <locale xml:lang="en"> + <terms> + <term name="chapter" form="short">ch.</term> + <term name="presented at">presented at the</term> + <term name="available at">available</term> + </terms> + </locale> + <!-- Macros --> + <macro name="status"> + <choose> + <if variable="page issue volume" match="none"> + <text variable="status" text-case="capitalize-first" suffix="" font-weight="bold"/> + </if> + </choose> + </macro> + <macro name="edition"> + <choose> + <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any"> + <choose> + <if is-numeric="edition"> + <group delimiter=" "> + <number variable="edition" form="ordinal"/> + <text term="edition" form="short"/> + </group> + </if> + <else> + <text variable="edition" text-case="capitalize-first" suffix="."/> + </else> + </choose> + </if> + </choose> + </macro> + <macro name="issued"> + <choose> + <if type="article-journal report" match="any"> + <date variable="issued"> + <date-part name="month" form="short" suffix=" "/> + <date-part name="year" form="long"/> + </date> + </if> + <else-if type="bill book chapter graphic legal_case legislation motion_picture song thesis" match="any"> + <date variable="issued"> + <date-part name="year" form="long"/> + </date> + </else-if> + <else-if type="paper-conference" match="any"> + <date variable="issued"> + <date-part name="month" form="short"/> + <date-part name="year" prefix=" "/> + </date> + </else-if> + <else> + <date variable="issued"> + <date-part name="month" form="short" suffix=" "/> + <date-part name="day" form="numeric-leading-zeros" suffix=", "/> + <date-part name="year"/> + </date> + </else> + </choose> + </macro> + <macro name="author"> + <names variable="author"> + <name and="text" et-al-min="7" et-al-use-first="1" initialize-with=". "/> + <label form="short" prefix=", " text-case="capitalize-first"/> + <et-al font-style="italic"/> + <substitute> + <names variable="editor"/> + <names variable="translator"/> + </substitute> + </names> + </macro> + <macro name="editor"> + <names variable="editor"> + <name initialize-with=". " delimiter=", " and="text"/> + <label form="short" prefix=", " text-case="capitalize-first"/> + </names> + </macro> + <macro name="locators"> + <group delimiter=", "> + <text macro="edition"/> + <group delimiter=" "> + <text term="volume" form="short"/> + <number variable="volume" form="numeric"/> + </group> + <group delimiter=" "> + <number variable="number-of-volumes" form="numeric"/> + <text term="volume" form="short" plural="true"/> + </group> + <group delimiter=" "> + <text term="issue" form="short"/> + <number variable="issue" form="numeric"/> + </group> + </group> + </macro> + <macro name="title"> + <choose> + <if type="bill book graphic legal_case legislation motion_picture song" match="any"> + <text variable="title" font-style="italic"/> + </if> + <else> + <text variable="title" quotes="true"/> + </else> + </choose> + </macro> + <macro name="publisher"> + <choose> + <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference song" match="any"> + <group delimiter=": "> + <text variable="publisher-place"/> + <text variable="publisher"/> + </group> + </if> + <else> + <group delimiter=", "> + <text variable="publisher"/> + <text variable="publisher-place"/> + </group> + </else> + </choose> + </macro> + <macro name="event"> + <choose> + <if type="paper-conference speech" match="any"> + <choose> + <!-- Published Conference Paper --> + <if variable="collection-editor editor editorial-director issue page volume" match="any"> + <group delimiter=", "> + <group delimiter=" "> + <text term="in"/> + <text variable="container-title" font-style="italic"/> + </group> + <text variable="event-place"/> + </group> + </if> + <!-- Unpublished Conference Paper --> + <else> + <group delimiter=", "> + <group delimiter=" "> + <text term="presented at"/> + <text variable="event"/> + </group> + <text variable="event-place"/> + </group> + </else> + </choose> + </if> + </choose> + </macro> + <macro name="access"> + <choose> + <if type="webpage post post-weblog" match="any"> + <choose> + <if variable="URL"> + <group delimiter=" "> + <text variable="URL"/> + <group delimiter=" " prefix="(" suffix=")"> + <text term="accessed"/> + <date variable="accessed"> + <date-part name="month" form="short" strip-periods="false"/> + <date-part name="day" form="numeric-leading-zeros" prefix=" " suffix=", "/> + <date-part name="year" form="long"/> + </date> + </group> + </group> + </if> + </choose> + </if> + <else-if match="any" variable="DOI"> + <text variable="DOI" prefix="doi: "/> + </else-if> + <else> + <group delimiter=". "> + <group delimiter=": "> + <text term="accessed" text-case="capitalize-first"/> + <date variable="accessed"> + <date-part name="month" form="short" suffix=" "/> + <date-part name="day" form="numeric-leading-zeros" suffix=", "/> + <date-part name="year"/> + </date> + </group> + <text term="online" prefix="[" suffix="]" text-case="capitalize-first"/> + <group delimiter=": "> + <text term="available at" text-case="capitalize-first"/> + <text variable="URL"/> + </group> + </group> + </else> + </choose> + </macro> + <macro name="page"> + <choose> + <if type="article-journal" variable="number" match="all"> + <group delimiter=" "> + <text value="Art."/> + <text term="issue" form="short"/> + <text variable="number"/> + </group> + </if> + <else> + <group delimiter=" "> + <label variable="page" form="short"/> + <text variable="page"/> + </group> + </else> + </choose> + </macro> + <macro name="citation-locator"> + <group delimiter=" "> + <choose> + <if locator="page"> + <label variable="locator" form="short"/> + </if> + <else> + <label variable="locator" form="short" text-case="capitalize-first"/> + </else> + </choose> + <text variable="locator"/> + </group> + </macro> + <!-- Citation --> + <citation collapse="citation-number"> + <sort> + <key variable="citation-number"/> + </sort> + <layout delimiter=", "> + <group prefix="[" suffix="]" delimiter=", "> + <text variable="citation-number"/> + <text macro="citation-locator"/> + </group> + </layout> + </citation> + <!-- Bibliography --> + <bibliography entry-spacing="0" second-field-align="flush"> + <layout suffix="."> + <!-- Citation Number --> + <text variable="citation-number" prefix="[" suffix="]"/> + <!-- Author(s) --> + <text macro="author" suffix=", "/> + <!-- Rest of Citation --> + <choose> + <!-- Specific Formats --> + <if type="article-journal"> + <group delimiter=", "> + <text macro="title"/> + <text variable="container-title" font-style="italic" form="short"/> + <text macro="locators"/> + <text macro="page"/> + <text macro="issued"/> + <text macro="status"/> + <text macro="access"/> + </group> + </if> + <else-if type="paper-conference speech" match="any"> + <group delimiter=", "> + <text macro="title"/> + <text macro="event"/> + <text macro="issued"/> + <text macro="locators"/> + <text macro="page"/> + <text macro="status"/> + <text macro="access"/> + </group> + </else-if> + <else-if type="report"> + <group delimiter=". "> + <group delimiter=", "> + <text macro="title"/> + <text macro="publisher"/> + <group delimiter=" "> + <text variable="genre"/> + <text variable="number"/> + </group> + <text macro="issued"/> + </group> + <text macro="access"/> + </group> + </else-if> + <else-if type="thesis"> + <group delimiter=", "> + <text macro="title"/> + <text variable="genre"/> + <text macro="publisher"/> + <text macro="issued"/> + </group> + </else-if> + <else-if type="webpage post-weblog post" match="any"> + <group delimiter=", " suffix=". "> + <text macro="title"/> + <text variable="container-title" font-style="italic"/> + <text macro="issued"/> + </group> + <text macro="access"/> + </else-if> + <else-if type="patent"> + <group delimiter=", "> + <text macro="title"/> + <text variable="number"/> + <text macro="issued"/> + </group> + </else-if> + <!-- Generic/Fallback Formats --> + <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any"> + <group delimiter=", " suffix=". "> + <text macro="title"/> + <text macro="locators"/> + </group> + <group delimiter=", "> + <text macro="publisher"/> + <text macro="issued"/> + <text macro="page"/> + </group> + </else-if> + <else-if type="article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage" match="any"> + <group delimiter=", "> + <text macro="title"/> + <text variable="container-title" font-style="italic"/> + <text macro="locators"/> + <text macro="publisher"/> + <text macro="page"/> + <text macro="issued"/> + </group> + </else-if> + <else-if type="chapter paper-conference" match="any"> + <group delimiter=", " suffix=", "> + <text macro="title"/> + <group delimiter=" "> + <text term="in"/> + <text variable="container-title" font-style="italic"/> + </group> + <text macro="locators"/> + </group> + <text macro="editor" suffix=" "/> + <group delimiter=", "> + <text macro="publisher"/> + <text macro="issued"/> + <text macro="page"/> + </group> + </else-if> + <else> + <group delimiter=", " suffix=". "> + <text macro="title"/> + <text variable="container-title" font-style="italic"/> + <text macro="locators"/> + </group> + <group delimiter=", "> + <text macro="publisher"/> + <text macro="page"/> + <text macro="issued"/> + <text macro="access"/> + </group> + </else> + </choose> + </layout> + </bibliography> +</style> From dfb06d2d49c791aa5c91427834066c4b6f69287e Mon Sep 17 00:00:00 2001 From: Fluffy <fluffy.l2032@gmail.com> Date: Mon, 22 Feb 2021 09:30:02 +0100 Subject: [PATCH 04/31] default to using csl (pandoc) for citations instead of latex (bib[la]tex, natbib). --- .../templates/ieee/skeleton/skeleton.Rmd | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd index ab35cbfe0..32c8491b6 100644 --- a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd @@ -2,10 +2,10 @@ title: Bare Demo of IEEEtran.cls for IEEE Conferences & Journals ## Either conference OR journal should be set; -# for `conference` the value makes no difference, for `journal` you should set the -# title of the journal you're publishing with, as it will be used in running headers. -conference: true -# journal: IEEE Transactions on Learning Technology ## specify journal for page headers +## for `conference` the value makes no difference, for `journal` you should set the +## title of the journal you're publishing with, as it will be used in running headers. +# conference: true +journal: IEEE Transactions on Learning Technology ## specify journal for page headers affiliation: ## use one only of the following @@ -100,8 +100,13 @@ with_amsmath: true # with_array: true # with_dblfloatfix: true -natbib: true +# natbib: true +# biblatex: true bibliography: mybibfile.bib + +citation-style: ieee +link-citations: true + output: rticles::ieee_article #citation_sorting: none ## used as sorting option of the biblatex package (if selected) --- From 24143729411ae546e02d8e9fad481ed2dfc94712 Mon Sep 17 00:00:00 2001 From: Fluffy <fluffy.l2032@gmail.com> Date: Wed, 24 Feb 2021 08:29:07 +0100 Subject: [PATCH 05/31] fix typos, cleanup docs. --- .../templates/ieee/skeleton/skeleton.Rmd | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd index 32c8491b6..3dcc87c11 100644 --- a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd @@ -4,6 +4,7 @@ title: Bare Demo of IEEEtran.cls for IEEE Conferences & Journals ## Either conference OR journal should be set; ## for `conference` the value makes no difference, for `journal` you should set the ## title of the journal you're publishing with, as it will be used in running headers. +## if neither are set, the document defaults to conference mode. # conference: true journal: IEEE Transactions on Learning Technology ## specify journal for page headers @@ -13,13 +14,12 @@ affiliation: institution-columnar: true ## one column per institution (multiple autors eventually) # wide: true ## one column wide author/affiliation fields - ## A custom author ordering field that breaks institution grouping. - ## This is the only supported format for the journal layout. + ## This is the only supported format for the journal mode. author: - name: Eldon Tyrell - member: Member, IEEE ## only used for journal layout - mark: 4 ## ignored for journal layout + member: Member, IEEE ## only used for journal mode + mark: 4 ## ignored for journal mode email: eldon@starfleet-academy.star - name: Michael Shell member: Fellow, OSA @@ -50,7 +50,7 @@ affiliation: # - name: Eldon Tyrell # mark: 4 - ## all information listed here is ignored in journal mode + ## institution information is ignored in journal mode institution: - name: Georgia Institute of Technology department: School of Electrical and Computer Engineering @@ -80,7 +80,7 @@ affiliation: - name: Roy Batty email: roy@replicant.offworld - # ## used for author affiliations and other acknowledgements in journal mode + # ## used only in journal mode for author affiliations and other acknowledgements thanks: - "E. Tyrell and R. Batty are with Starfleet Academy." - "M. Shell was with the Department of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, GA, 30332 USA e-mail: (see http://www.michaelshell.org/contact.html)." @@ -93,22 +93,30 @@ abstract: | # use some specific Tex packages if needed. # with_ifpdf: true -# with_cite: true ## note that since pandoc doesn't use \cite, this does nothing. +# with_cite: true # amsmath need to be true to use with bookdown for referencing equations. with_amsmath: true # with_algorithmic: true # with_array: true # with_dblfloatfix: true + +## If you're using latex style \cite commands, choose the backend you want to use. # natbib: true # biblatex: true -bibliography: mybibfile.bib +# citation_sorting: none ## used as sorting option of the biblatex package (if selected) +## If you're using pandoc style @cite commands, these options set the correct +## citation style, and add links to citations. +## Note that this bypasses latex packages that alter citations, e.g. hyperref. citation-style: ieee link-citations: true +## bibliography file(s) +bibliography: mybibfile.bib + + output: rticles::ieee_article -#citation_sorting: none ## used as sorting option of the biblatex package (if selected) --- Introduction From 1f398c32c46e2b689726887894f8a71869baa538 Mon Sep 17 00:00:00 2001 From: Fluffy <fluffy.l2032@gmail.com> Date: Wed, 24 Feb 2021 08:41:03 +0100 Subject: [PATCH 06/31] add news line and contributor info --- DESCRIPTION | 1 + NEWS.md | 2 ++ 2 files changed, 3 insertions(+) diff --git a/DESCRIPTION b/DESCRIPTION index 03918da38..da284687c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -46,6 +46,7 @@ Authors@R: c( person("Alfredo", "Hernández", role = c("ctb"), email = "aldomann.designs@gmail.com", comment = c(ORCID = "0000-0002-2660-4545")), person("Christophe", "Dervieux", role = c("aut"), email = "cderv@rstudio.com", comment = c(ORCID = "0000-0003-4474-2498")), person("Stefano", "Coretta", role = c("ctb"), email = "stefano.coretta@gmail.com", comment = c(ORCID = "0000-0001-9627-5532", github = "stefanocoretta")) + person("Karel", "Kroeze", role = c("ctb"), email = "karel.kroeze@gmail.com" comment = c(ORCID = "0000-0002-7000-7377", github = "karel-kroeze")) ) Description: A suite of custom R Markdown formats and templates for authoring journal articles and conference submissions. diff --git a/NEWS.md b/NEWS.md index 9ca34dfd1..5f09c3c9b 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,5 @@ +- `ieee_article()` now supports both conference papers and journal articles (thanks, @Karel-Kroeze). + rticles 0.19 --------------------------------------------------------------------- - Update Copernicus Publications template to version 6.2 from 2021-01-15 (thanks, @RLumSK, #366). From 9edfd942ebc027bc55c6f728e2bb7c0cbe24c7c3 Mon Sep 17 00:00:00 2001 From: Fluffy <fluffy.l2032@gmail.com> Date: Wed, 24 Feb 2021 08:43:36 +0100 Subject: [PATCH 07/31] remove abbreviations bib file --- .../templates/ieee/skeleton/IEEEabrv.bib | 489 ------------------ 1 file changed, 489 deletions(-) delete mode 100644 inst/rmarkdown/templates/ieee/skeleton/IEEEabrv.bib diff --git a/inst/rmarkdown/templates/ieee/skeleton/IEEEabrv.bib b/inst/rmarkdown/templates/ieee/skeleton/IEEEabrv.bib deleted file mode 100644 index bcaccfc14..000000000 --- a/inst/rmarkdown/templates/ieee/skeleton/IEEEabrv.bib +++ /dev/null @@ -1,489 +0,0 @@ - -IEEEabrv.bib -V1.14 (2015/08/26) -Copyright (c) 2002-2015 by Michael Shell -See: http://www.michaelshell.org/ -for current contact information. - -BibTeX bibliography string definitions of the ABBREVIATED titles of -IEEE journals and magazines and online publications. - -This file is designed for bibliography styles that require -abbreviated titles and is not for use in bibliographies that -require full-length titles. - -Support sites: -http://www.michaelshell.org/tex/ieeetran/ -http://www.ctan.org/pkg/ieeetran -and/or -http://www.ieee.org/ - -Special thanks to Laura Hyslop, Ken Rawson, Kevin Lisankie and -Mona Mittra of the IEEE for their help in obtaining the information needed -to compile this file. Also, Volker Kuhlmann, Moritz Borgmann, -Yannick Berker, Nicol�s Barabino, Chuanren Wu and Santiago Cogollos Borras -kindly provided some corrections and additions. - - -************************************************************************* -Legal Notice: -This code is offered as-is without any warranty either expressed or -implied; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE! -User assumes all risk. -In no event shall the IEEE or any contributor to this code be liable for -any damages or losses, including, but not limited to, incidental, -consequential, or any other damages, resulting from the use or misuse -of any information contained here. - -All comments are the opinions of their respective authors and are not -necessarily endorsed by the IEEE. - -This work is distributed under the LaTeX Project Public License (LPPL) -( http://www.latex-project.org/ ) version 1.3, and may be freely used, -distributed and modified. A copy of the LPPL, version 1.3, is included -in the base LaTeX documentation of all distributions of LaTeX released -2003/12/01 or later. -Retain all contribution notices and credits. -** Modified files should be clearly indicated as such, including ** -** renaming them and changing author support contact information. ** -************************************************************************* - - -USAGE: - -\bibliographystyle{mybstfile} -\bibliography{IEEEabrv,mybibfile} - -where the IEEE titles in the .bib database entries use the strings -defined here. e.g., - - - journal = IEEE_J_AC, - - -to yield "{IEEE} Trans. Automat. Contr." - - -The IEEE uses abbreviated journal titles in their bibliographies - -this file is suitable for work that is to be submitted to the IEEE. - -For work that requires full-length titles, you should use the full -titles provided in the companion file, IEEEfull.bib. - - -** NOTES ** - - 1. Journals have been grouped according to subject in order to make it - easier to locate and extract the definitions for related journals - - as most works use references that are confined to a single topic. - Magazines are listed in straight alphabetical order. - - 2. String names are closely based on IEEE's own internal acronyms. - - 3. Older, out-of-print IEEE titles are included (but not including titles - dating prior to the IEEE's formation from the IRE and AIEE in 1963). - - 4. Abbreviations comply with the official specifications of the IEEE. - - - - - - -IEEE Journals - - -aerospace and military -@STRING{IEEE_J_ANNE = "{IEEE} Trans. Aeronaut. Navig. Electron."} -@STRING{IEEE_J_AES = "{IEEE} Trans. Aerosp. Electron. Syst."} -@STRING{IEEE_J_ANE = "{IEEE} Trans. Aerosp. Navig. Electron."} -@STRING{IEEE_J_AS = "{IEEE} Trans. Aerosp."} -@STRING{IEEE_J_AIRE = "{IEEE} Trans. Airborne Electron."} -@STRING{IEEE_J_MIL = "{IEEE} Trans. Mil. Electron."} - - - -autos, transportation and vehicles (non-aerospace) -@STRING{IEEE_J_ITS = "{IEEE} Trans. Intell. Transp. Syst."} -@STRING{IEEE_J_IV = "{IEEE} Trans. Intell. Veh."} -@STRING{IEEE_J_TTE = "{IEEE} Trans. Transport. Electrific."} -@STRING{IEEE_J_VC = "{IEEE} Trans. Veh. Commun."} -@STRING{IEEE_J_VT = "{IEEE} Trans. Veh. Technol."} - - - -circuits, signals, systems, audio and controls -@STRING{IEEE_J_STSP = "{IEEE} J. Sel. Topics Signal Process."} -@STRING{IEEE_J_SPL = "{IEEE} Signal Process. Lett."} -@STRING{IEEE_J_SYST = "{IEEE} Syst. J."} -@STRING{IEEE_J_ASSP = "{IEEE} Trans. Acoust., Speech, Signal Process."} -@STRING{IEEE_J_AU = "{IEEE} Trans. Audio"} -@STRING{IEEE_J_AUEA = "{IEEE} Trans. Audio Electroacoust."} -in 2014 ASL became ASLP -@STRING{IEEE_J_ASLP = "{IEEE/ACM} Trans. Audio, Speech, Language Process."} -@STRING{IEEE_J_ASL = "{IEEE} Audio, Speech, Language Process."} -@STRING{IEEE_J_AC = "{IEEE} Trans. Autom. Control"} -@STRING{IEEE_J_CAS = "{IEEE} Trans. Circuits Syst."} -@STRING{IEEE_J_CASVT = "{IEEE} Trans. Circuits Syst. Video Technol."} -@STRING{IEEE_J_CASI = "{IEEE} Trans. Circuits Syst. {I}"} -@STRING{IEEE_J_CASII = "{IEEE} Trans. Circuits Syst. {II}"} -in 2004 CASI and CASII renamed part title to CASI_RP and CASII_EB, respectively -@STRING{IEEE_J_CASI_RP = "{IEEE} Trans. Circuits Syst. {I}"} -@STRING{IEEE_J_CASII_EB = "{IEEE} Trans. Circuits Syst. {II}"} -@STRING{IEEE_J_CT = "{IEEE} Trans. Circuit Theory"} -@STRING{IEEE_J_CST = "{IEEE} Trans. Control Syst. Technol."} -@STRING{IEEE_J_ETCAS = "{IEEE} Trans. Emerg. Sel. Topics Circuits Syst."} -@STRING{IEEE_J_SP = "{IEEE} Trans. Signal Process."} -@STRING{IEEE_J_SU = "{IEEE} Trans. Sonics Ultrason."} -@STRING{IEEE_J_SAP = "{IEEE} Trans. Speech Audio Process."} -@STRING{IEEE_J_UE = "{IEEE} Trans. Ultrason. Eng."} -@STRING{IEEE_J_UFFC = "{IEEE} Trans. Ultrason., Ferroelectr., Freq. Control"} - - - -communications -@STRING{IEEE_J_COML = "{IEEE} Commun. Lett."} -@STRING{IEEE_J_JSAC = "{IEEE} J. Sel. Areas Commun."} -@STRING{IEEE_J_COM = "{IEEE} Trans. Commun."} -@STRING{IEEE_J_COMT = "{IEEE} Trans. Commun. Technol."} -@STRING{IEEE_J_WCOM = "{IEEE} Trans. Wireless Commun."} -@STRING{IEEE_J_WCOML = "{IEEE} Wireless Commun. Lett."} - - - -components, packaging and manufacturing -@STRING{IEEE_J_ADVP = "{IEEE} Trans. Adv. Packag."} -@STRING{IEEE_J_CHMT = "{IEEE} Trans. Compon., Hybrids, Manuf. Technol."} -in 2011 CAPT became CPMT -@STRING{IEEE_J_CPMT = "{IEEE} Trans. Compon. Packag. Manuf. Technol."} -@STRING{IEEE_J_CPMTA = "{IEEE} Trans. Compon., Packag., Manuf. Technol. {A}"} -@STRING{IEEE_J_CPMTB = "{IEEE} Trans. Compon., Packag., Manuf. Technol. {B}"} -@STRING{IEEE_J_CPMTC = "{IEEE} Trans. Compon., Packag., Manuf. Technol. {C}"} -@STRING{IEEE_J_CAPTS = "{IEEE} Trans. Compon. Packag. Technol."} -@STRING{IEEE_J_CAPT = "{IEEE} Trans. Compon. Packag. Technol."} -@STRING{IEEE_J_CPART = "{IEEE} Trans. Compon. Parts"} -@STRING{IEEE_J_EPM = "{IEEE} Trans. Electron. Packag. Manuf."} -@STRING{IEEE_J_MFT = "{IEEE} Trans. Manuf. Technol."} -@STRING{IEEE_J_PHP = "{IEEE} Trans. Parts, Hybrids, Packag."} -@STRING{IEEE_J_PMP = "{IEEE} Trans. Parts, Mater., Packag."} - - - -CAD -@STRING{IEEE_J_TCAD = "{IEEE} J. Technol. Comput. Aided Design"} -@STRING{IEEE_J_CAD = "{IEEE} Trans. Comput.-Aided Design Integr. Circuits Syst."} - - - -coding, data, information, knowledge -@STRING{IEEE_J_BD = "{IEEE} Trans. Big Data"} -@STRING{IEEE_J_IFS = "{IEEE} Trans. Inf. Forensics Security"} -@STRING{IEEE_J_IT = "{IEEE} Trans. Inf. Theory"} -@STRING{IEEE_J_KDE = "{IEEE} Trans. Knowl. Data Eng."} - - - -computers, computation, networking and software -@STRING{IEEE_J_CAL = "{IEEE} Comput. Archit. Lett."} -@STRING{IEEE_J_ES = "{IEEE} Embedded Syst. Lett."} -@STRING{IEEE_J_IOT = "{IEEE} Internet Things J."} -@STRING{IEEE_J_XCDC = "{IEEE} J. Explor. Solid-State Computat. Devices Circuits"} -@STRING{IEEE_J_MMCT = "{IEEE} J. Multiscale and Multiphys. Comput. Techn."} -@STRING{IEEE_J_SUSC = "{IEEE} Sustain. Comput."} -@STRING{IEEE_J_CC = "{IEEE} Trans. on Cloud Comput."} -@STRING{IEEE_J_CSS = "{IEEE} Trans. Comput. Social Syst."} -@STRING{IEEE_J_C = "{IEEE} Trans. Comput."} -@STRING{IEEE_J_CNS = "{IEEE} Trans. Control Netw. Syst."} -@STRING{IEEE_J_DSC = "{IEEE} Trans. Depend. Sec. Comput."} -@STRING{IEEE_J_ECOMP = "{IEEE} Trans. Electron. Comput."} -@STRING{IEEE_J_ETC = "{IEEE} Trans. Emerg. Topics Comput."} -@STRING{IEEE_J_EVC = "{IEEE} Trans. Evol. Comput."} -@STRING{IEEE_J_FUZZ = "{IEEE} Trans. Fuzzy Syst."} -@STRING{IEEE_J_MC = "{IEEE} Trans. Mobile Comput."} -@STRING{IEEE_J_MSCS = "{IEEE} Trans. Multi-Scale Comput. Syst."} -@STRING{IEEE_J_NET = "{IEEE/ACM} Trans. Netw."} -@STRING{IEEE_J_NSE = "{IEEE} Trans. Netw. Sci. Eng."} -@STRING{IEEE_J_NSM = "{IEEE} Trans. Netw. Service Manag."} -@STRING{IEEE_J_NN = "{IEEE} Trans. Neural Netw."} -in 2012 NN became NNLS -@STRING{IEEE_J_NNLS = "{IEEE} Trans. Neural Netw. Learn. Syst."} -@STRING{IEEE_J_PDS = "{IEEE} Trans. Parallel Distrib. Syst."} -@STRING{IEEE_J_SC = "{IEEE} Trans. Serv. Comput."} -@STRING{IEEE_J_SIPN = "{IEEE} Trans. Signal Inf. Process. Netw."} -@STRING{IEEE_J_SE = "{IEEE} Trans. Softw. Eng."} - - - -computer graphics, imaging, and multimedia -@STRING{IEEE_J_JDT = "{IEEE/OSA} J. Display Technol."} -@STRING{IEEE_J_IP = "{IEEE} Trans. Image Process."} -@STRING{IEEE_J_MM = "{IEEE} Trans. Multimedia"} -@STRING{IEEE_J_VCG = "{IEEE} Trans. Vis. Comput. Graphics"} - - - -cybernetics, ergonomics, robots, man-machine, artificial intelligence and automation -@STRING{IEEE_J_JAS = "{IEEE/CAA} J. Autom. Sinica"} -@STRING{IEEE_J_JRA = "{IEEE} J. Robot. Autom."} -@STRING{IEEE_J_AFFC = "{IEEE} Trans. Affect. Comput."} -@STRING{IEEE_J_ASE = "{IEEE} Trans. Autom. Sci. Eng."} -@STRING{IEEE_J_AMD = "{IEEE} Trans. Auton. Mental Develop."} -@STRING{IEEE_J_CCN = "{IEEE} Trans. on Cogn. Commun. Netw."} -in 2015 AMD became CDS -@STRING{IEEE_J_CDS = "{IEEE} Trans. Cogn. Develop. Syst."} -@STRING{IEEE_J_CIAIG = "{IEEE} Trans. Comput. Intell. {AI} in Games"} -in 2013 SMCB became CYB -@STRING{IEEE_J_CYB = "{IEEE} Trans. Cybern."} -@STRING{IEEE_J_H = "{IEEE} Trans. Haptics"} -@STRING{IEEE_J_HFE = "{IEEE} Trans. Hum. Factors Electron."} -in 2013 SMCC became HMS -@STRING{IEEE_J_HMS = "{IEEE} Trans. Human-Mach. Syst."} -@STRING{IEEE_J_MMS = "{IEEE} Trans. Man-Mach. Syst."} -@STRING{IEEE_J_PAMI = "{IEEE} Trans. Pattern Anal. Mach. Intell."} -in 1989 JRA became RA -in August 2004, RA split into ASE and RO -@STRING{IEEE_J_RA = "{IEEE} Trans. Robot. Autom."} -@STRING{IEEE_J_RAL = "{IEEE} Robot. Autom. Lett."} -@STRING{IEEE_J_RO = "{IEEE} Trans. Robot."} -@STRING{IEEE_J_SMC = "{IEEE} Trans. Syst., Man, Cybern."} -@STRING{IEEE_J_SMCA = "{IEEE} Trans. Syst., Man, Cybern. {A}"} -@STRING{IEEE_J_SMCB = "{IEEE} Trans. Syst., Man, Cybern. {B}"} -@STRING{IEEE_J_SMCC = "{IEEE} Trans. Syst., Man, Cybern. {C}"} -in 2012 SMCA became SMCS -@STRING{IEEE_J_SMCS = "{IEEE} Trans. Syst., Man, Cybern., Syst."} -@STRING{IEEE_J_SSC = "{IEEE} Trans. Syst. Sci. Cybern."} - - - -earth, wind, fire and water -@STRING{IEEE_J_GRSL = "{IEEE} Geosci. Remote Sens. Lett."} -@STRING{IEEE_J_GE = "{IEEE} Trans. Geosci. Electron."} -@STRING{IEEE_J_GRS = "{IEEE} Trans. Geosci. Remote Sens."} -@STRING{IEEE_J_OE = "{IEEE} J. Ocean. Eng."} -@STRING{IEEE_J_STARS = "{IEEE} J. Sel. Topics Appl. Earth Observ. Remote Sens."} - - - -education, engineering, history, IEEE, professional -@STRING{IEEE_J_CJECE = "Canadian J. Elect. Comput. Eng."} -@STRING{IEEE_J_PROC = "Proc. {IEEE}"} -@STRING{IEEE_J_RITA = "{IEEE} Revista Iberoamericana de Technolog{\'{i}}as del Aprendizaje"} -@STRING{IEEE_J_EDU = "{IEEE} Trans. Educ."} -@STRING{IEEE_J_EM = "{IEEE} Trans. Eng. Manag."} -@STRING{IEEE_J_EWS = "{IEEE} Trans. Eng. Writing Speech"} -@STRING{IEEE_J_LT = "{IEEE} Trans. Learn. Technol."} -@STRING{IEEE_J_PC = "{IEEE} Trans. Prof. Commun."} - - - -electromagnetics, antennas, EMI, magnetics and microwave -@STRING{IEEE_J_AWPL = "{IEEE} Antennas Wireless Propag. Lett."} -@STRING{IEEE_J_MAGL = "{IEEE} Magn. Lett."} -@STRING{IEEE_J_MGWL = "{IEEE} Microw. Guided Wave Lett."} -@STRING{IEEE_J_MWCL = "{IEEE} Microw. Wireless Compon. Lett."} -@STRING{IEEE_J_RFIC = "{IEEE} {RFIC} J."} -@STRING{IEEE_J_RFID = "{IEEE} {RFID} J."} -@STRING{IEEE_J_AP = "{IEEE} Trans. Antennas Propag."} -@STRING{IEEE_J_EMC = "{IEEE} Trans. Electromagn. Compat."} -@STRING{IEEE_J_MAG = "{IEEE} Trans. Magn."} -@STRING{IEEE_J_MTT = "{IEEE} Trans. Microw. Theory Techn."} -@STRING{IEEE_J_RFI = "{IEEE} Trans. Radio Freq. Interference"} -@STRING{IEEE_J_TTHZ = "{IEEE} Trans. {THz} Sci. Technol."} -@STRING{IEEE_J_TJMJ = "{IEEE} Transl. J. Magn. Jpn."} - - - -energy, power and conversion -@STRING{IEEE_J_PHOT = "{IEEE} J. Photovolt."} -@STRING{IEEE_J_PEL = "{IEEE} Power Electron. Lett."} -@STRING{IEEE_J_PETS = "{IEEE} Power Energy Technol. Syst. J."} -@STRING{IEEE_J_ESTPE = "{IEEE} Trans. Emerg. Sel. Topics Power Electron."} -@STRING{IEEE_J_EC = "{IEEE} Trans. Energy Convers."} -@STRING{IEEE_J_PWRAS = "{IEEE} Trans. Power App. Syst."} -@STRING{IEEE_J_PWRD = "{IEEE} Trans. Power Del."} -@STRING{IEEE_J_PWRE = "{IEEE} Trans. Power Electron."} -@STRING{IEEE_J_PWRS = "{IEEE} Trans. Power Syst."} -@STRING{IEEE_J_SG = "{IEEE} Trans. Smart Grid"} -@STRING{IEEE_J_STE = "{IEEE} Trans. Sustain. Energy"} - - - -industrial, commercial and consumer -@STRING{IEEE_J_PSE = "{IEEE} J. Product Safety Eng."} -@STRING{IEEE_J_APPIND = "{IEEE} Trans. Appl. Ind."} -@STRING{IEEE_J_BC = "{IEEE} Trans. Broadcast."} -@STRING{IEEE_J_BCTV = "{IEEE} Trans. Broadcast Television Receivers"} -@STRING{IEEE_J_CE = "{IEEE} Trans. Consum. Electron."} -@STRING{IEEE_J_IE = "{IEEE} Trans. Ind. Electron."} -@STRING{IEEE_J_IECI = "{IEEE} Trans. Ind. Electron. Contr. Instrum."} -@STRING{IEEE_J_IA = "{IEEE} Trans. Ind. Appl."} -@STRING{IEEE_J_IGA = "{IEEE} Trans. Ind. Gen. Appl."} -@STRING{IEEE_J_IINF = "{IEEE} Trans. Ind. Informat."} - - - -instrumentation and measurement -@STRING{IEEE_J_IM = "{IEEE} Trans. Instrum. Meas."} - - - -insulation and materials -@STRING{IEEE_J_JEM = "{IEEE/TMS} J. Electron. Mater."} -@STRING{IEEE_J_DEI = "{IEEE} Trans. Dielectr. Electr. Insul."} -@STRING{IEEE_J_EI = "{IEEE} Trans. Electr. Insul."} - - - -mechanical -@STRING{IEEE_J_MEMS = "J. Microelectromech. Syst."} -in 2014 MEMS became MEMSI -@STRING{IEEE_J_MEMSI = "J. Microelectromech. Syst."} -@STRING{IEEE_J_MECH = "{IEEE/ASME} Trans. Mechatronics"} - - - -medical and biological -@STRING{IEEE_J_BHI = "{IEEE} J. Biomed. Health Inform."} -@STRING{IEEE_J_TEHM = "{IEEE} J. Transl. Eng. Health Med."} -@STRING{IEEE_J_LS = "{IEEE} Life Sci. Lett."} -@STRING{IEEE_J_RBME = "{IEEE} Rev. Biomed. Eng."} -@STRING{IEEE_J_BCAS = "{IEEE} Trans. Biomed. Circuits Syst."} -@STRING{IEEE_J_BMELC = "{IEEE} Trans. Bio-Med. Electron."} -B-ME later dropped the hyphen and became the BME -@STRING{IEEE_J_BME = "{IEEE} Trans. Biomed. Eng."} -@STRING{IEEE_J_B-ME = "{IEEE} Trans. Bio-Med. Eng."} -@STRING{IEEE_J_CBB = "{IEEE/ACM} Trans. Comput. Biol. Bioinformatics"} -@STRING{IEEE_J_ITBM = "{IEEE} Trans. Inf. Technol. Biomed."} -@STRING{IEEE_J_ME = "{IEEE} Trans. Med. Electron."} -@STRING{IEEE_J_MI = "{IEEE} Trans. Med. Imag."} -@STRING{IEEE_J_MBSC = "{IEEE} Trans. Mol. Biol. Multi-Scale Commun."} -@STRING{IEEE_J_NB = "{IEEE} Trans. Nanobiosci."} -@STRING{IEEE_J_NSRE = "{IEEE} Trans. Neural Syst. Rehabil. Eng."} -@STRING{IEEE_J_RE = "{IEEE} Trans. Rehabil. Eng."} - - - -optics, lightwave and photonics -@STRING{IEEE_J_JLT = "J. Lightw. Technol."} -@STRING{IEEE_J_OCN = "{IEEE} J. Opt. Commun. Netw."} -@STRING{IEEE_J_PJ = "{IEEE} Photon. J."} -@STRING{IEEE_J_PTL = "{IEEE} Photon. Technol. Lett."} - - - -physics, electrons, nanotechnology, nuclear and quantum electronics -@STRING{IEEE_J_EDL = "{IEEE} Electron Device Lett."} -@STRING{IEEE_J_EDS = "{IEEE} J. Electron Devices Soc."} -@STRING{IEEE_J_JQE = "{IEEE} J. Quantum Electron."} -@STRING{IEEE_J_JSTQE = "{IEEE} J. Sel. Topics Quantum Electron."} -@STRING{IEEE_J_ENANO = "{IEEE} Nanotechnol. Express"} -@STRING{IEEE_J_ED = "{IEEE} Trans. Electron Devices"} -@STRING{IEEE_J_NANO = "{IEEE} Trans. Nanotechnol."} -@STRING{IEEE_J_NS = "{IEEE} Trans. Nucl. Sci."} -@STRING{IEEE_J_PS = "{IEEE} Trans. Plasma Sci."} - - - -reliability -@STRING{IEEE_J_DMR = "{IEEE} Trans. Device Mater. Rel."} -@STRING{IEEE_J_R = "{IEEE} Trans. Rel."} - - - -semiconductors, superconductors, electrochemical and solid state -@STRING{IEEE_J_ESSL = "{IEEE/ECS} Electrochem. Solid-State Lett."} -@STRING{IEEE_J_JSSC = "{IEEE} J. Solid-State Circuits"} -@STRING{IEEE_J_ASC = "{IEEE} Trans. Appl. Supercond."} -@STRING{IEEE_J_SM = "{IEEE} Trans. Semicond. Manuf."} - - - -sensors -@STRING{IEEE_J_SENSOR = "{IEEE} Sensors J."} - - - -VLSI -@STRING{IEEE_J_VLSI = "{IEEE} Trans. {VLSI} Syst."} - - - - - - -IEEE Magazines and Online Publications - - -@STRING{IEEE_O_ACC = "{IEEE} Access"} -@STRING{IEEE_M_AES = "{IEEE} Aerosp. Electron. Syst. Mag."} -@STRING{IEEE_M_HIST = "{IEEE} Ann. Hist. Comput."} -@STRING{IEEE_M_AP = "{IEEE} Antennas Propag. Mag."} -@STRING{IEEE_M_ASSP = "{IEEE} {ASSP} Mag."} -@STRING{IEEE_M_CHINAC = "China Commun."} -@STRING{IEEE_M_CD = "{IEEE} Circuits Devices Mag."} -@STRING{IEEE_M_CAS = "{IEEE} Circuits Syst. Mag."} -@STRING{IEEE_M_COM = "{IEEE} Commun. Mag."} -@STRING{IEEE_M_COMSOC = "{IEEE} Commun. Soc. Mag."} -@STRING{IEEE_O_CSTO = "{IEEE} Commun. Surveys Tuts."} -@STRING{IEEE_M_CIM = "{IEEE} Comput. Intell. Mag."} -CSEM changed to CSE in 1999 -@STRING{IEEE_M_CSE = "{IEEE} Comput. Sci. Eng."} -@STRING{IEEE_M_CSEM = "{IEEE} Comput. Sci. Eng. Mag."} -@STRING{IEEE_M_C = "Computer"} -@STRING{IEEE_M_CAP = "{IEEE} Comput. Appl. Power"} -@STRING{IEEE_M_CGA = "{IEEE} Comput. Graph. Appl."} -@STRING{IEEE_M_CONC = "{IEEE} Concurrency"} -@STRING{IEEE_M_CS = "{IEEE} Control Syst. Mag."} -in 2012 DTC became DT -@STRING{IEEE_M_DT = "{IEEE} Des. Test"} -@STRING{IEEE_M_DTC = "{IEEE} Des. Test. Comput."} -@STRING{IEEE_O_DSO = "{IEEE} Distrib. Syst. Online"} -@STRING{IEEE_M_EI = "{IEEE} Electr. Insul. Mag."} -@STRING{IEEE_M_ETF = "{IEEE} Electrific. Mag."} -@STRING{IEEE_M_EMC = "{IEEE} Electromagn. Compat."} -@STRING{IEEE_M_ETR = "{IEEE} ElectroTechnol. Rev."} -@STRING{IEEE_M_EMR = "{IEEE} Eng. Manag. Rev."} -@STRING{IEEE_M_EMB = "{IEEE} Eng. Med. Biol. Mag."} -@STRING{IEEE_M_EXP = "{IEEE} Expert"} -@STRING{IEEE_M_GRS = "{IEEE} Geosci. Remote Sens. Mag."} -@STRING{IEEE_M_IA = "{IEEE} Ind. Appl. Mag."} -@STRING{IEEE_M_IE = "{IEEE} Ind. Electron. Mag."} -@STRING{IEEE_M_IM = "{IEEE} Instrum. Meas. Mag."} -@STRING{IEEE_M_IS = "{IEEE} Intell. Syst."} -@STRING{IEEE_M_ITS = "{IEEE} Intell. Transp. Syst. Mag."} -@STRING{IEEE_M_IC = "{IEEE} Internet Comput."} -@STRING{IEEE_M_ITP = "{IEEE} {IT} Prof."} -@STRING{IEEE_M_MICRO = "{IEEE} Micro"} -@STRING{IEEE_M_MW = "{IEEE} Microw. Mag."} -@STRING{IEEE_M_MM = "{IEEE} Multimedia"} -@STRING{IEEE_M_NANO = "{IEEE} Nanotechnol. Mag."} -@STRING{IEEE_M_NET = "{IEEE} Netw."} -IEEE's editorial manual lists "Pers. Commun.", -but "Personal Commun. Mag." seems to be what is used in the journals -@STRING{IEEE_M_PCOM = "{IEEE} Personal Commun. Mag."} -@STRING{IEEE_M_PVC = "{IEEE} Pervasive Comput."} -@STRING{IEEE_M_POT = "{IEEE} Potentials"} -@STRING{IEEE_M_PEL = "{IEEE} Power Electron. Mag."} -CAP and PER merged to form PE in 2003 -@STRING{IEEE_M_PE = "{IEEE} Power Energy Mag."} -@STRING{IEEE_M_PER = "{IEEE} Power Eng. Rev."} -@STRING{IEEE_M_PULSE = "{IEEE} Pulse"} -@STRING{IEEE_M_RA = "{IEEE} Robot. Autom. Mag."} -@STRING{IEEE_M_SAP = "{IEEE} Security Privacy"} -@STRING{IEEE_M_SP = "{IEEE} Signal Process. Mag."} -@STRING{IEEE_M_S = "{IEEE} Softw."} -@STRING{IEEE_M_SSC = "{IEEE} Solid-State Circuits Mag."} -@STRING{IEEE_M_SPECT = "{IEEE} Spectr."} -@STRING{IEEE_M_SMC = "{IEEE} Syst., Man, Cybern. Mag."} -@STRING{IEEE_M_TS = "{IEEE} Technol. Soc. Mag."} -@STRING{IEEE_M_VT = "{IEEE} Veh. Technol. Mag."} -@STRING{IEEE_M_WC = "{IEEE} Wireless Commun."} -@STRING{IEEE_M_TODAY = "Today's Engineer"} - - - - - --- -EOF From 81120b3f897b507c620dee1eda2468ce049b507d Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 16:54:05 +0100 Subject: [PATCH 08/31] Missing comma in description file --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 75da3f406..b1660f39a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -50,7 +50,7 @@ Authors@R: c( person("Matthias", "Templ", role = c("ctb"), email = "matthias.templ@gmail.com", comment = c(ORCID = "0000-0002-8638-5276", github = "matthias-da")), person("Alvaro", "Uzaheta", role = c("ctb"), email = "alvaro.uzaheta@gess.ethz.ch", comment = c(github = "auzaheta")), person("JooYoung", "Seo", role=c("ctb"), email="jseo1005@illinois.edu", comment = c(ORCID = "0000-0002-4064-6012")), - person("Karel", "Kroeze", role = c("ctb"), email = "karel.kroeze@gmail.com" comment = c(ORCID = "0000-0002-7000-7377", github = "karel-kroeze")) + person("Karel", "Kroeze", role = c("ctb"), email = "karel.kroeze@gmail.com", comment = c(ORCID = "0000-0002-7000-7377", github = "karel-kroeze")) ) Description: A suite of custom R Markdown formats and templates for authoring journal articles and conference submissions. From fe30daf4331d74a17723336f6f94ccf78263ae41 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 17:56:28 +0100 Subject: [PATCH 09/31] Add the number_section default logic in the R function --- R/ieee_article.R | 15 +++++++++++++++ .../templates/ieee/resources/template.tex | 4 +--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/R/ieee_article.R b/R/ieee_article.R index 72114610a..f388f0e72 100644 --- a/R/ieee_article.R +++ b/R/ieee_article.R @@ -13,6 +13,9 @@ #' `"draftcls"`, or `"draftclsnofoot"`. #' @param hyphenfixes A `character` value that provides the correct #' hyphenations for ambiguous words. Separate new words with spaces. +#' @param journal Running Header to use for a journal paper. When set, +#' classoption `journal` will be used instead of `conference`. +#' `number_sections` will also default to `TRUE` in this case. #' @param IEEEspecialpaper A `character` value containing the publication's #' special paper designation. #' @param with_ifpdf A `logical` value turning on (`TRUE`) or off @@ -40,6 +43,7 @@ ieee_article <- function( draftmode = c("final", "draft", "draftcls", "draftclsnofoot"), hyphenfixes = "op-tical net-works semi-conduc-tor", + journal = NULL, IEEEspecialpaper = "", with_ifpdf = FALSE, with_cite = FALSE, @@ -51,6 +55,7 @@ ieee_article <- function( keep_tex = TRUE, pandoc_args = NULL, md_extensions = c("-autolink_bare_uris"), + number_sections = FALSE, ... ) { @@ -61,6 +66,15 @@ ieee_article <- function( args <- c(args, "hyphenfixes" = hyphenfixes) + + # Some check when journal mode is set + if (!is.null(journal)) { + # Add as Pandoc's variable + args <- c(args, "journal" = journal) + # activate number_section by default + if(missing(number_sections)) number_sections <- TRUE + } + # Avoid declaration of pandoc variable if field is empty if (nchar(IEEEspecialpaper) > 1) { args <- c(args, "IEEEspecialpaper" = IEEEspecialpaper) @@ -84,6 +98,7 @@ ieee_article <- function( pdf_document_format( "ieee", pandoc_args = c(pandoc_arg_list, pandoc_args), keep_tex = keep_tex, md_extensions = md_extensions, + number_sections = number_sections, ... ) } diff --git a/inst/rmarkdown/templates/ieee/resources/template.tex b/inst/rmarkdown/templates/ieee/resources/template.tex index 81921ed54..29356be2c 100644 --- a/inst/rmarkdown/templates/ieee/resources/template.tex +++ b/inst/rmarkdown/templates/ieee/resources/template.tex @@ -386,11 +386,9 @@ breaklinks=true} \urlstyle{same} % don't use monospace font for urls -% Pandoc toggle for numbering sections (defaults to be off in conference, on in journal) +% Pandoc toggle for numbering sections $if(numbersections)$ \setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} -$elseif(journal)$ -\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} $else$ \setcounter{secnumdepth}{0} $endif$ From d73b061d8541ba887365b75e6a71b4c10635f6d5 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 18:02:11 +0100 Subject: [PATCH 10/31] Precise the message --- inst/rmarkdown/templates/ieee/resources/template.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/rmarkdown/templates/ieee/resources/template.tex b/inst/rmarkdown/templates/ieee/resources/template.tex index 29356be2c..b627c0c4d 100644 --- a/inst/rmarkdown/templates/ieee/resources/template.tex +++ b/inst/rmarkdown/templates/ieee/resources/template.tex @@ -461,7 +461,7 @@ $if(affiliation.thanks)$$for(affiliation.thanks)$\thanks{$affiliation.thanks$}$endfor$$endif$ } $else$ -$~$!!! Only 'affiliation.author' is supported for the journal mode.$~$ +$~$!!! Only 'affiliation.author' syntax is supported for the journal mode. Modify you YAML header accordingly.$~$ $endif$ \markboth{$journal$$~$, Vol. XX, No. X, XXXXXX 20XX$~$}% From f9db267a4329d2cd1ec10bc72261cfbf2743afc3 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 18:13:50 +0100 Subject: [PATCH 11/31] Adapt skeleton to new journal mode toggling --- inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd index 3dcc87c11..57675aa70 100644 --- a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd @@ -1,13 +1,6 @@ --- title: Bare Demo of IEEEtran.cls for IEEE Conferences & Journals -## Either conference OR journal should be set; -## for `conference` the value makes no difference, for `journal` you should set the -## title of the journal you're publishing with, as it will be used in running headers. -## if neither are set, the document defaults to conference mode. -# conference: true -journal: IEEE Transactions on Learning Technology ## specify journal for page headers - affiliation: ## use one only of the following # author-columnar: true ## one column per author @@ -116,7 +109,11 @@ link-citations: true bibliography: mybibfile.bib -output: rticles::ieee_article +output: + rticles::ieee_article: + with_amsmath: true + ## Activate journal mode and specify journal for page headers + # journal: IEEE Transactions on Learning Technology --- Introduction From c5f4fb92f9122259a7fd9ea9b00c94ced514092c Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 18:17:34 +0100 Subject: [PATCH 12/31] Move variable definition in function as it is supported --- .../templates/ieee/skeleton/skeleton.Rmd | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd index 57675aa70..9d5dc14a2 100644 --- a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd @@ -84,16 +84,6 @@ abstract: | The abstract goes here. On multiple lines eventually. -# use some specific Tex packages if needed. -# with_ifpdf: true -# with_cite: true -# amsmath need to be true to use with bookdown for referencing equations. -with_amsmath: true -# with_algorithmic: true -# with_array: true -# with_dblfloatfix: true - - ## If you're using latex style \cite commands, choose the backend you want to use. # natbib: true # biblatex: true @@ -114,6 +104,14 @@ output: with_amsmath: true ## Activate journal mode and specify journal for page headers # journal: IEEE Transactions on Learning Technology + # use some specific Tex packages if needed. (see ?rticles::ieee_article()) + # with_ifpdf: true + # with_cite: true + with_amsmath: true # amsmath need to be true to use with bookdown for referencing equations. + # with_algorithmic: true + # with_subfig: true + # with_array: true + # with_dblfloatfix: true --- Introduction From 2580457cf6a6d65a33192a85fdf8040c4d170ed7 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 18:17:50 +0100 Subject: [PATCH 13/31] comment out journal mode only YAML param --- inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd index 9d5dc14a2..2f5673636 100644 --- a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd @@ -73,11 +73,11 @@ affiliation: - name: Roy Batty email: roy@replicant.offworld - # ## used only in journal mode for author affiliations and other acknowledgements - thanks: - - "E. Tyrell and R. Batty are with Starfleet Academy." - - "M. Shell was with the Department of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, GA, 30332 USA e-mail: (see http://www.michaelshell.org/contact.html)." - - "Manuscript received February 17, 2021; revised June 6, 2021." + ## used only in journal mode for author affiliations and other acknowledgements + # thanks: + # - "E. Tyrell and R. Batty are with Starfleet Academy." + # - "M. Shell was with the Department of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, GA, 30332 USA e-mail: (see http://www.michaelshell.org/contact.html)." + # - "Manuscript received February 17, 2021; revised June 6, 2021." keywords: ["keyword 1", "keyword 2"] abstract: | From c5e813dbdca60aaa8c92955099a752d6b7547c67 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 18:30:28 +0100 Subject: [PATCH 14/31] Use the CSL as url --- .../templates/ieee/skeleton/ieee.csl | 400 ------------------ .../templates/ieee/skeleton/skeleton.Rmd | 5 +- 2 files changed, 2 insertions(+), 403 deletions(-) delete mode 100644 inst/rmarkdown/templates/ieee/skeleton/ieee.csl diff --git a/inst/rmarkdown/templates/ieee/skeleton/ieee.csl b/inst/rmarkdown/templates/ieee/skeleton/ieee.csl deleted file mode 100644 index 0f6a06420..000000000 --- a/inst/rmarkdown/templates/ieee/skeleton/ieee.csl +++ /dev/null @@ -1,400 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only"> - <info> - <title>IEEE</title> - <id>http://www.zotero.org/styles/ieee</id> - <link href="http://www.zotero.org/styles/ieee" rel="self"/> - <link href="https://ieeeauthorcenter.ieee.org/wp-content/uploads/IEEE-Reference-Guide.pdf" rel="documentation"/> - <link href="https://journals.ieeeauthorcenter.ieee.org/your-role-in-article-production/ieee-editorial-style-manual/" rel="documentation"/> - <author> - <name>Michael Berkowitz</name> - <email>mberkowi@gmu.edu</email> - </author> - <contributor> - <name>Julian Onions</name> - <email>julian.onions@gmail.com</email> - </contributor> - <contributor> - <name>Rintze Zelle</name> - <uri>http://twitter.com/rintzezelle</uri> - </contributor> - <contributor> - <name>Stephen Frank</name> - <uri>http://www.zotero.org/sfrank</uri> - </contributor> - <contributor> - <name>Sebastian Karcher</name> - </contributor> - <contributor> - <name>Giuseppe Silano</name> - <email>g.silano89@gmail.com</email> - <uri>http://giuseppesilano.net</uri> - </contributor> - <contributor> - <name>Patrick O'Brien</name> - </contributor> - <contributor> - <name>Brenton M. Wiernik</name> - </contributor> - <category citation-format="numeric"/> - <category field="engineering"/> - <category field="generic-base"/> - <summary>IEEE style as per the 2018 guidelines, V 11.12.2018.</summary> - <updated>2019-12-20T09:14:19+00:00</updated> - <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights> - </info> - <locale xml:lang="en"> - <terms> - <term name="chapter" form="short">ch.</term> - <term name="presented at">presented at the</term> - <term name="available at">available</term> - </terms> - </locale> - <!-- Macros --> - <macro name="status"> - <choose> - <if variable="page issue volume" match="none"> - <text variable="status" text-case="capitalize-first" suffix="" font-weight="bold"/> - </if> - </choose> - </macro> - <macro name="edition"> - <choose> - <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any"> - <choose> - <if is-numeric="edition"> - <group delimiter=" "> - <number variable="edition" form="ordinal"/> - <text term="edition" form="short"/> - </group> - </if> - <else> - <text variable="edition" text-case="capitalize-first" suffix="."/> - </else> - </choose> - </if> - </choose> - </macro> - <macro name="issued"> - <choose> - <if type="article-journal report" match="any"> - <date variable="issued"> - <date-part name="month" form="short" suffix=" "/> - <date-part name="year" form="long"/> - </date> - </if> - <else-if type="bill book chapter graphic legal_case legislation motion_picture song thesis" match="any"> - <date variable="issued"> - <date-part name="year" form="long"/> - </date> - </else-if> - <else-if type="paper-conference" match="any"> - <date variable="issued"> - <date-part name="month" form="short"/> - <date-part name="year" prefix=" "/> - </date> - </else-if> - <else> - <date variable="issued"> - <date-part name="month" form="short" suffix=" "/> - <date-part name="day" form="numeric-leading-zeros" suffix=", "/> - <date-part name="year"/> - </date> - </else> - </choose> - </macro> - <macro name="author"> - <names variable="author"> - <name and="text" et-al-min="7" et-al-use-first="1" initialize-with=". "/> - <label form="short" prefix=", " text-case="capitalize-first"/> - <et-al font-style="italic"/> - <substitute> - <names variable="editor"/> - <names variable="translator"/> - </substitute> - </names> - </macro> - <macro name="editor"> - <names variable="editor"> - <name initialize-with=". " delimiter=", " and="text"/> - <label form="short" prefix=", " text-case="capitalize-first"/> - </names> - </macro> - <macro name="locators"> - <group delimiter=", "> - <text macro="edition"/> - <group delimiter=" "> - <text term="volume" form="short"/> - <number variable="volume" form="numeric"/> - </group> - <group delimiter=" "> - <number variable="number-of-volumes" form="numeric"/> - <text term="volume" form="short" plural="true"/> - </group> - <group delimiter=" "> - <text term="issue" form="short"/> - <number variable="issue" form="numeric"/> - </group> - </group> - </macro> - <macro name="title"> - <choose> - <if type="bill book graphic legal_case legislation motion_picture song" match="any"> - <text variable="title" font-style="italic"/> - </if> - <else> - <text variable="title" quotes="true"/> - </else> - </choose> - </macro> - <macro name="publisher"> - <choose> - <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference song" match="any"> - <group delimiter=": "> - <text variable="publisher-place"/> - <text variable="publisher"/> - </group> - </if> - <else> - <group delimiter=", "> - <text variable="publisher"/> - <text variable="publisher-place"/> - </group> - </else> - </choose> - </macro> - <macro name="event"> - <choose> - <if type="paper-conference speech" match="any"> - <choose> - <!-- Published Conference Paper --> - <if variable="collection-editor editor editorial-director issue page volume" match="any"> - <group delimiter=", "> - <group delimiter=" "> - <text term="in"/> - <text variable="container-title" font-style="italic"/> - </group> - <text variable="event-place"/> - </group> - </if> - <!-- Unpublished Conference Paper --> - <else> - <group delimiter=", "> - <group delimiter=" "> - <text term="presented at"/> - <text variable="event"/> - </group> - <text variable="event-place"/> - </group> - </else> - </choose> - </if> - </choose> - </macro> - <macro name="access"> - <choose> - <if type="webpage post post-weblog" match="any"> - <choose> - <if variable="URL"> - <group delimiter=" "> - <text variable="URL"/> - <group delimiter=" " prefix="(" suffix=")"> - <text term="accessed"/> - <date variable="accessed"> - <date-part name="month" form="short" strip-periods="false"/> - <date-part name="day" form="numeric-leading-zeros" prefix=" " suffix=", "/> - <date-part name="year" form="long"/> - </date> - </group> - </group> - </if> - </choose> - </if> - <else-if match="any" variable="DOI"> - <text variable="DOI" prefix="doi: "/> - </else-if> - <else> - <group delimiter=". "> - <group delimiter=": "> - <text term="accessed" text-case="capitalize-first"/> - <date variable="accessed"> - <date-part name="month" form="short" suffix=" "/> - <date-part name="day" form="numeric-leading-zeros" suffix=", "/> - <date-part name="year"/> - </date> - </group> - <text term="online" prefix="[" suffix="]" text-case="capitalize-first"/> - <group delimiter=": "> - <text term="available at" text-case="capitalize-first"/> - <text variable="URL"/> - </group> - </group> - </else> - </choose> - </macro> - <macro name="page"> - <choose> - <if type="article-journal" variable="number" match="all"> - <group delimiter=" "> - <text value="Art."/> - <text term="issue" form="short"/> - <text variable="number"/> - </group> - </if> - <else> - <group delimiter=" "> - <label variable="page" form="short"/> - <text variable="page"/> - </group> - </else> - </choose> - </macro> - <macro name="citation-locator"> - <group delimiter=" "> - <choose> - <if locator="page"> - <label variable="locator" form="short"/> - </if> - <else> - <label variable="locator" form="short" text-case="capitalize-first"/> - </else> - </choose> - <text variable="locator"/> - </group> - </macro> - <!-- Citation --> - <citation collapse="citation-number"> - <sort> - <key variable="citation-number"/> - </sort> - <layout delimiter=", "> - <group prefix="[" suffix="]" delimiter=", "> - <text variable="citation-number"/> - <text macro="citation-locator"/> - </group> - </layout> - </citation> - <!-- Bibliography --> - <bibliography entry-spacing="0" second-field-align="flush"> - <layout suffix="."> - <!-- Citation Number --> - <text variable="citation-number" prefix="[" suffix="]"/> - <!-- Author(s) --> - <text macro="author" suffix=", "/> - <!-- Rest of Citation --> - <choose> - <!-- Specific Formats --> - <if type="article-journal"> - <group delimiter=", "> - <text macro="title"/> - <text variable="container-title" font-style="italic" form="short"/> - <text macro="locators"/> - <text macro="page"/> - <text macro="issued"/> - <text macro="status"/> - <text macro="access"/> - </group> - </if> - <else-if type="paper-conference speech" match="any"> - <group delimiter=", "> - <text macro="title"/> - <text macro="event"/> - <text macro="issued"/> - <text macro="locators"/> - <text macro="page"/> - <text macro="status"/> - <text macro="access"/> - </group> - </else-if> - <else-if type="report"> - <group delimiter=". "> - <group delimiter=", "> - <text macro="title"/> - <text macro="publisher"/> - <group delimiter=" "> - <text variable="genre"/> - <text variable="number"/> - </group> - <text macro="issued"/> - </group> - <text macro="access"/> - </group> - </else-if> - <else-if type="thesis"> - <group delimiter=", "> - <text macro="title"/> - <text variable="genre"/> - <text macro="publisher"/> - <text macro="issued"/> - </group> - </else-if> - <else-if type="webpage post-weblog post" match="any"> - <group delimiter=", " suffix=". "> - <text macro="title"/> - <text variable="container-title" font-style="italic"/> - <text macro="issued"/> - </group> - <text macro="access"/> - </else-if> - <else-if type="patent"> - <group delimiter=", "> - <text macro="title"/> - <text variable="number"/> - <text macro="issued"/> - </group> - </else-if> - <!-- Generic/Fallback Formats --> - <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any"> - <group delimiter=", " suffix=". "> - <text macro="title"/> - <text macro="locators"/> - </group> - <group delimiter=", "> - <text macro="publisher"/> - <text macro="issued"/> - <text macro="page"/> - </group> - </else-if> - <else-if type="article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage" match="any"> - <group delimiter=", "> - <text macro="title"/> - <text variable="container-title" font-style="italic"/> - <text macro="locators"/> - <text macro="publisher"/> - <text macro="page"/> - <text macro="issued"/> - </group> - </else-if> - <else-if type="chapter paper-conference" match="any"> - <group delimiter=", " suffix=", "> - <text macro="title"/> - <group delimiter=" "> - <text term="in"/> - <text variable="container-title" font-style="italic"/> - </group> - <text macro="locators"/> - </group> - <text macro="editor" suffix=" "/> - <group delimiter=", "> - <text macro="publisher"/> - <text macro="issued"/> - <text macro="page"/> - </group> - </else-if> - <else> - <group delimiter=", " suffix=". "> - <text macro="title"/> - <text variable="container-title" font-style="italic"/> - <text macro="locators"/> - </group> - <group delimiter=", "> - <text macro="publisher"/> - <text macro="page"/> - <text macro="issued"/> - <text macro="access"/> - </group> - </else> - </choose> - </layout> - </bibliography> -</style> diff --git a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd index 2f5673636..98d0c2522 100644 --- a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd @@ -89,10 +89,9 @@ abstract: | # biblatex: true # citation_sorting: none ## used as sorting option of the biblatex package (if selected) -## If you're using pandoc style @cite commands, these options set the correct +## When using pandoc for citation processing (the default), these options set the correct ## citation style, and add links to citations. -## Note that this bypasses latex packages that alter citations, e.g. hyperref. -citation-style: ieee +csl: https://www.zotero.org/styles/ieee # download locally if needed. link-citations: true ## bibliography file(s) From a7020e53d24c08627b42b70a73ab69710e765202 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 18:31:02 +0100 Subject: [PATCH 15/31] Adapt the affiliation section --- inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd index 98d0c2522..ca7498ddb 100644 --- a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd @@ -2,9 +2,9 @@ title: Bare Demo of IEEEtran.cls for IEEE Conferences & Journals affiliation: - ## use one only of the following + ## use one only of the following - only relevant in conference mode and ignored in journal mode # author-columnar: true ## one column per author - institution-columnar: true ## one column per institution (multiple autors eventually) + institution-columnar: true ## one column per institution (multiple authors eventually) # wide: true ## one column wide author/affiliation fields ## A custom author ordering field that breaks institution grouping. @@ -22,11 +22,11 @@ affiliation: mark: 4 email: roy@replicant.offworld last: true ## mark the last author so that we can insert `and` - ## at the appropriate place. - + ## at the appropriate place. ## Put authors in a given order, with multiline possibility. - ## Authors cited in institution are ignored if exists + ## Authors cited in institution are ignored if exists. + ## Only relevant in conference mode. #author_multiline: # - line: ## Create a new author line # - name: Michael Shell From 365ead0d10661e07c15cef3957c04353d0a12cbc Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 18:31:22 +0100 Subject: [PATCH 16/31] Show how to use the pandoc variable instead --- inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd index ca7498ddb..fb9ca6e17 100644 --- a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd @@ -84,10 +84,8 @@ abstract: | The abstract goes here. On multiple lines eventually. -## If you're using latex style \cite commands, choose the backend you want to use. -# natbib: true -# biblatex: true -# citation_sorting: none ## used as sorting option of the biblatex package (if selected) +## Example of option for biblatex +# biblatexoptions: sorting=none ## When using pandoc for citation processing (the default), these options set the correct ## citation style, and add links to citations. From 5bbead19acaebf2e8fc09433ab8f92805add523b Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 18:31:37 +0100 Subject: [PATCH 17/31] remove duplicate argument --- inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd | 1 - 1 file changed, 1 deletion(-) diff --git a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd index fb9ca6e17..275083e18 100644 --- a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd @@ -98,7 +98,6 @@ bibliography: mybibfile.bib output: rticles::ieee_article: - with_amsmath: true ## Activate journal mode and specify journal for page headers # journal: IEEE Transactions on Learning Technology # use some specific Tex packages if needed. (see ?rticles::ieee_article()) From 74c7d69585d964bc49574ce8998d63aecd8243a7 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 18:32:14 +0100 Subject: [PATCH 18/31] Support biblatexoption in template --- inst/rmarkdown/templates/ieee/resources/template.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/rmarkdown/templates/ieee/resources/template.tex b/inst/rmarkdown/templates/ieee/resources/template.tex index b627c0c4d..997129415 100644 --- a/inst/rmarkdown/templates/ieee/resources/template.tex +++ b/inst/rmarkdown/templates/ieee/resources/template.tex @@ -339,7 +339,7 @@ \bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} $endif$ $if(biblatex)$ -\usepackage[backend=bibtex,citestyle=ieee,style=numeric$if(citation_sorting)$,sorting=$citation_sorting$$endif$]{biblatex} +\usepackage[backend=bibtex,citestyle=ieee,style=$if(biblio-style)$$biblio-style$$else$numeric$endif$,if(citation_sorting)$sorting=$citation_sorting$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} $if(bibliography)$ $for(bibliography)$ \addbibresource{$bibliography$} From b68819a36072f6916f5ecdd5a5221603a5ae21c6 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 18:33:09 +0100 Subject: [PATCH 19/31] Support citation_package explicitly --- R/ieee_article.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R/ieee_article.R b/R/ieee_article.R index f388f0e72..728f91e6f 100644 --- a/R/ieee_article.R +++ b/R/ieee_article.R @@ -54,6 +54,7 @@ ieee_article <- function( with_dblfloatfix = FALSE, keep_tex = TRUE, pandoc_args = NULL, + citation_package = "default", md_extensions = c("-autolink_bare_uris"), number_sections = FALSE, ... @@ -98,7 +99,7 @@ ieee_article <- function( pdf_document_format( "ieee", pandoc_args = c(pandoc_arg_list, pandoc_args), keep_tex = keep_tex, md_extensions = md_extensions, - number_sections = number_sections, + number_sections = number_sections, citation_package = citation_package, ... ) } From ef6e88160f1a867ed80816bd6eb856c5475c3d99 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 18:33:31 +0100 Subject: [PATCH 20/31] Prevent pandoc error early regarding template syntax --- R/ieee_article.R | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/R/ieee_article.R b/R/ieee_article.R index 728f91e6f..b477b152a 100644 --- a/R/ieee_article.R +++ b/R/ieee_article.R @@ -74,6 +74,10 @@ ieee_article <- function( args <- c(args, "journal" = journal) # activate number_section by default if(missing(number_sections)) number_sections <- TRUE + # New author syntax needs to be used which requires a recent pandoc + if (rmarkdown::pandoc_available("2.10")) { + stop("Using `journal` mode for `ieee_article()` requires Pandoc >= 2.10", call. = FALSE) + } } # Avoid declaration of pandoc variable if field is empty From fe37892aad6639e3857aa54663d32dbde81c4cd0 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 18:33:46 +0100 Subject: [PATCH 21/31] remove empty line --- inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd | 1 - 1 file changed, 1 deletion(-) diff --git a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd index 275083e18..bdd630ec8 100644 --- a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd @@ -95,7 +95,6 @@ link-citations: true ## bibliography file(s) bibliography: mybibfile.bib - output: rticles::ieee_article: ## Activate journal mode and specify journal for page headers From bdde76c3bd21c456265fc35b295b9015c1081a32 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 18:36:20 +0100 Subject: [PATCH 22/31] Update documentation --- man/ieee_article.Rd | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/man/ieee_article.Rd b/man/ieee_article.Rd index 2b2f69cad..55752d7b2 100644 --- a/man/ieee_article.Rd +++ b/man/ieee_article.Rd @@ -7,6 +7,7 @@ ieee_article( draftmode = c("final", "draft", "draftcls", "draftclsnofoot"), hyphenfixes = "op-tical net-works semi-conduc-tor", + journal = NULL, IEEEspecialpaper = "", with_ifpdf = FALSE, with_cite = FALSE, @@ -17,7 +18,9 @@ ieee_article( with_dblfloatfix = FALSE, keep_tex = TRUE, pandoc_args = NULL, + citation_package = "default", md_extensions = c("-autolink_bare_uris"), + number_sections = FALSE, ... ) } @@ -29,6 +32,10 @@ should be rendered. Valid options are: \code{"final"} (default), \code{"draft"}, \item{hyphenfixes}{A \code{character} value that provides the correct hyphenations for ambiguous words. Separate new words with spaces.} +\item{journal}{Running Header to use for a journal paper. When set, +classoption \code{journal} will be used instead of \code{conference}. +\code{number_sections} will also default to \code{TRUE} in this case.} + \item{IEEEspecialpaper}{A \code{character} value containing the publication's special paper designation.} @@ -57,10 +64,17 @@ off (\code{FALSE}) the \code{dblfloatfix} LaTeX package.} \item{pandoc_args}{Additional command line options to pass to pandoc} +\item{citation_package}{The LaTeX package to process citations, \code{natbib} +or \code{biblatex}. Use \code{default} if neither package is to be used, +which means citations will be processed via the command +\command{pandoc-citeproc}.} + \item{md_extensions}{Markdown extensions to be added or removed from the default definition or R Markdown. See the \code{\link[rmarkdown]{rmarkdown_format}} for additional details.} +\item{number_sections}{\code{TRUE} to number section headings} + \item{...}{Additional arguments to \code{\link[rmarkdown:pdf_document]{rmarkdown::pdf_document()}}} } \description{ From 5205bffed72089d392969c5d8bbf49fb46f0e42d Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 18:41:30 +0100 Subject: [PATCH 23/31] Update CSL ref part in template --- inst/rmarkdown/templates/ieee/resources/template.tex | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/inst/rmarkdown/templates/ieee/resources/template.tex b/inst/rmarkdown/templates/ieee/resources/template.tex index 997129415..31c5f31be 100644 --- a/inst/rmarkdown/templates/ieee/resources/template.tex +++ b/inst/rmarkdown/templates/ieee/resources/template.tex @@ -414,11 +414,12 @@ {% don't indent paragraphs \setlength{\parindent}{0pt} % turn on hanging indent if param 1 is 1 - \ifodd #1 \everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces\fi - % set entry spacing - \ifnum #2 > 0 - \setlength{\parskip}{#2\baselineskip} + \ifodd #1 + \let\oldpar\par + \def\par{\hangindent=\cslhangindent\oldpar} \fi + % set entry spacing + \setlength{\parskip}{#2\cslentryspacingunit} }% {} \usepackage{calc} % for calculating minipage widths From e44e93de0249ce97fd3f2a92e574cce320239bd3 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 19:01:27 +0100 Subject: [PATCH 24/31] missing $ in template --- inst/rmarkdown/templates/ieee/resources/template.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/rmarkdown/templates/ieee/resources/template.tex b/inst/rmarkdown/templates/ieee/resources/template.tex index 31c5f31be..67fcbaba1 100644 --- a/inst/rmarkdown/templates/ieee/resources/template.tex +++ b/inst/rmarkdown/templates/ieee/resources/template.tex @@ -339,7 +339,7 @@ \bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} $endif$ $if(biblatex)$ -\usepackage[backend=bibtex,citestyle=ieee,style=$if(biblio-style)$$biblio-style$$else$numeric$endif$,if(citation_sorting)$sorting=$citation_sorting$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} +\usepackage[backend=bibtex,citestyle=ieee,style=$if(biblio-style)$$biblio-style$$else$numeric$endif$,$if(citation_sorting)$sorting=$citation_sorting$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} $if(bibliography)$ $for(bibliography)$ \addbibresource{$bibliography$} From 4965d546a089ae0f8c570316112a734a1dc5af6b Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 19:12:53 +0100 Subject: [PATCH 25/31] Missing command in template --- inst/rmarkdown/templates/ieee/resources/template.tex | 2 ++ 1 file changed, 2 insertions(+) diff --git a/inst/rmarkdown/templates/ieee/resources/template.tex b/inst/rmarkdown/templates/ieee/resources/template.tex index 67fcbaba1..a52008bc6 100644 --- a/inst/rmarkdown/templates/ieee/resources/template.tex +++ b/inst/rmarkdown/templates/ieee/resources/template.tex @@ -410,6 +410,8 @@ \everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces$endif$}% {\par} % For Pandoc 2.11+ +\newlength{\cslentryspacingunit} % times entry-spacing +\setlength{\cslentryspacingunit}{\parskip} \newenvironment{CSLReferences}[2] % #1 hanging-ident, #2 entry spacing {% don't indent paragraphs \setlength{\parindent}{0pt} From 5d5d9c55f17dd400fe02db85a435257a7ce047ba Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 20:34:46 +0100 Subject: [PATCH 26/31] Missing the negation in test --- R/ieee_article.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/ieee_article.R b/R/ieee_article.R index b477b152a..dadf2dd5c 100644 --- a/R/ieee_article.R +++ b/R/ieee_article.R @@ -75,7 +75,7 @@ ieee_article <- function( # activate number_section by default if(missing(number_sections)) number_sections <- TRUE # New author syntax needs to be used which requires a recent pandoc - if (rmarkdown::pandoc_available("2.10")) { + if (!rmarkdown::pandoc_available("2.10")) { stop("Using `journal` mode for `ieee_article()` requires Pandoc >= 2.10", call. = FALSE) } } From 52765e0e57d23d32861fae29cefd08127f092dc0 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 20:45:10 +0100 Subject: [PATCH 27/31] Add an example specific for Journal output in the template bundle --- .../ieee/skeleton/IEEE-journal-example.Rmd | 181 ++++++++++++++++++ .../templates/ieee/skeleton/skeleton.Rmd | 2 +- 2 files changed, 182 insertions(+), 1 deletion(-) create mode 100644 inst/rmarkdown/templates/ieee/skeleton/IEEE-journal-example.Rmd diff --git a/inst/rmarkdown/templates/ieee/skeleton/IEEE-journal-example.Rmd b/inst/rmarkdown/templates/ieee/skeleton/IEEE-journal-example.Rmd new file mode 100644 index 000000000..8bfa51101 --- /dev/null +++ b/inst/rmarkdown/templates/ieee/skeleton/IEEE-journal-example.Rmd @@ -0,0 +1,181 @@ +--- +title: Bare Demo of IEEEtran.cls for IEEE Conferences & Journals +affiliation: + ## A custom author ordering field that breaks institution grouping. + ## This is the only supported format for the journal mode. + author: + - name: Eldon Tyrell + member: Member, IEEE ## only used for journal mode + mark: 4 ## ignored for journal mode + email: eldon@starfleet-academy.star + - name: Michael Shell + member: Fellow, OSA + mark: 1 + - name: Roy Batty + member: Life Fellow, IEEE + mark: 4 + email: roy@replicant.offworld + last: true ## mark the last author so that we can insert `and` + ## at the appropriate place. + ## used only in journal mode for author affiliations and other acknowledgements + thanks: + - "E. Tyrell and R. Batty are with Starfleet Academy." + - "M. Shell was with the Department of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, GA, 30332 USA e-mail: (see http://www.michaelshell.org/contact.html)." + - "Manuscript received February 17, 2021; revised June 6, 2021." +keywords: ["keyword 1", "keyword 2"] +abstract: | + The abstract goes here. + On multiple lines eventually. +## Example of option for biblatex +# biblatexoptions: sorting=none +## When using pandoc for citation processing (the default), these options set the correct +## citation style, and add links to citations. +csl: https://www.zotero.org/styles/ieee # download locally if needed. +link-citations: true +## bibliography file(s) +bibliography: mybibfile.bib +output: + rticles::ieee_article: + ## Activate journal mode and specify journal for page headers + journal: IEEE Transactions on Learning Technology + # use some specific Tex packages if needed. (see ?rticles::ieee_article()) + # with_ifpdf: true + # with_cite: true + with_amsmath: true # amsmath need to be true to use with bookdown for referencing equations. + # with_algorithmic: true + # with_subfig: true + # with_array: true + # with_dblfloatfix: true +--- + +Introduction +============= +<!-- no \IEEEPARstart --> +\IEEEPARstart{T}{his} demo file is intended to serve as a ``starter file'' +for IEEE conference papers produced under \LaTeX\ using +IEEEtran.cls version 1.8b and later. +<!-- You must have at least 2 lines in the paragraph with the drop letter +(should never be an issue) --> +I wish you the best of success. + + +## Subsection Heading Here +Subsection text here. + +### Subsubsection Heading Here +Subsubsection text here. + +<!-- An example of a floating figure using the graphicx package. +Note that \label must occur AFTER (or within) \caption. +For figures, \caption should occur after the \includegraphics. +Note that IEEEtran v1.7 and later has special internal code that +is designed to preserve the operation of \label within \caption +even when the captionsoff option is in effect. However, because +of issues like this, it may be the safest practice to put all your +\label just after \caption rather than within \caption{}. + +Reminder: the "draftcls" or "draftclsnofoot", not "draft", class +option should be used if it is desired that the figures are to be +displayed while in draft mode. + +\begin{figure}[!t] +\centering +\includegraphics[width=2.5in]{myfigure} +where an .eps filename suffix will be assumed under latex, +and a .pdf suffix will be assumed for pdflatex; or what has been declared +via \DeclareGraphicsExtensions. +\caption{Simulation results for the network.} +\label{fig_sim} +\end{figure} + +Note that the IEEE typically puts floats only at the top, even when this +results in a large percentage of a column being occupied by floats. + + +An example of a double column floating figure using two subfigures. +(The subfig.sty package must be loaded for this to work.) +The subfigure \label commands are set within each subfloat command, +and the \label for the overall figure must come after \caption. +\hfil is used as a separator to get equal spacing. +Watch out that the combined width of all the subfigures on a +line do not exceed the text width or a line break will occur. + +\begin{figure*}[!t] +\centering +\subfloat[Case I]{\includegraphics[width=2.5in]{box}% +\label{fig_first_case}} +\hfil +\subfloat[Case II]{\includegraphics[width=2.5in]{box}% +\label{fig_second_case}} +\caption{Simulation results for the network.} +\label{fig_sim} +\end{figure*} + +Note that often IEEE papers with subfigures do not employ subfigure +captions (using the optional argument to \subfloat[]), but instead will +reference/describe all of them (a), (b), etc., within the main caption. +Be aware that for subfig.sty to generate the (a), (b), etc., subfigure +labels, the optional argument to \subfloat must be present. If a +subcaption is not desired, just leave its contents blank, +e.g., \subfloat[]. + + +An example of a floating table. Note that, for IEEE style tables, the +\caption command should come BEFORE the table and, given that table +captions serve much like titles, are usually capitalized except for words +such as a, an, and, as, at, but, by, for, in, nor, of, on, or, the, to +and up, which are usually not capitalized unless they are the first or +last word of the caption. Table text will default to \footnotesize as +the IEEE normally uses this smaller font for tables. +The \label must come after \caption as always. + +\begin{table}[!t] +% increase table row spacing, adjust to taste +\renewcommand{\arraystretch}{1.3} +if using array.sty, it might be a good idea to tweak the value of +\extrarowheight as needed to properly center the text within the cells +\caption{An Example of a Table} +\label{table_example} +\centering +% Some packages, such as MDW tools, offer better commands for making tables +% than the plain LaTeX2e tabular which is used here. +\begin{tabular}{|c||c|} +\hline +One & Two\\ +\hline +Three & Four\\ +\hline +\end{tabular} +\end{table} + + +Note that the IEEE does not put floats in the very first column +- or typically anywhere on the first page for that matter. Also, +in-text middle ("here") positioning is typically not used, but it +is allowed and encouraged for Computer Society conferences (but +not Computer Society journals). Most IEEE journals/conferences use +top floats exclusively. +Note that, LaTeX2e, unlike IEEE journals/conferences, places +footnotes above bottom floats. This can be corrected via the +\fnbelowfloat command of the stfloats package. --> + + +Conclusion +============ +The conclusion goes here. + +<!-- conference papers do not normally have an appendix --> + +Acknowledgment {#acknowledgment} +============== + +The authors would like to thank... + +Bibliography styles +=================== + +Here are two sample references: @Feynman1963118 [@Dirac1953888]. + +\newpage +References {#references .numbered} +========== diff --git a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd index bdd630ec8..6541a1a98 100644 --- a/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/ieee/skeleton/skeleton.Rmd @@ -112,7 +112,7 @@ output: Introduction ============= <!-- no \IEEEPARstart --> -\IEEEPARstart{T}{his} demo file is intended to serve as a ``starter file'' +This demo file is intended to serve as a ``starter file'' for IEEE conference papers produced under \LaTeX\ using IEEEtran.cls version 1.8b and later. <!-- You must have at least 2 lines in the paragraph with the drop letter From 0315917b36250d7b583e186d230fa3f0b2d4cc64 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 20:52:40 +0100 Subject: [PATCH 28/31] Add special case for testing other demo file in bundle --- tests/testit/test-formats.R | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tests/testit/test-formats.R b/tests/testit/test-formats.R index 1313ce929..c6c9caf9f 100644 --- a/tests/testit/test-formats.R +++ b/tests/testit/test-formats.R @@ -1,4 +1,4 @@ -test_format <- function(name, output_options = NULL, os_skip = NULL) { +test_format <- function(name, input = NULL, output_options = NULL, os_skip = NULL) { # don't run on CRAN due to complicated dependencies (Pandoc/LaTeX packages) if (!identical(Sys.getenv("NOT_CRAN"), "true")) return() @@ -18,8 +18,12 @@ test_format <- function(name, output_options = NULL, os_skip = NULL) { create_dir = FALSE, edit = FALSE ) + # override the render file if input is provided + if (!is.null(input)) testdoc <- input + message('Rendering the ', name, ' format...', - if(!is.null(output_options)) " (with output options)") + if(!is.null(output_options)) " (with output options)", + if (!is.null(input)) c(" using file ", input)) output_file <- rmarkdown::render(testdoc, output_options = output_options, quiet = TRUE) assert(paste(name, "format works"), { file.exists(output_file) @@ -72,3 +76,9 @@ test_format("trb") # special case: the glossa format doesn't work with the microtype package tinytex::tlmgr_remove("microtype") test_format("glossa") + +# Multiple demo file +if (rmarkdown::pandoc_available(2.10)) { + test_format("ieee", input = "IEEE-journal-example.Rmd", + output_options = list(journal = "IEEE Transactions on Learning Technology")) +} From 097e2d000c91e7881886c87e9a83cb8578da48a3 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 21:09:43 +0100 Subject: [PATCH 29/31] Update requirement as template requires 2.8 because using breakable spaces $~$ --- R/ieee_article.R | 6 ++++++ man/ieee_article.Rd | 4 ++++ tests/testit/test-formats.R | 4 ++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/R/ieee_article.R b/R/ieee_article.R index dadf2dd5c..13458d097 100644 --- a/R/ieee_article.R +++ b/R/ieee_article.R @@ -7,6 +7,10 @@ #' `IEEEtran.cls` is supported, with experimental support for the #' `"journal"` mode. #' +#' # Pandoc requirement +#' +#' This format requires at least Pandoc 2.8 and 2.10 when `journal` is used. +#' #' @inheritParams rmarkdown::pdf_document #' @param draftmode Specify the draft mode to control spacing and whether images #' should be rendered. Valid options are: `"final"` (default), `"draft"`, @@ -60,6 +64,8 @@ ieee_article <- function( ... ) { + rmarkdown::pandoc_available("2.8", error = TRUE) + args <- c() draftmode <- match.arg(draftmode) diff --git a/man/ieee_article.Rd b/man/ieee_article.Rd index 55752d7b2..79ad5a95f 100644 --- a/man/ieee_article.Rd +++ b/man/ieee_article.Rd @@ -86,6 +86,10 @@ Presently, only the \code{"conference"} paper mode offered by the \code{IEEEtran.cls} is supported, with experimental support for the \code{"journal"} mode. } +\section{Pandoc requirement}{ +This format requires at least Pandoc 2.8 and 2.10 when \code{journal} is used. +} + \references{ Shell, Michael. "How to use the IEEEtran LATEX class." Journal of LATEX Class Files 1.11 (2002): 10-20. diff --git a/tests/testit/test-formats.R b/tests/testit/test-formats.R index c6c9caf9f..edbb02972 100644 --- a/tests/testit/test-formats.R +++ b/tests/testit/test-formats.R @@ -49,7 +49,7 @@ test_format("copernicus") if (xfun::is_linux()) test_format("ctex") # only on linux due to fonts requirements test_format("elsevier") test_format("frontiers") -test_format("ieee") +if (rmarkdown::pandoc_available(2.8)) test_format("ieee") test_format("ims") test_format("ims", output_options = list(journal = "aap")) test_format("jasa") @@ -77,7 +77,7 @@ test_format("trb") tinytex::tlmgr_remove("microtype") test_format("glossa") -# Multiple demo file +# Multiple demo files if (rmarkdown::pandoc_available(2.10)) { test_format("ieee", input = "IEEE-journal-example.Rmd", output_options = list(journal = "IEEE Transactions on Learning Technology")) From baeb407eb8278065d42099b7e36f6df4aa62d511 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Mon, 29 Nov 2021 21:22:20 +0100 Subject: [PATCH 30/31] Use character version in pandoc_available() --- tests/testit/test-formats.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testit/test-formats.R b/tests/testit/test-formats.R index edbb02972..fd4e88ba6 100644 --- a/tests/testit/test-formats.R +++ b/tests/testit/test-formats.R @@ -78,7 +78,7 @@ tinytex::tlmgr_remove("microtype") test_format("glossa") # Multiple demo files -if (rmarkdown::pandoc_available(2.10)) { +if (rmarkdown::pandoc_available("2.10")) { test_format("ieee", input = "IEEE-journal-example.Rmd", output_options = list(journal = "IEEE Transactions on Learning Technology")) } From 54e8118278cce7edb3e714089586f270075df910 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux <christophe.dervieux@gmail.com> Date: Tue, 30 Nov 2021 10:35:00 +0100 Subject: [PATCH 31/31] Update NEWS and bump version [skip ci] --- DESCRIPTION | 2 +- NEWS.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index b1660f39a..8a1ceafc4 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: rticles Type: Package Title: Article Formats for R Markdown -Version: 0.21.3 +Version: 0.21.4 Authors@R: c( person("JJ", "Allaire", role = "aut", email = "jj@rstudio.com"), person("Yihui", "Xie", role = c("aut", "cre"), email = "xie@yihui.name", comment = c(ORCID = "0000-0003-0645-5666")), diff --git a/NEWS.md b/NEWS.md index de11f15b1..6bebd39b3 100644 --- a/NEWS.md +++ b/NEWS.md @@ -6,7 +6,7 @@ - Add `trb_article()` for annual meeting submissions to the Transportation Research Board Annual Meeting (thanks, @gregmacfarlane, #427). -- `ieee_article()` now supports both conference papers and journal articles (thanks, @Karel-Kroeze, #375). +- `ieee_article()` now supports journal articles with different defaults, using `journal` classoption for `IEEEtran` document class. This brings a pandoc minimum requirement of 2.8 for conference paper and 2.10 for journal article. A new demo Rmd file has been added in the bundle when creating the template for `ieee_article()` - see this file and help page for new argument and syntax (thanks, @Karel-Kroeze, #375). # rticles 0.21