2010-03-22 58 views

Trả lời

24

@Norman và nhiều người nhận xét khác, chính xác ở chỗ rất khó để làm điều này với bibtex và các công cụ khác. Nhưng có một sự thay thế. Biblatex không cho phép điều này thông qua lệnh \citetitle. Ngoài ra, nếu bạn thực sự muốn, các trình điều khiển định dạng trong biblatex dễ đọc và có thể sửa đổi, nhưng chỉ khi bạn cảm thấy cần thiết. Thật không may, nó không phải là một phần của bất kỳ phân phối nào, vì vậy nó phải được tải xuống và cài đặt.

+0

Tuyệt vời - cảm ơn! – djq

21

Chỉ loại trong tiêu đề. Ngay cả natbib, gói BibTeX phổ biến mạnh mẽ nhất, không đủ mạnh để thực hiện những gì bạn muốn. Cố gắng để BibTeX trích xuất tiêu đề cho bạn, bằng lệnh LateX, có thể, nhưng nó sẽ yêu cầu bạn

  1. Thiết kế định dạng mới cho mục thư mục không tương thích với các định dạng hiện có.
  2. Viết tệp tùy chỉnh của riêng bạn .bst, sử dụng ngôn ngữ postfix rất lạ chỉ được BibTeX sử dụng, để tương thích với định dạng mới của bạn.
  3. Viết lệnh LaTeX mới để lấy thông tin tiêu đề ra khỏi định dạng mới.

Nói với tư cách là người đã viết nhiều tệp tùy chỉnh bst cũng như replacement for BibTeX, nó không đáng để lừa. Sau khi tất cả, nếu bạn đang trích dẫn giấy, bạn có thể biết tiêu đề anyway.


EDIT: Nếu bạn phải làm điều này với nhiều giấy tờ, tôi sẽ cố gắng để lừa. Mở rộng tệp bst để nó ghi vào tệp bbl một lệnh ghi vào tệp aux tiêu đề được liên kết với mỗi bibkey. Bạn có thể lập mô hình lệnh bbl trên \label và lệnh trích dẫn tiêu đề thực tế trên \ref.

+0

Cảm ơn Norman - đó là sự thật, tôi biết tiêu đề, nhưng tôi đang cố gắng tạo một loại tài liệu cụ thể nơi tôi có thể tham khảo các tiêu đề (và hiện có 20 tài liệu tham khảo). Tôi đã tìm thấy một nhà sản xuất tập tin .bst ở đây: http://www.andy-roberts.net/misc/latex/latextutorial3.html – djq

+0

@celenius: Trong trường hợp này, tôi không thấy rằng bạn có bất kỳ lựa chọn nào khác ngoài tự mình viết mã. (Các nhà sản xuất bst là công việc tốt, nhưng bộ chức năng cụ thể đã được thay thế bởi 'natbib'.) Bạn có thể bắt đầu từ bibtex, đau đớn, hoặc bạn có thể bắt đầu từ nbibtex, điều này cũng rất đau đớn, nhưng ở cách. –

+0

Tôi không hoàn toàn làm theo những gì bạn có nghĩa là bằng cách 'mở rộng tập tin bst'. Tôi nghĩ rằng tôi ra khỏi chiều sâu của tôi đối với mã hóa này, vì vậy sẽ chỉ sao chép/dán các tiêu đề. Cảm ơn lời khuyên của bạn. – djq

4

Đây là cách tôi giải quyết vấn đề tiêu đề cho bài báo trích dẫn:

Trong lời mở đầu

bao gồm Natbib:

\usepackage[sort&compress]{natbib} 

Nếu bạn muốn trích dẫn một TITLE thay vì một tác giả trong văn bản bạn xác định tiêu đề như thế này trong phần mở đầu:

\defcitealias{Weiser1996designingcalm}{Designing Calm Technology} 

Lưu ý: Bạn cần có một mục bibtex (cho tiêu đề '' Thiết kế Công nghệ Calm '') với khóa {Weiser1996designingcalm}.

Trong bài báo mà bạn muốn viết tiêu đề bài báo trích dẫn của

\citetalias{Weiser1996designingcalm} 

kết quả này trong =>Designing Calm Technology (tức là văn bản mà bạn chỉ định với \ defcitealias lệnh trên)

hoặc

\citepalias{Weiser1996designingcalm} 

kết quả là =>(Designing Calm Technology) (ví dụ: tiêu đề có dấu ngoặc đơn)

3

Cảm ơn Anders vì gợi ý. \defcitealias dường như là con đường để đi.

Bibtex tạo tệp .bbl chứa các mục nhập thư mục. một cái gì đó như thế

 
\bibitem[\protect\citeauthoryear{Andrienko 
    {\itshape{et~al.}}}{2003}]{Andrienko2003} 
Andrienko, G., Andrienko, N., and Voss, H., 2003. {GIS for Everyone: The 
    CommonGIS Project and Beyond}. {\itshape {In}}: {\itshape {Maps and the 
    Internet}}., 131--146 Elsevier. 

Tôi sử dụng Eclipse, miễn phí và bạn có thể phải áp dụng các biểu thức chính quy trong tệp này khi cần. '\ R' hoạt động như một dấu phân cách dòng độc lập. Dưới đây là một ví dụ về tìm kiếm nhiều dòng:

tìm kiếm:

\\bibitem.*(\R.*)?\R?\{([^{]*)\}\R^[^\\].*\d\d\d\d\.\s([^\.]*\R?[^\.]*)\R?.*\R?.* 

và thay thế:

\\defcitealias{$2}{$3} 

(Đối với bản thân mình tôi sử dụng \\bibitem.*(\R.*)?\R?\{([^{]*)\}$\R^([^\\].*[^\}]$\R.*$\R.*) để có được tất cả các văn bản mục)

Et tạo ra một loạt các \defcitealias có thể được sao chép ở nơi khác:

\defcitealias{Andrienko2003}{{GIS for Everyone: The 
    CommonGIS Project and Beyond}}

Cuối cùng, điều này có thể được sử dụng để xây dựng một lệnh tùy chỉnh như:

\newcommand{\MyCite}[1]{\citet*{#1}. \citetalias{#1}.} 

Được sử dụng như \MyCite{Andrienko2003} và sản xuất: Andrienko et al. (2003). GIS for Everyone: The CommonGIS Project and Beyond.

0

Câu hỏi này là cũ và có thể \citefield không xung quanh trở lại trong những ngày , nhưng bây giờ nó hoạt động như sự quyến rũ cho loại vấn đề này:

\documentclass[varwidth]{standalone} 

\usepackage{biblatex} 
\begin{filecontents}{\jobname.bib} 
@article{example, 
    title = {NAME OF PAPER}, 
} 
\end{filecontents} 
\addbibresource{\jobname.bib} 

\begin{document} 

\citefield{example}{title} 

\end{document} 

Lấy từ số this question.

Các vấn đề liên quan