如何有效地在PPT中加入参考文献?

论坛 期权论坛 股票     
期权匿名问答   2023-2-15 11:30   22535   4
如题。。
现在看到的PPT中参考文献有两种方式的加入方法。。感觉哪种都好麻烦呀。
第一种是:
用论文引用的格式把参考文献贴在当前PPT的最下方。对于一个页面中有多个参考文献的PPT实在太占页面空间也太麻烦了。
第二种是:
在页面上标号[1][2][3]...在PPT最后单独建几页,把参考文献全都集中贴进去。这种方法容易乱,而且对应起来也麻烦(特别是一篇文献被多个页面引用的时候)

想请问一下,有没有什么在PPT中加入参考文献的简便的方法或格式呢?谢谢~
分享到 :
0 人收藏

4 个回复

倒序浏览
2#
期权匿名回答  16级独孤 | 2023-2-15 11:31:04 发帖IP地址来自 北京
我最近也遇到类似的问题,就简单写了一个 VBA 插件来稍微简化 将各页中零散的参考文献 集中到最后一页 并自动编号 的过程,虽然不能完全解决题干中的问题,但能减少一些手工的操作。
它的主要功能包括:

  • 找到当前 PPT 文件中所有具有指定名称的文本框(认为它们是专门用来填写参考文献的),收集其中的参考文献信息(每行对应一条)。
  • 将所有页中找到的参考文献汇总到(新插入的)最后一页,并自动按出现顺序编号(编号格式为 [1], [2], ...)。
  • 此外,在最后一页中,还会在每条参考文献的末尾显示它所出现的那些 PPT 的页数(并包含跳转链接)。
  • 最后,该插件还会自动为前面的每一页中的参考文献进行重新统一编号。
在 Windows 上的演示效果如下:
在下面的示例中,所有的参考文献文本框都事先被命名为 tb_ref,这也是此插件默认处理的名称。

针对上面的功能4,目前能够识别并修正的编号格式包括以下四种:
[数字] xxxx
【数字】 xxxx
数字. xxxx
*xxxxx

用 VBA 插件整理 PPT 参考文献
https://www.zhihu.com/video/1553160758443311104
在 macOS 上的演示效果如下:

用 VBA 插件整理 PPT 参考文献  
https://www.zhihu.com/video/1553167203943583744
下面是上述插件中用到的具体 VBA 代码:
注:需要事先将每一页中对应参考文献的文本框名称统一改为 tb_ref(或者其他名字也可以,在下面代码中由 tb_name 变量定义),才能使用下面的代码自动进行处理。
Sub CollectAllRefs()
    Dim i, j, p, num_slides, count, slide_id As Long
    Dim oSld As Slide
    Dim shp As Shape
    Dim flag As Boolean
    Dim tb_name, tb_text, ret, slide_name As String
    Dim to_write() As String
    Dim tmp As String
    Dim ref_pages() As String
    Dim ref_p() As String

    'tb_name = InputBox("Please enter the name of textboxes that contain references", "Processing references", "tb_ref")
    tb_name = InputBox("请输入含有参考文献的文本框名称", "批量整理参考文献", "tb_ref")
    If StrPtr(tb_name) = 0 Then
        ' User cancels
        Exit Sub
    End If

    ReDim Preserve to_write(0 To 0)
    ReDim Preserve ref_pages(0 To 0)

    num_slides = ActivePresentation.Slides.Count
    For i = 1 To num_slides
        Set oSld = ActivePresentation.Slides(i)

        ' Skip hidden slides
        If oSld.SlideShowTransition.Hidden = msoFalse Then
            For Each oShp In oSld.Shapes
                ' Check to see if shape has a text frame and text
                If oShp.Name = tb_name And oShp.HasTextFrame And oShp.TextFrame.HasText Then
                    For p = 1 To oShp.TextFrame.TextRange.Paragraphs.Count
                        tb_text = oShp.TextFrame.TextRange.Paragraphs(p).Text
                        tb_text = Replace(tb_text, vbCrLf, "")
                        tb_text = Replace(tb_text, vbCr, "")
                        tb_text = Replace(tb_text, vbLf, "")
                        tb_text = Replace(tb_text, vbNewLine, "")
                        If Trim(tb_text & vbNullString) <> vbNullString Then
                            ' Not an empty string
                            ret = ProcessOneString(tb_text, to_write)

                            If Left(ret, 1) <> "*" Then
                                ' Add a new reference
                                ReDim Preserve to_write(0 To (UBound(to_write, 1) + 1))
                                j = UBound(to_write, 1)
                                to_write(j) = ret
                                ReDim Preserve ref_pages(0 To (UBound(ref_pages, 1) + 1))
                                ref_pages(UBound(ref_pages, 1)) = CStr(i)
                            Else
                                ' Found an existing reference
                                j = CLng(Mid(ret, 2, Len(ret)))
                                ret = to_write(j)
                                ref_pages(j) = ref_pages(j) & "," & CStr(i)
                            End If

                            ' Modify the numbering in each slide
                            count= InStr(1, oShp.TextFrame.TextRange.Paragraphs(p).Text, ret, vbTextCompare)
                            If count = 0 Then
                                ' This should not happen for normal cases
                                Debug.Print tb_text & vbNewLine & ret & vbNewLine & "==========" & vbNewLine
                            End If
                            With oShp.TextFrame.TextRange.Paragraphs(p)
                                .Characters(1, count - 1) = ""
                                .InsertBefore("[" & j - LBound(to_write) & "] ")
                            End With
                        End If
                    Next p
                End If
            Next oShp
        End If
    Next i

    Set oSld = ActivePresentation.Slides.Add(Index:=ActivePresentation.Slides.count + 1, Layout:=ppLayoutBlank)
    With oSld.Shapes.AddTextbox( _
        Orientation:=msoTextOrientationHorizontal, _
        Left:=ActivePresentation.PageSetup.SlideWidth * 0.1, _
        Top:=ActivePresentation.PageSetup.SlideHeight * 0.1, _
        Width:=ActivePresentation.PageSetup.SlideWidth * 0.8, _
        Height:=ActivePresentation.PageSetup.SlideHeight * 0.8 _
    ).TextFrame
        count = 0
        For i = LBound(to_write) To UBound(to_write)
            If Trim(to_write(i) & vbNullString) <> vbNullString Then
                count = count + 1
                tmp = "[" & count & "] " & to_write(i) & " "
                With .TextRange.InsertAfter(tmp)
                    .Font.Superscript = msoFalse
                End With

                ' Add link to pages that refer to the references
                ref_p = Split(ref_pages(i), ",")
                flag = msoFalse
                For j = LBound(ref_p) To UBound(ref_p)
                    If Trim(ref_p(j) & vbNullString) <> vbNullString Then
                        If flag Then
                            With .TextRange.InsertAfter(", ")
                                .Font.Superscript = msoTrue
                            End With
                        End If
                        With .TextRange.InsertAfter(ref_p(j))
                            slide_id = ActivePresentation.Slides(CLng(ref_p(j))).SlideID
                            slide_name = ActivePresentation.Slides(CLng(ref_p(j))).Name
                            .ActionSettings(1).Hyperlink.SubAddress = slide_id & "," & ref_p(j) & "," & slide_name
                            .Font.Superscript = msoTrue
                        End With
                        flag = msoTrue
                    End If
                Next j
                If i < UBound(to_write) Then
                    With .TextRange.InsertAfter(vbNewLine)
                        .Font.Superscript = msoFalse
                    End With
                End If
            End If
        Next i
        .AutoSize = ppAutoSizeShapeToFitText
    End With

    If count > 0 Then
        'MsgBox "Added " & count & " references at the end"
        MsgBox "已在尾页添加 " & count & " 条参考文献"
    Else
        oSld.Delete
        'MsgBox "No reference is found"
        MsgBox "未找到参考文献"
    End If
End Sub


Function ProcessOneString(in_text As Variant, all_text As Variant) As String
    Dim j As Long
    Dim found_match As Boolean
    Dim record As String

    Dim strPattern As String
    #If Mac Then
        sMacScript = "set s to """ & in_text & """" & vbNewLine & _
        "set srpt to ""echo \"""" & s & ""\"" | sed -r \""s/^([0-9]+([[:space:]]|\\.)|[[【][0-9]+[]】]|\\*)[[:space:]]*//\""""" & vbNewLine & _
        "return (do shell script srpt)"

        Debug.Print sMacScript
        in_text = MacScript(sMacScript)
    #Else
        strPattern = "^([0-9]+[\s\.]|[\[【][0-9]+[\]】]|\*)\s*"
        Set regEx = CreateObject("VBScript.RegExp")
        With regEx
            .Global = True
            .MultiLine = False
            .IgnoreCase = True
            .Pattern = strPattern
        End With

        If regEx.TEST(in_text) Then
            in_text = regEx.Replace(in_text, "")
        End If
    #End If

    found_match = msoFalse
    For j = LBound(all_text) To UBound(all_text)
        record = CStr(all_text(j))
        If Trim(record & vbNullString) <> vbNullString Then
            If InStr(1, record, in_text, vbTextCompare) > 0 Then
                found_match = msoTrue
                ProcessOneString = "*" & CStr(j)
                Exit For
            End If
        End If
    Next j
    If found_match = msoFalse Then
        ProcessOneString = in_text
    End If

End Function要想使用此代码,一种方式是直接打开「开发者工具」→「Visual Basic」编辑器→「插入」→「模块」,填入上述代码,然后点击三角按钮运行:



在 Windows 版 PowerPoint 中打开 Visual Basic 编辑器,并插入「模块」



在 Mac 版 PowerPoint 中打开 Visual Basic 编辑器,并插入「模块」

另一种使用方式是参考下面的文章来制作 VBA 插件:
Emrys:Windows/macOS 上的 PPT 插件自制指南
3#
期权匿名回答  16级独孤 | 2023-2-15 11:31:18 发帖IP地址来自 北京邮电大学
使用PPT演讲也存在学术规范问题,需要对使用的其它资源给出必要引用。然而,与在文章中引用文献的方式不同,当我们需要在PPT中引用文献、图片、网页和视频等资源时,不仅需要考虑其传递信息的严谨性,还要顾及PPT展示的实际效果。本文将主要对用于正式场合(例如学术答辩)的PPT的引用规范提出一些建议。





来源:https://www.slideserve.com/gannon/citation-format-for-powerpoint-slides-cite-your-sources-for-credibility-and-to-avoid-plagiarism

为何需要在PPT中规范引用各类资源?

1.准确引用他人作品是对原作者著作权的尊重,也是版权意识的体现。
2.增强PPT内容的说服性。
3.便于感兴趣的观众了解更多相关信息。

在PPT中引用资源应该如何标注?

1.两种不同位置处的引用标注

①引用处:例如我们在PPT某页引用了某篇文章的段落,考虑到PPT的简洁性和易读性,简单地在引用处标注创作者的姓名和文章的发表年份即可(在没有特殊要求的情况下,不需要像学术论文一样标注文献序号)。见例1:

One would expect that this separation would lead to a thicker boundary layer with the consequence of a shock location further upstream. (Lien et al, 1998)

对于其他的资源类型,该方式同样适用。


需要注意的是,对于篇幅较长的书籍,引用内容在原著中处在何处是个有用信息。我们可以在引用处标注作者姓氏、年份和段落所在页码,如(John, 2021, p.97),这样会更加便于资料查找。

对于视频和网页等资源类型,可能较难获取创作者的真实姓名,可以用账户名替代。

②引用总结页处:由于上述方式势必省略了一些必要的引用信息,所以应该在PPT最后部分单独设置页面再对所引用的资源进行细致的总结整理。见例2:

Reference
[1] Lien, Fue-Sang & Kalitzin, G. & Durbin, Paul. (1998). RANS modeling for compressible and transitional flows. Proceedings of the Summer Program 1998.[2] …[3] …


由于在引用处我们简单标注即可,所以接下来的内容我们主要介绍对于不同的参考资料引用处的标注位置以及总结页部分的引用格式。

2.引用处的标注位置

通常情况下,在PPT某页中引用处有两种常用的标注来源的位置,第一种是紧随引用材料标注,如标注在文后、图下等位置,第二种是在PPT每页的固定位置特设版块用于标注(例如右上角或右下角)。

第一种方法较第二种传递信息更加直接,且更大程度上节约了PPT的空间。但对于不同类型资源,第一种方法的标注位置也存在一定区别,具体见下:

①引用文字:跟随引用词、句或者段落等后用括号标注,同例1。

②引用图片、音视频等资源:通常标注在图片、音视频下方即可,如果需要写明标题(题注),则标注在标题下方或后方。见例3:




③引用表格:与图片相反,通常标注在表格的上方或表格标题后。

④引用公式:如果仅引用单个公式则按文字类资源相同的方式,在公式后标注来源即可。但当需要引用引用大量公式,则可以按顺序给公式编号并在页面中最后一个引用处进行来源标注。

⑤引用数据:紧随数据或数据标题后方标注来源。在图形中可能有不同来源的数据点,此时需要针对每类来源的元素标注来源,见例4:




根据PPT的内容和讲演需求可以灵活选用不同的标注位置,但需要注意的是,无论选择哪一种标注位置都需要保持前后风格统一,不可串用。

3.引用总结页的标注方式

①引用文献和书籍

采用与学术论文中引用参考文献的相似方式,按照PPT使用需求选择相应格式引用即可,本文不进一步详述,具体内容可参考本公众号“如何引用参考文献”一文,也可自行搜索了解。

②引用图表

对于图表资源,我们应该在引用之前明确其版权规定以及是否存在特定的引用要求。

引用所需要包含的基本信息有:创作者的姓名、发布日期和地址、图表标题、出版商或者网站名、图表形式和图表网址等。见例5:

[2] Lauren Hughes. (2020). NASA F/A-18 Towed at Sunrise for Flight [Photograph]. NASA. https://www.nasa.gov/sites/default/files/thumbnails/image/afrc2020-0082-04.jpg.

③引用视频


引用所需要包含的基本信息有:创作者的真实姓名或账户名、视频标题、视频网址、网站名和发布日期等。见例6:

[3] Gilbert Strang. (2020). Intro: A New Way to Start Linear Algebra. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu/resources/res-18-010-a-2020-vision-of-linear-algebra-spring-2020/videos/a-new-way-to-start-linear-algebra.

④引用网页


引用所需要包含的基本信息有:网站名或作者姓名、网页名或文章标题、网页网址和发布日期等。见例7:




[4] Linda Lowry. (2021). Citing Business Sources in APA Style. Brock University Library, https://researchguides.library.brocku.ca/APABusiness/cite-in-presentation.

⑤引用其他资源(例如演讲、其他PPT等)

引用演讲:引用总结页所需要包含的基本信息有:演讲者姓名、年份、演讲主题、演讲形式和演讲地点等。见例8:
[5] Martin Luther King. (1963). I Have a Dream. Speech, Washington.
引用其他PPT:引用总结页应该再补充其被检索到的网址等详细信息。见例9:



[6] Gilbert Strang. (2020). A 2020 Vision of Linear Algebra. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu/resources/res-18-010-a-2020-vision-of-linear-algebra-spring-2020/videos/MITRES_18_010S20_LA_Slides.pdf.
对于其他的引用资源,在引用处和其他的类型相同,标注作者姓名和发表年份即可。而在引用总结页则应该尽可能地补充有效信息使得资源易于检索。

引用总结页制作时应该注意什么?
1. 字体大小建议在18号以上,根据不同PPT的设计可采用不同的字体大小,但前提是保证观众能够清晰地看见引用内容。同时应该注意字体的统一性,中文建议选用微软雅黑和黑体等字体,英文建议选用Times New Roman和Arial等字体
2. 当参考资源较多时避免将大量的引用信息堆积在单页上,单页文字应该尽量少于12行。
3.引用总结页中资源的排列顺序应该和PPT中出现的先后顺序保持一致。
下图为总结页参考设置:


PPT中引用的核心是要尽量说明作者、引用出处和时间等相关信息使得资源便于被检索到,精简标注、严谨概括即可。

更专业的介绍请游览https://www.slideserve.com/gannon/citation-format-for-powerpoint-slides-cite-your-sources-for-credibility-and-to-avoid-plagiarism


本文参考文献
[1] Nuts & Bolts for PowerPoint. How to Cite a Website, Book, YouTube Video, etc. in PowerPoint.
[2] Linda Lowry. (2021). Citing Business Sources in APA Style. Brock University Library, https://researchguides.library.brocku.ca/APABusiness/cite-in-presentation.
[3] TheWindowsClub. How to put References or cite Sources in PowerPoint. https://www.thewindowsclub.com/how-to-put-references-or-cite-sources-in-powerpoint.
[4] Lauren Hughes. (2020). NASA F/A-18 Towed at Sunrise for Flight [Photograph]. NASA. https://www.nasa.gov/sites/default/files/thumbnails/image/afrc2020-0082-04.jpg.
[5] Lien, Fue-Sang & Kalitzin, G. & Durbin, Paul. (1998). RANS modeling for compressible and transitional flows. Proceedings of the Summer Program 1998.
[6] Haase W , Brandsma F , Elsholz E , et al. (1993). EUROVAL — An European Initiative on Validation of CFD Codes[J]. Notes on Numerical Fluid Mechanics & Multidisciplinary Design.
[7] Gilbert Strang. (2020). A 2020 Vision of Linear Algebra. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu/resources/res-18-010-a-2020-vision-of-linear-algebra-spring-2020/videos/MITRES_18_010S20_LA_Slides.pdf.
4#
期权匿名回答  16级独孤 | 2023-2-15 11:31:44 发帖IP地址来自 北京
很不好意思,这个问题的回答很可能会让题主非常失望。
答案就是,目前PPT中似乎并没有和Word中类似的功能或插件能够方便的插入参考文献。

个人分析,原因可能在于Word是一个很有用、很常用的制作毕业论文的工具,所以“引入参考文献”这种本身就是做毕业论文必备步骤的功能自然会有,并且全世界已经以这种方式或者利用插件实现插入参考文献的功能很多年了。

而PPT作为一个展示你想法的工具,本身就不存在“引入参考文献”这种需求,所以PPT就没有加入这种功能,只能自己手工输入粘贴了。

奥,对了,Latex好像已经有生成PPT模板的功能,有时间我会研究一下。要是有结果的话,我会尽快回来更新,看看Latex+PPT,是否能实现题主的要求。
5#
期权匿名回答  16级独孤 | 2023-2-15 11:32:08 发帖IP地址来自 北京
谢邀。我觉得这是一个值得探讨的问题。
请恕我愚昧,没能搞明白为什么要标注参考文献——既然已经做成用于展示的PPT,本就应以图表优先,不宜将大篇幅的文本和数据放在PPT上,因而没有必要标注参考文献。这样的PPT和Doc文档没有差别吧?
题主在问题描述中列举的两个方式,是格式层面而不是技巧层面的,因而和有效与否没有任何关系。至于之前的答主提到的Endnote,可能也会是个不错的选择。
我的看法(只能说看法,没有任何经验和办法可言)是:
1、能够不标注的尽量不要标注。PPT终究不是WORD,用途是演示。要使你的PPT达到最大的效用,吸引观众的注意力才是关键,而参考文献在屏幕上是无关要紧的。
2、如果标注参考文献仅是为了备考和必要时作为参考依据,那么,我更建议你把参考文献写在备注栏上。
3、如果参考文献作为内容的一部分对于整个演示文稿是十分重要的并且需要让观众看见,那么不妨在排版上特别安排。可以在PPT上划出固定的一小部分,专门用于标注参考文献,每页如此。如图:


因为很久没写论文,不记得引用参考文献的格式了,大概这样吧。但是这种排版是会牺牲页面空间的。
4、把参考文献集中到一页幻灯片上,不是不可取,但要注意不能指望翻来翻去地告诉观众这堆文献在哪一页标注出来了——列出参考文献的用处可能已经变成向观众推荐阅读这些资料。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:400157
帖子:80032
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP