我在 ASME 模板中生成参考书目时遇到问题(https://www.latextemplates.com/template/asme)我的套餐是波兰标准的:
\usepackage[T1]{fontenc}
\usepackage[polish]{babel}
\usepackage[utf8]{inputenc}
问题是,我无法生成参考书目。我想这要么是因为自定义类\documentclass[twocolumn,10pt]{asme2ej}
,要么是因为自定义参考书目样式\bibliographystyle{asmems4}
,尽管我尝试过常规的 BiBTeX 样式,但它们不起作用。我正确地得到了“Literatura”而不是“References”,而参考书目标题应该是“Literatura”,它只是没有在下面生成,而且我在文本中有很多 [?],而应该是 [1]、[2] 等。
编辑:
完整可重现的示例:
\documentclass[twocolumn,10pt]{asme2ej}
\usepackage[T1]{fontenc}
\usepackage[polish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{epsfig}
\begin{document}
% a lot of text
\cite{Text1}
% a lot of test
\cite{Text2}
% a lot of text
\bibliographystyle{asmems4}
\bibliography{asme2e}
% nothing generates except for "Literatura" caption
\end{document}
Text1 和 Text2 是任何 BiBTeX 合法引用,我目前使用一些虚拟示例进行测试 - 更改它们不会改变参考书目中的任何内容。
答案1
这里有一个较新的 ASME 模板:https://ctan.org/pkg/asmejour。基于 egreg 的回答,这是一个开始。抱歉,本例中语言混杂。
% !TEX encoding = UTF-8 Unicode
\begin{filecontents*}{\jobname.bib}
@article{szczesny,
author={W. Szcz{\k{e}}sny},
title={How to save},
journal={Int. J. Soccer},
year=2019,
}
@article{piatek,
author={K. Pi{\k{a}}tek},
title={How to score},
journal={Int. J. Soccer},
year=2019,
}
\end{filecontents*}
\documentclass{asmejour}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[polish]{babel}
\selectlanguage{polish}
\usepackage{lipsum}
\JourName{Heat Transfer}
\PreprintString{Preprint do recenzji} % <=== this command may not be in TeX Live yet.
\begin{document}
\SetTitle{Tytuł artykułu}
\keywords{\LaTeX, Polish, ASME}
\SetAuthorBlock{A. Utor}{Institute of Fluid-Flow Machinery \\ Polish Academy of Sciences\\ Gen. J. Fiszcra 14 \\ PL 80-952 Gdańsk, Poland}
\SetAbstract{Abstrakcyjny Język polski, polszczyzna, skrót: pol. – język naturalny należący do grupy języków zachodniosłowiańskich (do której należą również czeski, słowacki, kaszubski, dolnołużycki, górnołużycki i wymarły połabski), stanowiącej część rodziny języków indoeuropejskich. Polszczyzna jest jednym z oficjalnych języków Unii Europejskiej.}
\MakeTitlePage
\section{Wprowadzenie}
\lipsum[1]
\begin{equation}
\mathbf{F}=m\mathbf{a}
\end{equation}
Język polski \cite{szczesny}. Polszczyzna jest jednym z oficjalnych języków Unii Europejskiej \cite{piatek}.
\bibliographystyle{asmejour}
\bibliography{\jobname}
\end{document}
答案2
我同情那些被迫使用过时的文档类别并使用与之不兼容的有趣代码的人们babel
。
您需要的类属于此类别:例如宣传使用epsfig
,它已经过时 20 多年了;同样过时的是mathptm
。
代码包含 的修改版本cite.sty
,加载时会失败babel
。由于主要目的是压缩引用,因此我的建议是加载cite
并希望获得最佳效果。
\begin{filecontents*}{\jobname.bib}
@article{szczesny,
author={W. Szcz{\k{e}}sny},
title={How to save},
journal={Int. J. Soccer},
year=2019,
}
@article{piatek,
author={K. Pi{\k{a}}tek},
title={How to score},
journal={Int. J. Soccer},
year=2019,
}
\end{filecontents*}
\documentclass[twocolumn,10pt]{asme2ej}
\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc}
\usepackage[polish]{babel}
\usepackage{cite}
\title{Tytuł artykułu}
\author{A. Utor\affiliation{abc}}
\begin{document}
\maketitle
\begin{abstract}
Abstrakcyjny
\end{abstract}
\section{Wprowadzenie}
\cite{szczesny} and \cite{piatek}
\bibliographystyle{asmems4}
\bibliography{\jobname}
\end{document}