Books and "Retrieved from" with APA

I've been importing book citations from various online sources (Amazon, Lib. Catalogs, Google Books). When I export them in APA format, I get a "Retrieved from ." at the end of the book citation. Since I actually use a print copy and there's often no URL, I'd like to find a way to remove that from the CSL. But I can't figure out how that would be done. Anybody else with the same problem/solution?
  • Uncheck "Include URLs of paper articles in references" in the export tab of the Zotero preferences.

    Or delete the URL from your record.
  • Did both already and its still a problem--sorry, should have mentioned that.
  • Please paste the full citation that it gives. It should obviously not have the text "retrieved from" when there is no URI to give to say where it is from.
  • I'll drag it right in:

    Sayer, R. A. (1995). Radical political economy. Wiley-Blackwell. Retrieved from .
  • FWIW: you can modify the CSL file by removing <text macro="access"/>. But I don't think you should need to do this to fix your problem.
  • Here's what I get from a new manually entered book with that info:Sayer, R. A. (1995). Radical political economy. Wiley-Blackwell.Check to make sure your URL field is really empty. If my URL field has a period, I get:Sayer, R. A. (1995). Radical political economy. Wiley-Blackwell. Retrieved from .
  • It's empty. This was imported from Google Books--not sure if that makes a difference. I also made the changes noted in another thread to get rid of the doi for journals, but not sure that's relevant.
  • This was imported from Google Books--not sure if that makes a difference.
    It should not. When I download the book from http://books.google.com/books?id=ROQyTN9MwswC and remove the URL & accessed date, the citation is appropriate with the stock version of APA.csl.
    I also made the changes noted in another thread to get rid of the doi for journals, but not sure that's relevant.
    Given that you're no longer running the canonical version of the style file & I don't know precisely what changes you made, I have no idea. It does not appear to be a bug in the current versions of apa.csl style or Zotero.

    As above, you can modify the style fairly trivially to make it so it doesn't use any access information at all.
  • Another case to remind people: don't modify CSL styles without either a) submitting the changes to here, or b) creating a new style (where in this case, the bug is obviously with the style).
  • Here's a thread with the changes I made:

    http://forums.zotero.org/discussion/4884/doi-reference-in-apastyle/

    It does affect the access macro, so maybe it's relevant. I'm not sure why the DOI variable was there for APA in the first place, since to my knowledge it's not part of the citation style.
  • That's the problem, though. There's no issue when I go back to the stock APA format. But then I'm stuck with the doi, which is just as frustrating. Argh!
  • Never mind--it looks like APA is now including doi's:
    http://ksulib.typepad.com/talking/2008/03/recent-changes.html

    Thanks for the help--I'll just go back to the stock style.
  • edited June 4, 2009
    A related question that is probably mostly directed to Bruce: I was playing around a bit with csledit.xul, but for some reason I wasn't successful in checking for a value of the "accessed" cs-date-token. E.g. this works as expected (no output if the URL field is empty, output if it's not empty):
    <macro name="access">
    <choose>
    <if variable="URL">
    <text value="test"/>
    </if>
    </choose>
    </macro>

    But both these tests never result in any output:
    <if variable="accessed">and
    <if is-date="accessed">
    Both are valid tests, right? Does that mean the CSL processor doesn't handle things correctly? The original code of the access macro does output the accessed date if present:
    <date variable="accessed" suffix=", ">
    <date-part name="month" suffix=" "/>
    <date-part name="day" suffix=", "/>
    <date-part name="year"/>
    </date>
  • Hi Rintze, i observerd a similar behaviour:

    <macro name="date-webpage-accessed">
    <choose>
    <if variable="accessed" match="any">
    <date variable="accessed">
    <date-part name="day" suffix="."/>
    <date-part name="month" form="numeric-leading-zeros" suffix="."/>
    <date-part name="year"/>
    </date>
    </if>
    <else>
    <text term="no date"/>
    </else>
    </choose>
    </macro>

    This code always results in displaying the "no date" term. Without the "else" statement it shows nothing. But when i delete the whole conditional statement the accessed-dates are shown correctly (where they are available):

    <macro name="date-webpage-accessed">
    <date variable="accessed">
    <date-part name="day" suffix="."/>
    <date-part name="month" form="numeric-leading-zeros" suffix="."/>
    <date-part name="year"/>
    </date>
    </macro>

    I thought this might mean that testing dates is not possible, but the same code testing the "issued" -date works correctly:


    <macro name="date-webpage-issued">
    <choose>
    <if variable="issued" match="any">
    <date variable="issued">
    <date-part name="day" suffix="."/>
    <date-part name="month" form="numeric-leading-zeros" suffix="."/>
    <date-part name="year"/>
    </date>
    </if>
    <else>
    <text term="no date"/>
    </else>
    </choose>
    </macro>

    i really dont understand that.
    - peter -
  • I think this may be a bug with the accessibility of the "Accessed" field (present still in 2.0b7.4).

    I believe I have found a fix which I will try to submit shortly.
Sign In or Register to comment.