I would like to continue using the foreign package, which italicizes (through emph) foreign words such as "i.e." and "e.g." . However, it is quite common to not italicize "i.e.", "e.g.", "et al", "etc." in English (perhaps also "cf."). Is there a way to specify this using the foreign package?
[Tex/LaTex] foreign package but with non italicized \ie and \eg
typography
Related Solutions
The memoir class has a sane approach to describing the organisation of documents, with all the right parts for front matter, back matter, and markup of main matter, and perhaps more importantly, the manual is truly excellent, and will give guidance on how to realise your document. If you use {memoir}, as I strongly recommend,Chicago raises a number of smaller issues and one big issue (all quotes from Chicago #15: I have not yet got to grips with #16):
- Chicago is a pretty liberal style, that is full of suggestions and descriptions of alternatives about layout, but fewer rules about typography. For instance, Chicago allows chapters to begin on either verso or recto, saying only that "The first chapter ordinarily begins on a recto" only to qualify that with an exception. But lots of people have the idea that Chicago wants chapters always to begin on recto... Look at the details about typography from a Windows style seller, How Seminary Style Differs from Chicago/Turabian Style: it is nearly all without foundation in Chicago. So, do find out whether the "Chicago" requirement actually means something more specific.
- Latex doesn't have a good workflow for bibliographies, I have concluded after many years of frustration. You can't use established Bibtex styles to conform to Chicago's guidance on how to set out the reference list, because of deep problems with how references are represented in Bibtex, and I have no confidence that Biblatex makes more than cosmetic improvements to this. My recommendation is to choose a Bibtex style and bibliographic citation package that gets the following right: the citation keys of the form
(Authorlist1, date1; ...)
(which will be what you need in most cases). and puts the authors, date, title and publication venue in that order; {natbib} or Harvard will do for this, with {natbib} supporting more flexible citations. Then generate the .bbl file, cut and paste it in place of the\bibliography
command, and edit the entries one by one so that they actually conform to Chicago. I said something a bit similar in my How to APA 6th answer. - Chicago does have things to say about punctuation and spacing around punctuation, which is your job to follow. Word has nice macro packages to check for possible problems; Latex, AFAIK, does not. Using
\frenchspacing
makes strict correctness a little easier.
This is a LuaLaTeX solution. It is a function that gets called just before TeX breaks the text into lines. It inserts ties ~
(only the penalty of 10000, the glue is already there) after the single letter word. Words will still hyphenate (see example below) - as far as I can see (after the w).
[Edit: I have added a check in the code that only letters (L* unicode character class) will be taken into account when preventing a line break after the glyph.]
\documentclass{article}
\usepackage{polski}
\usepackage[polish]{babel}
\usepackage{fontspec}
\usepackage{luatexbase}\usepackage{luacode}
\begin{luacode}
local prevent_single_letter = function (head)
while head do
if head.id == 37 and unicode.utf8.match(unicode.utf8.char(head.char),"%a") then -- a letter
if head.prev.id == 10 and head.next.id == 10 then -- only if we are at a one letter word
local p = node.new("penalty")
p.penalty = 10000
-- This is for debugging only, but then you have to
-- remove the last node.insert_after line:
-- local w = node.new("whatsit","pdf_literal")
-- w.data = "q 1 0 1 RG 1 0 1 rg 0 0 m 0 5 l 2 5 l 2 0 l b Q"
-- node.insert_after(head,head,w)
-- node.insert_after(head,w,p)
node.insert_after(head,head,p)
end
end
head = head.next
end
return true
end
luatexbase.add_to_callback("pre_linebreak_filter",prevent_single_letter,"active~")
\end{luacode}
\begin{document}
\hsize 2.7in
Noc była sierpniowa, ciepła i słodka, Księżyc oświecał srebrnem światłem wgłębienie, tak,
że twarze małego rycerza i Basi były skąpane w blasku.
Poniżej, na podwórzu zamkowem, widać było uśpione kupy żołnierzy, a także i ciała zabitych
podczas dziennej strzelaniny, bo nie znaleziono dotąd czasu na ich pogrzebanie.
\end{document}
BTW: the small hyphenation marks are made with the package showhyphens
.
Best Answer
If you want none of the abbreviations provided by
foreign
to be in italics, just doafter
\usepackage{foreign}
. If only selected abbreviations should not be in italics, you have to change their definitions manually. For instance, if\ie
and\eg
are to be printed in the same font as the context, addLook in
foreign.sty
to retrieve the definitions.