Я новичок на StackExchange!
У меня есть этот документ:
\documentclass[a4paper,12pt,oneside,italian]{book}
\usepackage[utf8]{inputenc}
\usepackage{url}
\begin{document}
Questa è una citazione \cite{Citation}.
\bibliographystyle{plain}
\bibliography{biblio}
\end{document}
И эта библиография:
@misc{Citation,
author = "Daniele Vietri and Francesca Castelli",
title = "M-commerce in Italia",
howpublished = {\url{http://www.dblog.it/ecommerce/}},
year = {2012},
note = {[accesso: Marzo 2013]}
}
Почему я получаю следующий вывод? Это сводит меня с ума...
Я бы хотел поставить запятую вместо «и».
И почему первая буква слова «Italia» в названии становится строчной?
решение1
Вы указываете
\bibliographystyle{plain}
что в свою очередь указывает, что списки имен должны быть отформатированы с помощью этого читаемого фрагмента кода:
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
nameptr #1 >
{ namesleft #1 >
{ ", " * t * }
{ numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{ " et~al." * }
{ " and " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
Где-то посередине вы увидите, что он добавляет ,
или and
или et al
в зависимости от количества имен, оставшихся в списке.
Вы можете повозиться с этим, хотя вам не следует менять файл по умолчанию, или, что проще, найти другой стиль bibtex, который делает то, что вам нужно. (возможно, использовать пакет, makebst
чтобы сделать его). Вам нужно решить, что вы хотите сделать для списков длиной 0,1,2,3 и более N для некоторых N.
Вы a, b
не хотите a and b
, но что вы хотите для списка из трех, обычный выбор - или или a, b, and c
, a, b and c
но, возможно, вы хотите a, b, c
(если вы хотите, вы можете просто изменить and
в копии выше, ,
я думаю.
решение2
Мой ответ основан напредыдущий вопрос и ответ, и в своей основе он использует пакет biblatex
(который представляет собой мощную замену классическому дуэту LaTeX и bibTeX).
\documentclass[a4paper,12pt,oneside,italian]{article}
\usepackage[utf8]{inputenc}
\usepackage{biblatex}
\usepackage{hyperref}
\addbibresource{biblio}
\renewcommand*{\finalnamedelim}{\addcomma\space}
\begin{document}
Questa è una citazione \cite{Citation}.
\printbibliography
\end{document}
Дополнительные материалы. Вместе с пакетами babel
и csquotes
вы должны получить достойную поддержку итальянских соглашений. Например, если вы закомментируете строку, где мы переопределяем команду \finalnamedelim
, вы получите итальянскую "e" вместо английской "and". Кроме того, команда \printbibliography
автоматически выводит заголовок для библиографии, которая зависит от языка, в данном случае "Riferimenti bibliograci", но вы можете дать ей аргумент, [heading={text}]
чтобы выбрать то, что вам нужно.
Кроме того, я использовал hyperref
пакет вместо url
пакета , потому что он создает настоящие гиперссылки (я думаю, он загружает url
пакет автоматически).
решение3
Есть ли веская причина хотеть a, b
вместо этого a and b
(что является стандартом)?
Если так, вам следует найти стиль, который это делает, или создать его самостоятельно, как говорит Дэвид Карлиз, хотя для этого должна быть действительно веская причина (а не просто «мне просто так нравится»). Вещи в LaTeX делаются по очень веской причине, в большинстве случаев следуя тому, что диктуют стандарты.
Несколько комментариев по поводу вашего нагрудного номера:
Авторы должны быть указаны
Lastname, Names
, а именно:author = {Vietri, Daniele and Castelli, Francesca and Mozart, Wolfgang Amadeus}
В зависимости от стиля, он будет управлять заголовками по-разному (т. е. заглавными буквами, первой буквой слова и т. д.). Вы должны писать заголовки последовательно. Если вы знаете, что какое-то слово должно иметь заглавные буквы (например, Italy, IEEE и т. д.), вы можете принудительно сделать это следующим образом:
title = {M-commerce in {I}talia},