Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

i have just been introduced to LaTeX as a means to write my dissertation. I am faced with the problem of writing my document in Greek while keeping all bibliographic entries and citations in English. This is a minimal working example with the exact set of packages I am using:

\documentclass[12pt, a4paper]{report}
\usepackage[english,greek]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{gfsartemisia}
\usepackage{natbib}
\usepackage{setspace}
\onehalfspacing
\usepackage{graphicx}
\widowpenalty=300
\clubpenalty=300

\begin{document}

Το φύλο αυτό των φυκών, αποτελεί επικράτεια των Βακτηρίων\citep{GarciaPichel2009107}

\bibliographystyle{abbrvnat}
\bibliography{bib}

\end{document}

%this is the entry in the bib.bib file
@incollection\{GarciaPichel2009107,
title = "Cyanobacteria ",
editor = "Schaechter, Moselio ",
booktitle = "Encyclopedia of Microbiology (Third Edition) ",
publisher = "Academic Press",
edition = "Third Edition",
address = "Oxford",
year = "2009",
pages = "107 - 124",
isbn = "978-0-12-373944-5",
doi = "http://dx.doi.org/10.1016/B978-012373944-5.00250-9",
url = "http://www.sciencedirect.com/science/article/pii/B9780123739445002509",
author = "F. Garcia-Pichel",
keywords = "benthos",
keywords = "blue-green algae",
keywords = "cell differentiation",
keywords = "chlorophyll",
keywords = "extreme environments",
keywords = "nitrogen fixation",
keywords = "photoautotrophy",
keywords = "photosynthesis",
keywords = "phycobiliproteins",
keywords = "plankton",
keywords = "primary production",
keywords = "symbiosis",
language = "English",
keywords = "toxins "
\}

This is the output i get, when i wish it to be in English (instead, all characters are "translated" to their Greek variants): enter image description here

share|improve this question
1  
Just put \selectlanguage{english} right before \bibliography{bib}. –  Thorsten Donig Feb 23 at 10:55
    
That fixes one problem. The bibliogrphic entries are now in english. But, the citations in the text are still in greek. -->ok i have used \selectlanguage{english}\citep{...}\selectlanguage{greek}. This is kind of a bore but it works :) thnx for the quick reply! –  Panas Feb 23 at 10:58

2 Answers 2

Use a different command for Latin alphabet citation, I propose \lcitep; next, add some code to the internal command \bibsection in order to tell TeX to use the Latin alphabet in the bibliography.

I used article just to get a single page, use report for your document without any other change. You might add also other commands such as \lcitet and so on, depending on which ones you use.

The filecontents* environment is just for convenience in the example. Use your .bib file as the argument to \bibliography.

\begin{filecontents*}{\jobname.bib}
@incollection{GarciaPichel2009107,
  title = "Cyanobacteria ",
  editor = "Schaechter, Moselio ",
  booktitle = "Encyclopedia of Microbiology (Third Edition) ",
  publisher = "Academic Press",
  edition = "Third Edition",
  address = "Oxford",
  year = "2009",
  pages = "107 - 124",
  isbn = "978-0-12-373944-5",
  doi = "http://dx.doi.org/10.1016/B978-012373944-5.00250-9",
  url = "http://www.sciencedirect.com/science/article/pii/B9780123739445002509",
  author = "F. Garcia-Pichel",
  keywords = "benthos",
  keywords = "blue-green algae",
  keywords = "cell differentiation",
  keywords = "chlorophyll",
  keywords = "extreme environments",
  keywords = "nitrogen fixation",
  keywords = "photoautotrophy",
  keywords = "photosynthesis",
  keywords = "phycobiliproteins",
  keywords = "plankton",
  keywords = "primary production",
  keywords = "symbiosis",
  language = "English",
  keywords = "toxins "
}
\end{filecontents*}

\documentclass[12pt, a4paper]{article}
\usepackage[english,greek]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{gfsartemisia}
\usepackage{natbib}
\usepackage{setspace}
\onehalfspacing
\usepackage{graphicx}
\widowpenalty=300
\clubpenalty=300

\DeclareRobustCommand{\lcitep}[1]{%
  \textlatin{\citep{#1}}%
}
\makeatletter
\g@addto@macro{\bibsection}{\selectlanguage{english}}
\makeatother

\begin{document}

Το φύλο αυτό των φυκών, αποτελεί επικράτεια των Βακτηρίων \lcitep{GarciaPichel2009107}

\bibliographystyle{abbrvnat}
\bibliography{\jobname}

\end{document}

enter image description here

share|improve this answer
    
This works like a charm! Thank you very much! –  Panas Feb 23 at 12:01

You should use biblatex: it has a natbib emulation, knows about your main language, whether you use babel or polyglossia (with xelatex), and it defines a langid field for each entry in your database. So the entry will be printed in its own language with its own hyphenation rules. If you use polyglossia, you also have a langidopts field that manages dialects of a language (e.g. Ποντιακά or american english).

See §2.2.3, pp.23-24 of the documentation. See also § 3.1.2.1, pp. 46-47,General preamble options, about language=autobib, autocite, auto.

share|improve this answer
    
I tried using biblatex but i got the error that it wasnt compatible with utf8x. –  Panas Feb 23 at 11:58
    
@Panas You could try utf8 instead (I'm not sure whether that's enough for Greek support) or use a properly UTF-8 enabled engine such as XeLaTeX or LuaLaTeX. –  moewe Feb 23 at 12:07
    
With XeLaTeX or LuaLaTeX and fontspec, there's no problem. @¨Panas: With PDFLaTeX, if problems happen only on loading biblatex, maybe the reason is that your .bib file is not utf8 encoded. Try to encode it in utf8 (JabRef can do that) and run biber. –  Bernard Feb 23 at 12:34

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.