买者自负

买者自负

有时,作者必须将原本按照一家出版商的格式(例如 IEEE)准备的稿件转为按照另一家出版商的格式(例如 ACM)提交。这可能是由于:

  1. 一篇论文被一家期刊拒绝,需要提交给另一家期刊
  2. 稿件完成后,作者发现其页数已超出一家出版商的限制(例如,某期刊为 14 页),需要提交给另一家出版商(例如,另一家期刊为 25 页)。
  3. 另一本期刊的范围比最初想象的更符合
  4. 以及许多其他可能的原因...

但是,由于它们使用不同的格式,因此必须对文本进行大量更改,这可能会导致语法/格式错误。如果只需更改标题 .tex 文件中的宏即可实现此目的,而无需更改 .cls 或 .bst/.bib 文件或任何包含的 .tex 文件,那就太好了。

有些出版商只在接受后才接受源文件,因此这种方法对他们来说最有用,因为接受后,作者有保证,并且有比提交时(截止日期)更多的时间来删除其宏。如果出版商在接受前就接受源文件,编辑们不会喜欢宏,正如 cfr 正确指出的那样,所以这种方法不是很有用。

在这里我重点关注 ACM(期刊模板,而非会议模板)和 IEEE 之间的表格和引用格式差异。

引用:IEEE 使用编号引用,ACM 使用作者年份。我想在 .tex 文件中使用以下内容:

\citeN{Lastname2010title} present a technique 

生成

ACM PDF: Lastname et al. [2010] present a technique
IEEE PDF: Lastname et al. [3] present a technique

表格:目前,我必须分别使用以下内容来表示 ACM 和 IEEE 表格(使用 MWE)。如果能将表格部分放入宏中,并在 IEEE 或 ACM 论文的头文件中以不同的方式定义该宏,那就太好了。

\documentclass{acmsmall} 
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Lastname2010title,
author  = "Firstname Lastname and next author and more authors",
title   = "Title of paper",
year    = "2010",
journal = "Some Journal",
}
\end{filecontents}
\begin{document}
\begin{table}[htbp] 
  \centering
\tbl{ My Table Title \label{tab:label1}}{
\begin{tabular}{|l|l|} \hline
 Key & Value \cite{Lastname2010title} \\\hline
\end{tabular}
}
\end{table}
\citeN{Lastname2010title} present a technique.
\bibliographystyle{ACM-Reference-Format-Journals}
\bibliography{\jobname}
\end{document}

这是针对 IEEE 的。

\documentclass{IEEEtran} 
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Lastname2010title,
author  = "Firstname Lastname and next author and more authors",
title   = "Title of paper",
year    = "2010",
journal = "Some Journal",}
\end{filecontents}
\begin{document}
\begin{table}[htbp]
\centering
\caption{My Table Title}\label{tab:label1}
\begin{tabular}{|l|l|}\hline
Key & Value \cite{Lastname2010title} \\\hline
\end{tabular}
\end{table}
% Currently I have to use this
Lastname et al. \cite{Lastname2010title} present a technique.
\bibliographystyle{IEEEtran}
\bibliography{\jobname}
\end{document}

以下是完整模板计算机协会电气电子工程师学会。我已上传 *cls 和 *bst 文件这里以避免需要下载并解压它们。

答案1

您可以将其移至\bibliographystyle序言或任何其他内容,这样更容易切换。

这点无可非议。然而,以下建议均需遵守一项重大警告:

如果你提交来源- 与 PDF 相反 - 你应该 不是这样做只会惹恼别人。尤其是,这会让文字编辑们非常恼火。他们不是想要一个高度定制的序言和使用一堆用户定义的宏的正文。

买者自负

您可以通过这种方式处理表格,提供一个不会覆盖现有定义的命令,但如果未定义则仅提供默认值。

\documentclass{IEEEtran}
\providecommand\tbl[2]{%
  \caption{#1}%
  #2}
\bibliographystyle{IEEEtran}

\begin{document}
\begin{table}[htbp]
  \centering
  \tbl{My Table Title \label{tab:label1}}{
    \begin{tabular}{|l|l|}\hline
      Key & Value \cite{Lastname2010title} \\\hline
    \end{tabular}
  }
\end{table}
% Currently I have to use this
Lastname et al. \cite{Lastname2010title} present a technique.
\bibliography{\jobname}
\end{document}

生产

版本 1

切换类别意味着我们需要修改序言以使用相关的参考书目样式,但可以\providecommand保留。我们不需要它,但它没有坏处。(这会导致编译时间无限增加,因为 TeX 将读取代码,但不会对编译结果产生任何影响。)

我们还需要根据情况将其更改\cite为等等。\citeN

\documentclass{acmsmall}
\providecommand\tbl[2]{%
  \caption{#1}%
  #2}
\bibliographystyle{ACM-Reference-Format-Journals}

\begin{document}
\begin{table}[htbp]
  \centering
  \tbl{My Table Title \label{tab:label1}}{
    \begin{tabular}{|l|l|}\hline
      Key & Value \cite{Lastname2010title} \\\hline
    \end{tabular}
  }
\end{table}
\citeN{Lastname2010title} present a technique.
\bibliography{\jobname}
\end{document}

生产

版本 2

请注意,您显然也可以\providecommand这样做\citeN。但在这种情况下,您仍然需要更改文本的结构。

你可以通过定义自定义引用命令来解决这个问题,\myciteN{}{}该命令根据加载的类执行不同的操作。例如,使用etoolboxfor 测试是否\citeN已定义,

\documentclass{acmsmall}
\usepackage{etoolbox}
\providecommand\tbl[2]{%
  \caption{#1}%
  #2}
\providecommand\myciteN[2]{%
  \ifundef\citeN{%
    #1 \cite{#2}%
  }{%
    \citeN{#2}%
  }%
}
\bibliographystyle{ACM-Reference-Format-Journals}

\begin{document}
\begin{table}[htbp]
  \centering
  \tbl{My Table Title \label{tab:label1}}{
    \begin{tabular}{|l|l|}\hline
      Key & Value \cite{Lastname2010title} \\\hline
    \end{tabular}
  }
\end{table}
\myciteN{Lastname et al.}{Lastname2010title} present a technique.
\bibliography{\jobname}
\end{document}

生产

版本 2 标记 2

而只是改变了序言中的类别和参考书目样式,如下所示

\documentclass{IEEEtran}
\usepackage{etoolbox}
\providecommand\tbl[2]{%
  \caption{#1}%
  #2}
\providecommand\myciteN[2]{%
  \ifundef\citeN{%
    #1 \cite{#2}%
  }{%
    \citeN{#2}%
  }%
}
\bibliographystyle{IEEEtran}

\begin{document}
\begin{table}[htbp]
  \centering
  \tbl{My Table Title \label{tab:label1}}{
    \begin{tabular}{|l|l|}\hline
      Key & Value \cite{Lastname2010title} \\\hline
    \end{tabular}
  }
\end{table}
\myciteN{Lastname et al.}{Lastname2010title} present a technique.
\bibliography{\jobname}
\end{document}

现在生产

版本 1 采取 2

这意味着你可以这样写,例如,

\documentclass{IEEEtran}
% \documentclass{acmsmall}
\usepackage{etoolbox}
\providecommand\tbl[2]{%
  \caption{#1}%
  #2}
\providecommand\myciteN[2]{%
  \ifundef\citeN{%
    #1 \cite{#2}%
  }{%
    \citeN{#2}%
  }%
}
\bibliographystyle{IEEEtran}
% \bibliographystyle{ACM-Reference-Format-Journals}

\begin{document}
\begin{table}[htbp]
  \centering
  \tbl{My Table Title \label{tab:label1}}{
    \begin{tabular}{|l|l|}\hline
      Key & Value \cite{Lastname2010title} \\\hline
    \end{tabular}
  }
\end{table}
\myciteN{Lastname et al.}{Lastname2010title} present a technique.
\bibliography{\jobname}
\end{document}

并且仅注释/取消注释类行和一个前导行即可在格式之间切换。

相关内容