Titles should not be capitalized

Zotero is great, however, the biggest drawback at this time is that when I pull a citation in from many types of references, the title of the article is capitalized when both AMA and APA style mandate that it not be. I have to go through and manually un-capitalize the title, slowing the process and lowering the utility of Zotero considerably.

If this simple problem could be tweaked, Zotero would be much more useful.
  • edited December 18, 2009
    Capitalization in citation and bibliography output is defined in the style file. If you want people to change it, please provide documentation links that justify the change. I, for example, have no seen evidence that APA says not to capitalize titles.
  • Bdarcus, no offense, but do you know APA? Pick up APA 5th or 6th edition.

    I publish frequently and here's a sample citation in APA.

    Kessler, R. C., Chiu, W.T., Demler, O., & Walters, E. E. (2005) Prevalence, severity, and
    comorbidity of twelve-month DSM-IV disorders in the National Comorbidity Survey Replication (NCS-R). Archives of General Psychiatry, 62(6), 617-627.

    [I don't expect it to automatically capitalize the NCS-R part; what I don't understand is why, if it is indeed APA format, it formats the title as "Prevalence, Severity, And Comorbidity..."- that isn't APA format.

    I saw that there was a "sentence case" format option for earlier versions of Zotero- I'm using the Beta, maybe this isn't fixed, just yet.

    But it is frustrating to need to do programming in order to make APA style look like APA style.
  • Bdarcus, no offense, but do you know APA? Pick up APA 5th or 6th edition.
    If you want people to help you, this isn't at all the way to respond.
  • actually, the current Zotero APA style doesn't capitalize - it just prints whatever is in the title field. Which is why you should try to keep your titles in sentence case.

    The reason we/I don't use the "sentence case" command for any style is that it isn't a very smart command - and I don't think there is any way to make it:
    Specifically, it can't deal with proper names and other things that need to be capitalized - in your first example, the sentence-case command would turn this into
    "Prevalence, severity, andcomorbidity of twelve-month DSM-IV disorders in the national comorbidity survey replication (NCS-R)"
    Which is even more useless. (I believe it gets acronyms right, at least).
    So try to save your titles as sentence case - it's obviously much easier to convert those into title case where required - and you won't have to do it manually for every document.

    If you have a different idea on how to solve this let us know.
  • Thank you Adam. I'm using the beta version of Zotero- and it doesn't given sentence case as an option as far as transform text- nor would I want to transform every article- Can you let me know how to default it to save as sentence case?
  • Also, I like Zotero and I appreciate your response- I don't mean to be negative- but in terms of how this should be handled...I don't see how captitalizing every letter in the title is any "smarter" than sentence case- both require that the user edit every reference.

    I would think sentence case would require far less editing.

    For me, as an academic that writes in APA and AMA format, automatic capitalization is a big time-killer. Adding capitals to a few proper nouns etc doesn't take long.

    Most importantly if there is a way to make the default as sentence case for both AMA and APA, that'd be very helpful.

    Many thanks.
  • well as I said - you can't get real sentence case. I can tell you how to modify your personal copy of the APA style to use sentence case (i.e. a capital letter in the beginning and all lowercase after that):
    In the csl find

    <macro name="title">
    <choose>
    <if type="report thesis" match="any">
    <text variable="title" font-style="italic"/>
    <group prefix=" (" suffix=")">
    <text variable="genre"/>
    <text variable="number" prefix=" No. "/>
    </group>
    </if>
    <else-if type="book speech" match="any">
    <text variable="title" font-style="italic"/>
    </else-if>
    <else>
    <text variable="title"/>
    </else>
    </choose>
    </macro>

    and change it to:

    <macro name="title">
    <choose>
    <if type="report thesis" match="any">
    <text variable="title" font-style="italic" text-case="sentence"/>
    <group prefix=" (" suffix=")">
    <text variable="genre"/>
    <text variable="number" prefix=" No. "/>
    </group>
    </if>
    <else-if type="book speech" match="any">
    <text variable="title" font-style="italic" text-case="sentence"/>
    </else-if>
    <else>
    <text variable="title" text-case="sentence"/>
    </else>
    </choose>
    </macro>
    see
    http://www.zotero.org/support/csl_simple_edits
    for general instructions.

    But as I said I won't put this on the repository.
    Here is the thing about sentence and title case:
    Title case is a pretty simple procedure, so Zotero does it well.
    Sentence case is very complicated (essentially impossible) to do automatically, so Zotero does it poorly.

    Zotero has the ability to print titles as they are in the database. So the best idea is to keep all of your titles in the database in sentence case. This may require editing the title once in the database.
    All the styles that require sentence case will then be correct by just printing what's in the database, all style requiring title case will work by using the text-case="title-case" command in the csl file - so everything will look right.
    On the other hand, with a style that uses the text-case="sentence-case" command, the user will have to manually alter capitalization in the titles in every newly created document - which is why I don't use it.

    The problem with saving to sentence case is actually one of the translators you are using: They have to work with whatever the databases you are scraping from give them - some (many?) work nicely giving you sentence case, others provide title case or even all caps - in those cases there is nothing Zotero can do - you should than transform to lowercase and adjust the title to sentence case manually.
  • There's a ticket for proper sentence case, but, as adamsmith (and the ticket) says, it's a difficult problem, and it probably won't happen soon.
    The problem with saving to sentence case is actually one of the translators you are using: They have to work with whatever the databases you are scraping from give them - some (many?) work nicely giving you sentence case, others provide title case or even all caps
    If you do find your working predominantly with databases that provide proper sentence case, you can disable the extensions.zotero.capitalizeTitles hidden pref.
  • edited December 19, 2009
    There's a ticket for proper sentence case, but, as adamsmith (and the ticket) says, it's a difficult problem, and it probably won't happen soon.
    I fully agree that automatic sentence casing (as would be applied by the CSL processor) would have to be very robust. But the requirements for "Text transform" in Zotero are much less stringent, as here the user will always be able to check and correct any mistakes in the conversion.

    In my current work-flow, I convert all title case titles to sentence case by using the "Text transform > lower case" conversion, followed by manual corrections. A "Text transform > Sentence case" option would save me a considerable amount of work, even though it might not cover all cases (no pun intended). I.e. I would no longer need to recapitalize the first character of the title, and words that are fully capitalized, such as gene names (e.g. PYC2).
  • yes - I was thinking the same thing when I tried this out - who would want a title in lowercase entirely? Just replace that option by sentence case that capitalizes the first letter and acronyms
  • Good idea. Ticket for (rough) sentence case text transform created.
  • Excellent. That would work for me too.
  • Wow. Great work, guys! Look forward to the feature.
  • edited February 3, 2010
    I have the same problem, but use an Autohotkey script (Windows only, so far as I know) as an interim fix.

    Here is a link to a full-featured case manager that is invoked by holding down the Caps Lock key http://www.autohotkey.com/forum/topic34277.html.

    And here, is the code I use just to convert text to sentence case (if you need instructions on how to use Autohotkey, go to www.autohotkey.com). I have the script triggered by Ctrl-Shift-U (highlight the text you want converted and simultaneously press Ctrl, Shift and U), but you can change that to whatever you like. Of course, this works in any context, not just Zotero/Firefox.

    +^u::
    ; Sentence case
    Convert_Sentence()
    RETURN
    Convert_Sentence()
    {
    Clip_Save:= ClipboardAll
    Clipboard:= ""
    Send ^c{delete} ; copy highlighted text to clipboard
    StringLower, Clipboard, Clipboard
    Clipboard := RegExReplace(Clipboard, "(((^|([.!?:]+\s+))[a-z])| i | i')", "$u1")
    Send %Clipboard% ; send desired text
    Len:= Strlen(Clipboard)
    Send +{left %Len%}
    Clipboard:= Clip_Save
    }
  • fabulous fix, bentle. thank you!
  • edited April 5, 2010
    Hi jessicaboykin,

    Here's a small fix to the original script. I changed the trigger key to F6, but edited the script so that it will only affect that key's function when you are in Firefox. I also edited so that it no longer adds the extra space. Anyway, here it is:

    ;SENTENCE CASE FOR SELECTED TEXT IN ZOTERO

    #IfWinActive, ahk_class MozillaUIWindowClass

    F6::
    ; Sentence case
    Convert_ZoteroSentence()
    RETURN
    Convert_ZoteroSentence()
    {
    Clip_Save:= ClipboardAll
    Clipboard:= ""
    Send ^c{delete} ; copy highlighted text to clipboard
    StringLower, Clipboard, Clipboard
    Clipboard := RegExReplace(Clipboard, "(((^|([.!?:]+\s+))[a-z])| i | i')", "$u1")
    Send %Clipboard% ; send desired text
    Len:= Strlen(Clipboard) + 1
    Clipboard:= Clip_Save
    }

    #IfWinActive
  • The problem I have is that some online providers like EBSCO host occasionally import titles in ALL CAPS.

    It would be nice to have a sentence case button next to the Title Field to convert ALL CAPS -> Sentence case

    Obviously, I would have to fix acronyms and what not, but that is easier than retyping the whole thing (see how ms word can toggle cases). Also, I think this kind of thing would be better handled in Zotero's interface than in the CSL.
  • you can already convert all caps--> lowercase which does most of the work (righ-click on the title in Zotero --> Transform Text --> lowercase).
    Adding an option for (pseudo) sentence case is planned, see Dan's post and the ticket above in this thread.
  • Thanks Adam -- I don't know how I missed that! Saves a ton of time!
  • Thanks Adam, I have been using Zotero for a several months and did not know about that feature until I came here searching for a solution since it was driving me crazy having to click my cursor on every word in the title and change it to lowercase one by one!
Sign In or Register to comment.