毕设外文资料翻译格式
毕业论文外文翻译格式【范本模板】

因为学校对毕业论文中的外文翻译并无规定,为统一起见,特做以下要求:1、每篇字数为1500字左右,共两篇;2、每篇由两部分组成:译文+原文.3 附件中是一篇范本,具体字号、字体已标注。
外文翻译(包含原文)(宋体四号加粗)外文翻译一(宋体四号加粗)作者:(宋体小四号加粗)Kim Mee Hyun Director, Policy Research & Development Team,Korean Film Council(小四号)出处:(宋体小四号加粗)Korean Cinema from Origins to Renaissance(P358~P340) 韩国电影的发展及前景(标题:宋体四号加粗)1996~现在数量上的增长(正文:宋体小四)在过去的十年间,韩国电影经历了难以置信的增长。
上个世纪60年代,韩国电影迅速崛起,然而很快便陷入停滞状态,直到90年代以后,韩国电影又重新进入繁盛时期。
在这个时期,韩国电影在数量上并没有大幅的增长,但多部电影的观影人数达到了上千万人次。
1996年,韩国本土电影的市场占有量只有23.1%。
但是到了1998年,市场占有量增长到35。
8%,到2001年更是达到了50%。
虽然从1996年开始,韩国电影一直处在不断上升的过程中,但是直到1999年姜帝圭导演的《生死谍变》的成功才诞生了韩国电影的又一个高峰。
虽然《生死谍变》创造了韩国电影史上的最高电影票房纪录,但是1999年以后最高票房纪录几乎每年都会被刷新。
当人们都在津津乐道所谓的“韩国大片”时,2000年朴赞郁导演的《共同警备区JSA》和2001年郭暻泽导演的《朋友》均成功刷新了韩国电影最高票房纪录.2003年康佑硕导演的《实尾岛》和2004年姜帝圭导演的又一部力作《太极旗飘扬》开创了观影人数上千万人次的时代。
姜帝圭和康佑硕导演在韩国电影票房史上扮演了十分重要的角色。
从1993年的《特警冤家》到2003年的《实尾岛》,康佑硕导演了多部成功的电影。
毕业论文 外文翻译格式

毕业论文外文翻译格式毕业论文外文翻译格式在撰写毕业论文时,外文翻译是一个重要的环节。
无论是引用外文文献还是翻译相关内容,都需要遵循一定的格式和规范。
本文将介绍一些常见的外文翻译格式,并探讨其重要性和应用。
首先,对于引用外文文献的格式,最常见的是使用APA(American Psychological Association)格式。
这种格式要求在引用外文文献时,先列出作者的姓氏和名字的首字母,然后是出版年份、文章标题、期刊名称、卷号和页码。
例如:Smith, J. D. (2010). The impact of climate change on biodiversity. Environmental Science, 15(2), 145-156.在翻译外文文献时,需要注意保持原文的准确性和完整性。
尽量避免意译或添加自己的解释,以免歪曲原文的意思。
同时,还需要在翻译后的文献后面加上“译者”和“翻译日期”的信息,以便读者可以追溯翻译的来源和时间。
其次,对于翻译相关内容的格式,可以参考国际标准组织ISO(International Organization for Standardization)的格式。
这种格式要求在翻译相关内容时,先列出原文,然后是翻译后的文本。
例如:原文:The importance of effective communication in the workplace cannot be overstated.翻译:工作场所有效沟通的重要性不容忽视。
在翻译相关内容时,需要注意保持原文的意思和语气。
尽量使用准确的词汇和语法结构,以便读者能够理解和接受翻译后的内容。
同时,还需要在翻译后的文本后面加上“翻译者”和“翻译日期”的信息,以便读者可以追溯翻译的来源和时间。
此外,对于长篇外文文献的翻译,可以考虑将其分成若干章节,并在每个章节前面加上章节标题。
这样可以使读者更容易理解和阅读翻译后的内容。
英文文献及中文翻译撰写格式

关于毕业设计说明书(论文)英文文献及中文翻译撰写格式为提高我校毕业生毕业设计说明书(毕业论文)的撰写质量,做到毕业设计说明书(毕业论文)在内容和格式上的统一和规范,特规定如下:一、装订顺序论文(设计说明书)英文文献及中文翻译内容一般应由3个部分组成,严格按以下顺序装订。
1、封面2、中文翻译3、英文文献(原文)二、书写格式要求1、毕业设计(论文)英文文献及中文翻译分毕业设计说明书英文文献及中文翻译和毕业论文英文文献及中文翻译两种,所有出现相关字样之处请根据具体情况选择“毕业设计说明书” 或“毕业论文”字样。
2、毕业设计说明书(毕业论文)英文文献及中文翻译中的中文翻译用Word 软件编辑,英文文献用原文,一律打印在A4幅面白纸上,单面打印。
3、毕业设计说明书(毕业论文)英文文献及中文翻译的上边距:30mm;下边距:25mm;左边距:3Omm;右边距:2Omm;行间距1.5倍行距。
4、中文翻译页眉的文字为“中北大学2019届毕业设计说明书” 或“中北大学××××届毕业论文”,用小四号黑体字,页眉线的上边距为25mm;页脚的下边距为18mm。
5、中文翻译正文用小四号宋体,每章的大标题用小三号黑体,加粗,留出上下间距为:段前0.5行,段后0.5行;二级标题用小四号黑体,加粗;其余小标题用小四号黑体,不加粗。
6、文中的图、表、附注、公式一律采用阿拉伯数字分章编号。
如图1.2,表2.3,附注3.2或式4.3。
7、图表应认真设计和绘制,不得徒手勾画。
表格与插图中的文字一律用5号宋体。
每一插图和表格应有明确简短的图表名,图名置于图之下,表名置于表之上,图表号与图表名之间空一格。
插图和表格应安排在正文中第一次提及该图表的文字的下方。
当插图或表格不能安排在该页时,应安排在该页的下一页。
图表居中放置,表尽量采用三线表。
每个表应尽量放在一页内,如有困难,要加“续表X.X”字样,并有标题栏。
外文翻译格式以及封面

外文翻译撰写格式要求
1、外文翻译一律打印,采取A4纸张,页边距一律采取:上、下2.5cm,左3cm,右1.5cm,行间距取多倍行距(设置值为1.25);字符间距为默认值(缩放100%,间距:标准),封面采用教务处统一规定的封面。
2、字数及字体要求
(1)外文翻译所用字体要求为宋体;(2)外文翻译字数要求3000字以上。
3、字号
第一层次题序和标题用小三号黑体字;第二层次题序和标题用四号黑体字;第三层次及以下题序和标题与第二层次同;正文用小四号宋体。
4、页眉及页码
外文翻译各页均加页眉,采用宋体五号宋体居中,打印“河北大学XXXX 届本科生毕业外文翻译”。
页码从正文开始在页脚按阿拉伯数字(宋体小五号)连续编排,居中书写。
5、外文资料及译文
外文资料可用A4纸复印,如果打印,采用小四号Times New Roman字体,译文采用小四号宋体打印。
(要求附原文复印件(A4纸张)
6、外文翻译封面见下页模板
7、电子文档在学院FTP毕业设计相关材料文件夹里
本科生外文文献翻译
外文题目:Hardware-in-the-Loop Simulation System in the Development of Temperature Controller of Plastic Extruder 中文题目
: 硬件在环仿真系统在塑料挤出机温度控制器的发展中的应用
学 院 电子信息工程学院 学科门类 工学 专 业 自动化 学 号 2010448022 姓 名 李珊
装
订
线
指导教师郝雷。
3外文翻译模板格式及要求

杭州电子科技大学毕业论文外文文献翻译要求根据《普通高等学校本科毕业设计(论文)指导》的内容,特对外文文献翻译提出以下要求:一、翻译的外文文献可以是一篇,也可以是两篇,但总字符要求不少于1.5万(或翻译成中文后至少在3000字以上)。
二、翻译的外文文献应主要选自学术期刊、学术会议的文章、有关著作及其他相关材料,应与毕业论文(设计)主题相关,并作为外文参考文献列入毕业论文(设计)的参考文献。
并在每篇中文译文首页用“脚注”形式注明原文作者及出处,中文译文后应附外文原文。
脚注的方法:插入----引用---脚注和尾注三、中文译文的基本撰写格式为:1.题目:采用小三号、黑体字、居中打印;2.正文:采用小四号、宋体字,行间距为固定值20磅,标准字符间距。
页边距为左3cm,右2.5cm,上下各2.5cm,页面统一采用A4纸。
英文原文如为word文档,请用罗马字体排版,段前空两格。
从正文开始编写页码,页码居中。
四、封面格式由学校统一制作(注:封面上的“翻译题目”指中文译文的题目),填充内容为加粗小三号楷体_GB2312,并按“封面、译文一、外文原文一、译文二、外文原文二、考核表”的顺序统一装订。
五、忌自行更改表格样式,学号请写完整。
封面和考核表均为一页纸张,勿换行换页。
毕业论文外文文献翻译毕业设计(论文)题目Xxx翻译(1)题目指翻译后的中文译文的题目翻译(2)题目指翻译后的中文译文的题目学院会计学院(以本模板为准)专业会计学(以本模板为准)姓名XXXXXX(以本模板为准)班级XX020811(以本模板为准)学号XX023101(以本模板为准)指导教师XXXXXX(以本模板为准)外文翻译考核表。
毕业设计(论文)外文资料和译文格式要求(模板)

成都东软学院外文资料和译文格式要求一、译文必须采用计算机输入、打印,幅面A4。
外文资料原文(复印或打印)在前,译文在后,于左侧装订。
二、具体要求1、至少翻译一篇内容与所选课题相关的外文文献。
2、译文汉字字数不少于4000字。
3、正文格式要求:宋体五号字。
译文格式参见《译文格式要求》,宋体五号字,单倍行距。
纸张纸张为A4纸,页边距上2.54cm、下2.54cm、左3.17cm、右3.17cm。
装订外文资料原文(复印或打印)在前,译文在后封面封面的专业、班级、姓名、学号等信息要全部填写正确。
封面指导教师必须为讲师以上职称,若助教则需要配备一名讲师协助指导。
讲师在前,助教在后。
指导教师姓名后面空一个中文空格,加职称。
页眉页眉说明宋体小五,左端“XX学院毕业设计(论文)”,右端“译文”。
页眉中的学院名称要与封面学院名称一致。
字数本科4000字。
附:外文资料和译文封面、空白页成都东软学院外文资料和译文专业:软件工程移动互联网应用开发班级:2班姓名:罗荣昆学号:12310420216指导教师:2015年 12月 8日Android page layoutUsing XML-Based LayoutsW hile it is technically possible to create and attach widgets to our activity purely through Java code, the way we did in Chapter 4, the more common approach is to use an XML-based layout file. Dynamic instantiation of widgets is reserved for more complicated scenarios, where the widgets are not known at compile-time (e g., populating a column of radio buttons based on data retrieved off the Internet).With that in mind, it’s time to break out the XML and learn how to lay out Android activities that way.What Is an XML-Based Layout?As the name suggests, an XML-based layout is a specification of widgets’ relationships to each other—and to their containers (more on this in Chapter 7)—encoded in XML format. Specifi cally, Android considers XML-based layouts to be resources, and as such layout files are stored in the res/layout directory inside your Android project.Each XML file contains a tree of elements specifying a layout of widgets and their containers that make up one view hierarchy. The attributes of the XML elements are properties, describing how a widget should look or how a container should behave. For example, if a Button element has an attribute value of android:textStyle = "bold", that means that the text appearing on the face of the button should be rendered in a boldface font style.Android’s SDK ships with a tool (aapt) which uses the layouts. This tool should be automatically invoked by your Android tool chain (e.g., Eclipse, Ant’s build.xml). Of particular importance to you as a developer is that aapt generates the R.java source file within your project, allowing you to access layouts and widgets within those layouts directly from your Java code. Why Use XML-Based Layouts?Most everything you do using XML layout files can be achieved through Java code. For example, you could use setTypeface() to have a button render its textin bold, instead of using a property in an XML layout. Since XML layouts are yet another file for you to keep track of, we need good reasons for using such files.Perhaps the biggest reason is to assist in the creation of tools for view definition, such as a GUI builder in an IDE like Eclipse or a dedicated Android GUI designer like DroidDraw1. Such GUI builders could, in principle, generate Java code instead of XML. The challenge is re-reading the UI definition to support edits—that is far simpler if the data is in a structured format like XML than in a programming language. Moreover, keeping generated XML definitions separated from hand-written Java code makes it less likely that somebody’s custom-crafted source will get clobbered by accident when the generated bits get re-generated. XML forms a nice middle ground between something that is easy for tool-writers to use and easy for programmers to work with by hand as needed.Also, XML as a GUI definition format is becoming more commonplace. Microsoft’s XAML2, Adobe’s Flex3, and Mozilla’s XUL4 all take a similar approach to that of Android: put layout details in an XML file and put programming smarts in source files (e.g., JavaScript for XUL). Many less-well-known GUI frameworks, such as ZK5, also use XML for view definition. While “following the herd” is not necessarily the best policy, it does have the advantage of helping to ease the transition into Android from any other XML-centered view description language. OK, So What Does It Look Like?Here is the Button from the previous chapter’s sample application, converted into an XMLlayout file, found in the Layouts/NowRedux sample project. This code sample along with all others in this chapter can be found in the Source Code area of .<?xml version="1.0" encoding="utf-8"?><Button xmlns:android="/apk/res/android"android:id="@+id/button"android:text=""android:layout_width="fill_parent"android:layout_height="fill_parent"/>The class name of the widget—Button—forms the name of the XML element. Since Button is an Android-supplied widget, we can just use the bare class name. If you create your own widgets as subclasses of android.view.View, you would need to provide a full package declara tion as well.The root element needs to declare the Android XML namespace:xmlns:android="/apk/res/android"All other elements will be children of the root and will inherit that namespace declaration.Because we want to reference this button from our Java code, we need to give it an identifier via the android:id attribute. We will cover this concept in greater detail later in this chapter.The remaining attributes are properties of this Button instance:• android:text indicates the initial text to be displayed on the button face (in this case, an empty string)• android:layout_width and android:layout_height tell Android to have the button’swidth and height fill the “parent”, in this case the entire screen—these attributes will be covered in greater detail in Chapter 7.Since this single widget is the only content in our activity, we only need this single element. Complex UIs will require a whole tree of elements, representing the widgets and containers that control their positioning. All the remaining chapters of this book will use the XML layout form whenever practical, so there are dozens of other examples of more complex layouts for you to peruse from Chapter 7 onward.What’s with the @ Signs?Many widgets and containers only need to appear in the XML layout file and do not need to be referenced in your Java code. For example, a static label (TextView) frequently only needs to be in the layout file to indicate where it should appear. These sorts of elements in the XML file do not need to have the android:id attribute to give them a name.Anything you do want to use in your Java source, though, needs an android:id.The convention is to use @+id/... as the id value, where the ... represents your locally unique name for the widget in question. In the XML layout example in the preceding section, @+id/button is the identifier for the Button widget.Android provides a few special android:id values, of the form @android:id/.... We will see some of these in various chapters of this book, such as Chapters 8 and 10.We Attach These to the Java How?Given that you have painstakingly set up the widgets and containers in an XML layout filenamed main.xml stored in res/layout, all you need is one statement in your activity’s onCreate() callback to use that layout:setContentView(yout.main);This is the same setContentView() we used earlier, passing it an instance of a View subclass (in that case, a Button). The Android-built view, constructed from our layout, is accessed from that code-generated R class. All of the layouts are accessible under yout, keyed by the base name of the layout file—main.xml results in yout.main.To access our identified widgets, use findViewById(), passing in the numeric identifier of the widget in question. That numeric identifier was generated by Android in the R class asR.id.something (where something is the specific widget you are seeking). Those widgets are simply subclasses of View, just like the Button instance we created in Chapter 4.The Rest of the StoryIn the original Now demo, the button’s face would show the current time, which would reflect when the button was last pushed (or when the activity was first shown, if the button had not yet been pushed).Most of that logic still works, even in this revised demo (NowRedux). However,rather than instantiating the Button in our activity’s onCreate() callback, we can reference the one from the XML layout:package youts;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button; import java.util.Date;public class NowRedux extends Activity implements View.OnClickListener { Button btn;@Overridepublic void onCreate(Bundle icicle) { super.onCreate(icicle);setContentView(yout.main);btn=(Button)findViewById(R.id.button);btn.setOnClickListener(this);upd ateTime();}public void onClick(View view) { updateTime();}private void updateTime() {btn.setText(new Date().toString()); }}The first difference is that rather than setting the content view to be a view we created in Java code, we set it to reference the XML layout (setContentView(yout.main)). The R.java source file will be updated when we rebuild this project to include a reference to our layout file (stored as main.xml in our project’s res/l ayout directory).The other difference is that we need to get our hands on our Button instance, for which we use the findViewById() call. Since we identified our button as @+id/button, we can reference the button’s identifier as R.id.button. Now, with the Button instance in hand, we can set the callback and set the label as needed.As you can see in Figure 5-1, the results look the same as with the originalNow demo.Figure 5-1. The NowRedux sample activity Employing Basic WidgetsE very GUI toolkit has some basic widgets: fields, labels, buttons, etc. Android’s toolkit is no different in scope, and the basic widgets will provide a good introduction as to how widgets work in Android activities.Assigning LabelsThe simplest widget is the label, referred to in Android as a TextView. Like in most GUI toolkits, labels are bits of text not editable directly by users. Typically, they are used to identify adjacent widgets (e.g., a “Name:” label before a field where one fills in a name).In Java, you can create a label by creating a TextView instance. More commonly, though, you will create labels in XML layout files by adding a TextView element to the layout, with an android:text property to set the value of the label itself. If you need to swap labels based on certain criteria, such as internationalization, you may wish to use a resource reference in the XML instead, as will be described in Chapter 9. TextView has numerous other properties of relevance for labels, such as:• android:typeface to set the typeface to use for the label (e.g., monospace) • android:textStyle to indicate that the typeface should be made bold (bold), italic (italic),or bold and italic (bold_italic)• android:textColor to set the color of the label’s text, in RGB hex format (e.g., #FF0000 for red)For example, in the Basic/Label project, you will find the following layout file:<?xml version="1.0" encoding="utf-8"?><TextView xmlns:android=/apk/res/androidandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="You were expecting something profound?" />As you can see in Figure 6-1, just that layout alone, with the stub Java source provided by Android’s p roject builder (e.g., activityCreator), gives you the application.Figure 6-1. The LabelDemo sample applicationButton, Button, Who’s Got the Button?We’ve already seen the use of the Button widget in Chapters 4 and 5. As it turns out, Button is a subclass of TextView, so everything discussed in the preceding section in terms of formatting the face of the button still holds. Fleeting ImagesAndroid has two widgets to help you embed images in your activities: ImageView and ImageButton. As the names suggest, they are image-based analogues to TextView and Button, respectively.Each widget takes an android:src attribute (in an XML layout) to specify what picture to use. These usually reference a drawable resource, described in greater detail in the chapter on resources. You can also set the image content based on a Uri from a content provider via setImageURI().ImageButton, a subclass of ImageView, mixes in the standard Button behaviors, for responding to clicks and whatnot.For example, take a peek at the main.xml layout from the Basic/ImageView sample project which is found along with all other code samples at : <?xml version="1.0" encoding="utf-8"?><ImageView xmlns:android=/apk/res/androidandroid:id="@+id/icon"android:layout_width="fill_parent"android:layout_height="fill_parent"android:adjustViewBounds="true"android:src="@drawable/molecule" />The result, just using the code-generated activity, is shown in Figure 6-2.Figure 6-2. The ImageViewDemo sample applicationFields of Green. Or Other Colors.Along with buttons and labels, fields are the third “anchor” of most GUI toolkits. In Android, they are implemented via the EditText widget, which is a subclass of the TextView used for labels.Along with the standard TextView properties (e.g., android:textStyle), EditText has many others that will be useful for you in constructing fields, including:• android:autoText, to control if the fie ld should provide automatic spelling assistance• android:capitalize, to control if the field should automatically capitalize the first letter of entered text (e.g., first name, city) • android:digits, to configure the field to accept only certain digi ts • android:singleLine, to control if the field is for single-line input or multiple-line input (e.g., does <Enter> move you to the next widget or add a newline?)Beyond those, you can configure fields to use specialized input methods, such asandroid:numeric for numeric-only input, android:password for shrouded password input,and android:phoneNumber for entering in phone numbers. If you want to create your own input method scheme (e.g., postal codes, Social Security numbers), you need to create your own implementation of the InputMethod interface, then configure the field to use it via android: inputMethod.For example, from the Basic/Field project, here is an XML layout file showing an EditText:<?xml version="1.0" encoding="utf-8"?><EditTextxmlns:android=/apk/res/androidandroid:id="@+id/field"android:layout_width="fill_parent"android:layout_height="fill_parent"android:singleLine="false" />Note that android:singleLine is false, so users will be able to enter in several lines of text. For this project, the FieldDemo.java file populates the input field with some prose:package monsware.android.basic;import android.app.Activity;import android.os.Bundle;import android.widget.EditText;public class FieldDemo extends Activity { @Overridepublic void onCreate(Bundle icicle) { super.onCreate(icicle);setContentView(yout.main);EditText fld=(EditText)findViewById(R.id.field);fld.setText("Licensed under the Apache License, Version 2.0 " + "(the \"License\"); you may not use this file " + "except in compliance with the License. You may " + "obtain a copy of the License at " +"/licenses/LICENSE-2.0");}}The result, once built and installed into the emulator, is shown in Figure 6-3.Figure 6-3. The FieldDemo sample applicationNote Android’s emulator only allows one application in the launcher per unique Java package. Since all the demos in this chapter share the monsware.android.basic package, you will only see one of these demos in your emulator’s launcher at any one time.Another flavor of field is one that offers auto-completion, to help users supply a value without typing in the whole text. That is provided in Android as the AutoCompleteTextView widget and is discussed in Chapter 8.Just Another Box to CheckThe classic checkbox has two states: checked and unchecked. Clicking the checkbox toggles between those states to indicate a choice (e.g., “Ad d rush delivery to my order”). In Android, there is a CheckBox widget to meet this need. It has TextView as an ancestor, so you can use TextView properties likeandroid:textColor to format the widget. Within Java, you can invoke: • isChecked() to determi ne if the checkbox has been checked• setChecked() to force the checkbox into a checked or unchecked state • toggle() to toggle the checkbox as if the user checked itAlso, you can register a listener object (in this case, an instance of OnCheckedChangeListener) to be notified when the state of the checkbox changes.For example, from the Basic/CheckBox project, here is a simple checkbox layout:<?xml version="1.0" encoding="utf-8"?><CheckBox xmlns:android="/apk/res/android"android:id="@+id/check"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="This checkbox is: unchecked" />The corresponding CheckBoxDemo.java retrieves and configures the behavior of the checkbox:public class CheckBoxDemo extends Activityimplements CompoundButton.OnCheckedChangeListener { CheckBox cb;@Overridepublic void onCreate(Bundle icicle) { super.onCreate(icicle);setContentView(yout.main);cb=(CheckBox)findViewById(R.id.check);cb.setOnCheckedChangeListener(this);}public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {if (isChecked) {cb.setText("This checkbox is: checked");}else {cb.setText("This checkbox is: unchecked");}}}Note that the activity serves as its own listener for checkbox state changes since it imple ments the OnCheckedChangeListener interface (via cb.setOnCheckedChangeListener(this)). The callback for the listener is onCheckedChanged(), which receives the checkbox whose state has changed and what the new state is. In this case, we update the text of the checkbox to reflect what the actual box contains.The result? Clicking the checkbox immediately updates its text, as you can see in Figures 6-4 and 6-5.Figure 6-4. The CheckBoxDemo sample application, with the checkbox uncheckedFigure 6-5. The same application, now with the checkbox checkedTurn the Radio UpAs with other implementations of radio buttons in other toolkits, Android’s radio buttons are two-state, like checkboxes, but can be grouped such that only one radio button in the group can be checked at any time.Like CheckBox, RadioButton inherits from CompoundButton, which in turn inherits fromTextView. Hence, all the standard TextView properties for font face, style, color, etc., are available for controlling the look of radio buttons. Similarly, you can call isChecked() on a RadioButton to see if it is selected, toggle() to select it, and so on, like you can with a CheckBox.Most times, you will want to put your RadioButton widgets inside of aRadioGroup. The RadioGroup indicates a set of radio buttons whose state is tied, meaning only one button out of the group can be selected at any time. If you assign an android:id to your RadioGroup in your XML layout, you can access the group from your Java code and invoke:• check() to check a specific radio button via its ID (e.g., group.check(R.id.radio1))• clearCheck() to clear all radio buttons, so none in the group are checked• getCheckedRadioButtonId() to get the ID of the currently-checked radio button (or -1 if none are checked)For example, from the Basic/RadioButton sample application, here is an XML layout showing a RadioGroup wrapping a set of RadioButton widgets: <?xml version="1.0" encoding="utf-8"?> <RadioGroupxmlns:android=/apk/res/androidandroid:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent" ><RadioButton android:id="@+id/radio1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Rock" /><RadioButton android:id="@+id/radio2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Scissors" /><RadioButton android:id="@+id/radio3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Paper" /></RadioGroup>Figure 6-6 shows the result using the stock Android-generated Java forthe project and this layout.Figure 6-6. The RadioButtonDemo sample application Note that the radio button group is initially set to be completely unchecked at the outset. To pre-set one of the radio buttons to be checked, use either setChecked() on the RadioButton or check() on the RadioGroup from within your onCreate() callback in your activity.It’s Quite a ViewAll widgets, including the ones previously shown, extend View, and as such give all widgets an array of useful properties and methods beyond those already described.Useful PropertiesSome of the properties on View most likely to be used include:• Controls the focus sequence:• android:nextFocusDown• android:nextFocusLeft• android:nextFocusRight• android:nextFocusUp• android:visibility, which controls wheth er the widget is initially visible• android:background, which typically provides an RGB color value (e.g., #00FF00 for green) to serve as the background for the widgetUseful MethodsYou can toggle whether or not a widget is enabled via setEnabled() and see if it is enabled via isEnabled(). One common use pattern for this is to disable some widgets based on a CheckBox or RadioButton selection.You can give a widget focus via requestFocus() and see if it is focused via isFocused(). You might use this in concert with disabling widgets as previously mentioned, to ensure the proper widget has the focus once your disabling operation is complete.To help navigate the tree of widgets and containers that make up an activity’s overall view, you can use:• get Parent() to find the parent widget or container• findViewById() to find a child widget with a certain ID• getRootView() to get the root of the tree (e.g., what you provided to the activity via setContentView())Android 页面布局使用XML进行布局虽然纯粹通过Java代码在activity上创建和添加部件,在技术上是可行的,我们在第4章中做的一样,更常见的方法是使用一种基于XML的布局文件。
毕业论文外文翻译格式【范本模板】

盐城师范学院毕业论文(设计)外文资料翻译学院:(四号楷体_GB2312下同)专业班级:学生姓名:学号:指导教师:外文出处:(外文)(Times New Roman四号) 附件: 1.外文资料翻译译文; 2.外文原文1.外文资料翻译译文译文文章标题×××××××××正文×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××………….*注:(本注释不是外文翻译的部分,只是本式样的说明解释)1. 译文文章标题为三号黑体居中,缩放、间距、位置标准,无首行缩进,无左右缩进,且前空(四号)两行,段前、段后各0.5行间距,行间距为1。
25倍多倍行距;2. 正文中标题为小四号,中文用黑体,英文用Times New Roman体,缩放、间距、位置标准,无左右缩进,无首行缩进,无悬挂式缩进,段前、段后0。
5行间距,行间距为1.25倍多倍行距;3。
正文在文章标题下空一行,为小四号,中文用宋体,英文用Times New Roman体,缩放、间距、位置标准,无左右缩进,首行缩进2字符(两个汉字),无悬挂式缩进,段前、段后间距无,行间距为1。
毕业设计-外文翻译 正确格式范例

天津科技大学本科生毕业设计(论文)外文资料翻译学院:材料科学与化学工程学院专业:高分子材料与工程姓名:阮孝顺学号:10032411指导教师(签名):2014年3月15日基底机械附着防水体系ACC板适宜性的确认及其高风压下的强度Michal Bartko a, Hiroyuki Miyauchi a,*, Kyoji Tanaka ba忠南大学,305-764,大田,南韩b日本东京工业大学,226-8503,神奈川县,日本2012年9月7日收到,2013年5月9日收到修改稿,2013年5月19日接受,2013年6月19日发表【摘要】受到强风的影响,机械连接防水体系的蒸气压混凝土板(AAC)的可靠性需要验证。
通过静态和动态拉伸试验研究AAC面板紧固件的优点。
对最常用的机械和化学紧固件的优点和AAC断裂类型进行测试观察。
静态强度值介于2.0至5.0kN之间,动态强度下降范围在1.5到2.2kN之间。
而且,我们创造性的应用了弹性粘合剂来代替常用的环氧树脂从而广泛的消除了ACC断裂。
我们使用专门设计和生产的恒定负载型动态测试仪,检查完整的机械连接的防水体系的特征。
我们测试了两种聚氯乙烯(PVC)卷材的类型和两种不同的卷材和圆盘连接方法。
重复实验,直到失败的次数高达100,000次,并记录在相同强度的强风下实际屋顶发生的断裂类型。
也发现了紧固件的动态强度和完全防水体系之间的关系,证明了AAC面板有足够承载力能够作为机械连接防水体系的基底,也探究出了确定紧固件最大间距的方法。
2013年爱思唯尔公司保留所有权。
【关键词】:机械连接防水体系;AAC镶基板;阻力风;静态和动态测试;断口模式;体系设计方法2013年爱思唯尔公司保留所有权。
1.前言机械连接防水体系是一种干式防水体系,有几个优势,比如不受裂缝和联合移动的影响。
该防水体系适用于多种类型的基板,安装简单容易,可以方便的修复,在技术上和经济上可行。
因此,该体系在日本和全球的使用量正在增长。
本科毕业设计(论文)外文译文格式详解

附件8
桂林航天工业学院
本科毕业设计(论文)外文译文
系名:
专业班级:
学生姓名:学号:
外文出处:
(用外文写)
附件:1.外文译文2.外文原文
年月日
填写要求
一、外文译文必须使用计算机打印,或用黑色水笔手工工整书写。
二、所选的外文原文不少于10000印刷字符,其内容必须与课题或专业方向紧密相关,由指导教师提供,并注明详细出处。
三、外文译文需在文本后附原文(或复印件)。
附件1:外文译文
译文标题(小二号黑体,居中)
×××××××××(小4号宋体,行间距取固定值23磅)×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××…………。
(要求不少于5000汉字)
附件2:外文原文。
外文翻译及外文原文(参考格式)

外文翻译要求:1、外文资料与毕业设计(论文)选题密切相关,译文准确、质量好。
2、阅读2篇幅以上(10000字符左右)的外文资料,完成2篇不同文章的共2000汉字以上的英译汉翻译3、外文资料可以由指导教师提供,外文资料原则上应是外国作者。
严禁采用专业外语教材文章。
4、排序:“一篇中文译文、一篇外文原文、一篇中文译文、一篇外文原文”。
插图内文字及图名也译成中文。
5、标题与译文格式(字体、字号、行距、页边距等)与论文格式要求相同。
下页附:外文翻译与原文参考格式2英文翻译 (黑体、四号、顶格)外文原文出处:(译文前列出外文原文出处、作者、国籍,译文后附上外文原文)《ASHRAE Handbook —Refrigeration 》.CHAPTER3 .SYSTEM Practices for ammonia 3.1 System Selection 3.2 Equipment3.10 Reciprocating Compressors第3章 氨制冷系统的实施3.1 系统选择在选择一个氨制冷系统设计时,须要考虑一些设计决策要素,包括是否采用(1)单级压缩(2)带经济器的压缩(3)多级压缩(4)直接蒸发(5)满液式(6)液体再循环(7)载冷剂。
单级压缩系统基本的单级压缩系统由蒸发器、压缩机、冷凝器、储液器(假如用的话)和制冷剂控制装置(膨胀阀、浮球阀等)。
1997 ASHRAE 手册——“原理篇”中的第一章讨论了压缩制冷循环。
图1.壳管式经济器的布置外文翻译的标题与译文中的字体、字号、行距、页边距等与论文格式相同。
英文原文(黑体、四号、顶格)英文翻译2(黑体,四号,顶格)外文原文出处:(黑体,四号,顶格)P. Fanning. Nonlinear Models of Reinforced and Post-tensioned Concrete Beams. Lecturer, Department of Civil Engineering, University College Dublin. Received 16 Jul 2001.非线形模型钢筋和后张法预应力混凝土梁摘要:商业有限元软件一般包括混凝土在荷载做用下非线性反应的专用数值模型。
毕业设计(论文)外文文献翻译要求

毕业设计(论文)外文文献翻译要求为提高毕业设计(论文)的质量,加强毕业设计(论文)规范性,经研究决定,2008届毕业论文(设计)要求翻译2篇外文文献(每篇译文的中文字数一般要求2000-3000左右)或外文字符不少于1.5万。
翻译的外文文献应主要选自学术期刊、学术会议的文章、有关著作及其他相关材料,应与毕业论文(设计)主题相关,并作为外文参考文献列入毕业论文(设计)的参考文献。
并在每篇中文译文首页用“脚注”形式注明原文作者及出处,中文译文后应附外文原文。
中文译文的基本撰写格式为题目采用小三号黑体字居中打印,正文采用小四号宋体字,行间距一般为固定值20磅,标准字符间距。
页边距为左3cm,右2.5cm,上下各2.5cm,页面统一采用A4纸,使用学校统一规定的封面格式,并按“封面、译文一、外文原文一、译文二、外文原文二、外文翻译考核表”的顺序统一装订,与开题报告一同提交。
东莞理工学院软件学院二○○八年二月二十六日东莞理工学院软件学院毕业设计(论文)外文文献翻译毕业设计(论文)题目翻译(1)题目翻译(2)题目学院计算机学院专业姓名班级学号指导教师外文翻译考核表我的大学爱情观目录:一、大学概念二、分析爱情健康观三、爱情观要三思四、大学需要对爱情要认识和理解五、总结1、什么是大学爱情:大学是一个相对宽松,时间自由,自己支配的环境,也正因为这样,培植爱情之花最肥沃的土地。
大学生恋爱一直是大学校园的热门话题,恋爱和学业也就自然成为了大学生在校期间面对的两个主要问题。
恋爱关系处理得好、正确,健康,可以成为学习和事业的催化剂,使人学习努力、成绩上升;恋爱关系处理的不当,不健康,可能分散精力、浪费时间、情绪波动、成绩下降。
因此,大学生的恋爱观必须树立在健康之上,并且树立正确的恋爱观是十分有必要的。
因此我从下面几方面谈谈自己的对大学爱情观。
2、什么是健康的爱情:1)尊重对方,不显示对爱情的占有欲,不把爱情放第一位,不痴情过分;2)理解对方,互相关心,互相支持,互相鼓励,并以对方的幸福为自己的满足;3)是彼此独立的前提下结合;3、什么是不健康的爱情:1)盲目的约会,忽视了学业;2)过于痴情,一味地要求对方表露爱的情怀,这种爱情常有病态的夸张;3)缺乏体贴怜爱之心,只表现自己强烈的占有欲;4)偏重于外表的追求;4、大学生处理两人的在爱情观需要三思:1.不影响学习:大学恋爱可以说是一种必要的经历,学习是大学的基本和主要任务,这两者之间有错综复杂的关系,有的学生因为爱情,过分的忽视了学习,把感情放在第一位;学习的时候就认真的去学,不要去想爱情中的事,谈恋爱的时候用心去谈,也可以交流下学习,互相鼓励,共同进步。
外文翻译要求and格式

外文文件翻译要求依据《一般高等学校本科毕业设计(论文)指导》的内容,特对外文文件翻译提出以下要求:一、翻译的外文文件的字符要求许多于万(或翻译成中文后起码在 3000 字以上)。
字数达到的文件一篇即可。
二、翻译的外文文件应主要选自学术期刊、学术会议的文章、有关著作及其余有关资料,应与毕业论文(设计)主题有关,并作为外文参照文件列入毕业论文(设计)的参照文件。
并在每篇中文译文首页用“脚注”形式注明原文作者及出处,中文译文后应附外文原文。
三、需仔细研读和查阅术语达成翻译,不得采纳翻译软件翻译。
四、中文译文的编排构造与原文同,撰写格式参照毕业论文的格式要求。
参照文件不用翻译,直接使用原文的(字体,字号,标点符号等与毕业论文中的参照文件要求同),参照文件的序号应标明在译文中相应的地方。
详细可参照毕业设计(论文)外文文件翻译模板。
五、封面一致制作,封面格式请勿自行变动,学号请写完好(注:封面上的“翻译题目”指中文译文的题目)。
按“封面、译文一、外文原文一、译文二、外文原文二”的次序一致装订。
假如只有一篇译文,则能够删除“翻译( 2)题目”这一行。
外文文件翻译格式要求( 1)纲要,重点词:宋体五号(此中“纲要”和“重点词”为宋体五号加粗),行间距设置为 18 磅,段前段后间距设置为行,对齐方式选择“两头对齐”方式;各个重点词之间以分号(;)或许(,)分开,最后一个重点词后不加标点;(2)正文一级标题:采纳黑体小三号加粗,行间距设置为20 磅,段前段后间距设置为行,一般采纳“ 1 前言”款式,此中 1 和“前言”之间用一个空格分开;正文二级标题:采纳黑体小三号,行间距设置为 20 磅,段前段后间距设置为行,一般采纳“ 系统原理”款式,此中 1 和“系统原理”之间用一个空格分开;;一级标题和二级标题采纳“左对齐”方式;(3)正文内容:采纳宋体小四号,行间距设置为20 磅,段前段后间距设置为0 行,首行缩进 2 字符,正文对齐方式在段落格式设置中选择“两头对齐” ,遇正文中有公式的,设置该行(段)行间距为“单倍行距”(4)插图:请设置图片版式为“浮于文字上方” ,并勾选“居中”,图片大小依据版面,按比率适合进行缩放,图示说明采纳“图 1 主控制器的构造图”款式置于图下,图序与说明以一个空格字符间隔,图示说明采纳宋体五号,居中对齐,行间距设置为“单倍行距”,段前段后距设置为行;( 5)表格:在表格属性中选择“居中”对齐方式,表格说明采纳“表 1 两种方法试验数据比较”款式置于表格上方,表序与说明以一个空格字符间隔,表格说明采纳宋体五号,居中对齐,行间距设置为“单倍行距”,段前段后距设置为行;(6)参照文件:“参照文件”格式同一级标题格式,参照文件内容采纳宋体五号,行间距设置为 18 磅,段前段后间距设置为 0 行,对齐方式选择“左对齐”方式,此中出现的标点一律采纳英文标点;以上纲要,重点词,正文,标题及参照文件中出现的英文字符和数字,一律设置为“Times New Roman”字体。
毕业设计(论文)外文资料和译文格式要求

东北大学东软信息学院外文资料和译文格式要求一、译文必须采用计算机输入、打印,幅面A4。
外文资料原文(复印或打印)在前,译文在后,于左侧装订。
二、具体要求1、至少翻译一篇内容与所选课题相关的外文文献。
2、译文汉字字数不少于4000字。
3、正文格式要求:宋体五号字。
附:外文资料和译文封面、空白页外文资料和译文专业:班级:姓名:学号:指导教师:2010年12月23日5.2.5. Read/Write Spin LocksRead/write spin locks have been introduced to increase the amount of concurrency inside the kernel. They allow several kernel control paths to simultaneously read the same data structure, as long as no kernel control path modifies it. If a kernel control path wishes to write to the structure, it must acquire the write version of the read/write lock, which grants exclusive access to the resource. Of course, allowing concurrent reads on data structures improves system performance.Figure 5-2 illustrates two critical regions (C1 and C2) protected by read/write locks. Kernel control paths R0 and R1 are reading the data structures in C1 at the same time, while W0 is waiting to acquire the lock for writing. Kernel control path W1 is writing the data structures inC2, while both R2 and W2 are waiting to acquire the lock for reading and writing, respectively.Figure 5-2. Read/write spin locksEach read/write spin lock is a rwlock_t structure; its lock field is a 32-bit field that encodes two distinct pieces of information:∙ A 24-bit counter denoting the number of kernel control paths currently reading the protected data structure. The two's complement value of this counter is stored in bits 023 of the field.∙An unlock flag that is set when no kernel control path is reading or writing, and clear otherwise. This unlock flag is stored in bit 24 of the field.Notice that the lock field stores the number 0x01000000 if the spin lock is idle (unlock flag set and no readers), the number 0x00000000 if it has been acquired for writing (unlock flag clear and no readers), and any number in the sequence 0x00ffffff, 0x00fffffe, and so on, if it has been acquired for reading by one, two, or more processes (unlock flag clear and the two's complement on 24 bits of the number of readers). As the spinlock_t structure, the rwlock_t structure also includes a break_lock field.The rwlock_init macro initializes the lock field of a read/write spin lock to 0x01000000 (unlocked) and the break_lock field to zero.5.2.5.1. Getting and releasing a lock for readingThe read_lock macro, applied to the address rwlp of a read/write spin lock, is similar to thespin_lock macro described in the previous section. If the kernel preemption option has been selected when the kernel was compiled, the macro performs the very same actions as those of spin_lock( ), with just one exception: to effectively acquire the read/write spin lock in step 2, the macro executes the _raw_read_trylock( ) function:int _raw_read_trylock(rwlock_t *lock){atomic_t *count = (atomic_t *)lock->lock;atomic_dec(count);if (atomic_read(count) >= 0)return 1;atomic_inc(count);return 0;}The lock fieldthe read/write lock counteris accessed by means of atomic operations. Notice, however, that the whole function does not act atomically on the counter: for instance, the counter might change after having tested its value with the if statement and before returning 1. Nevertheless, the function works properly: in fact, the function returns 1 only if the counter was not zero or negative before the decrement, because the counter is equal to 0x01000000 for no owner, 0x00ffffff for one reader, and 0x00000000 for one writer.If the kernel preemption option has not been selected when the kernel was compiled, theread_lock macro yields the following assembly language code:movl $rwlp->lock,%eaxlock; subl $1,(%eax)jns 1fcall _ _read_lock_failed1:where _ _read_lock_failed( ) is the following assembly language function:_ _read_lock_failed:lock; incl (%eax)1: pausecmpl $1,(%eax)js 1block; decl (%eax)js _ _read_lock_failedretThe read_lock macro atomically decreases the spin lock value by 1, thus increasing the number of readers. The spin lock is acquired if the decrement operation yields a nonnegative value; otherwise, the _ _read_lock_failed( ) function is invoked. The function atomically increases the lock field to undo the decrement operation performed by the read_lock macro, and then loops until the field becomes positive (greater than or equal to 1). Next, _ _read_lock_failed( ) tries to get the spin lock again (another kernel control path could acquire the spin lock for writing right after the cmpl instruction).Releasing the read lock is quite simple, because the read_unlock macro must simply increase the counter in the lock field with the assembly language instruction:lock; incl rwlp->lockto decrease the number of readers, and then invoke preempt_enable( ) to reenable kernel preemption.5.2.5.2. Getting and releasing a lock for writingThe write_lock macro is implemented in the same way as spin_lock( ) andread_lock( ). For instance, if kernel preemption is supported, the function disables kernel preemption and tries to grab the lock right away by invoking_raw_write_trylock( ). If this function returns 0, the lock was already taken, thus the macro reenables kernel preemption and starts a busy wait loop, as explained in the description of spin_lock( ) in the previous section.The _raw_write_trylock( ) function is shown below:int _raw_write_trylock(rwlock_t *lock){atomic_t *count = (atomic_t *)lock->lock;if (atomic_sub_and_test(0x01000000, count))return 1;atomic_add(0x01000000, count);return 0;}The _raw_write_trylock( ) function subtracts 0x01000000 from the read/write spin lock value, thus clearing the unlock flag (bit 24). If the subtraction operation yieldszero (no readers), the lock is acquired and the function returns 1; otherwise, the function atomically adds 0x01000000 to the spin lock value to undo the subtraction operation.Once again, releasing the write lock is much simpler because the write_unlock macro must simply set the unlock flag in the lock field with the assembly language instruction:lock; addl $0x01000000,rwlpand then invoke preempt_enable().5.2.6. SeqlocksWhen using read/write spin locks, requests issued by kernel control paths to perform a read_lock or a write_lock operation have the same priority: readers must wait until the writer has finished and, similarly, a writer must wait until all readers have finished.Seqlocks introduced in Linux 2.6 are similar to read/write spin locks, except that they give a much higher priority to writers: in fact a writer is allowed to proceed even when readers are active. The good part of this strategy is that a writer never waits (unless another writer is active); the bad part is that a reader may sometimes be forced to read the same data several times until it gets a valid copy.Each seqlock is a seqlock_t structure consisting of two fields: a lock field of type spinlock_t and an integer sequence field. This second field plays the role of a sequence counter. Each reader must read this sequence counter twice, before and after reading the data, and check whether the two values coincide. In the opposite case, a new writer has become active and has increased the sequence counter, thus implicitly telling the reader that the data just read is not valid.A seqlock_t variable is initialized to "unlocked" either by assigning to it the value SEQLOCK_UNLOCKED, or by executing the seqlock_init macro. Writers acquire and release a seqlock by invoking write_seqlock( ) and write_sequnlock( ). The first function acquires the spin lock in the seqlock_t data structure, then increases the sequence counter by one; the second function increases the sequence counter once more, then releases the spin lock. This ensures that when the writer is in the middle of writing, the counter is odd, and that when no writer is altering data, the counter is even. Readers implement a critical region as follows:unsigned int seq;do {seq = read_seqbegin(&seqlock);/* ... CRITICAL REGION ... */} while (read_seqretry(&seqlock, seq));read_seqbegin() returns the current sequence number of the seqlock; read_seqretry() returns 1 if either the value of the seq local variable is odd (a writer was updating the data structure when the read_seqbegin( ) function has been invoked), or if the value of seq does not match the current value of the seqlock's sequence counter (a writer started working while the reader was still executing the code in the critical region).Notice that when a reader enters a critical region, it does not need to disable kernel preemption; on the other hand, the writer automatically disables kernel preemption when entering the critical region, because it acquires the spin lock.Not every kind of data structure can be protected by a seqlock. As a general rule, the following conditions must hold:∙The data structure to be protected does not include pointers that are modified by the writers and dereferenced by the readers (otherwise, a writer couldchange the pointer under the nose of the readers)∙The code in the critical regions of the readers does not have side effects (otherwise, multiple reads would have different effects from a single read) Furthermore, the critical regions of the readers should be short and writers should seldom acquire the seqlock, otherwise repeated read accesses would cause a severe overhead. A typical usage of seqlocks in Linux 2.6 consists of protecting some data structures related to the system time handling (see Chapter 6).5.2.7. Read-Copy Update (RCU)Read-copy update (RCU) is yet another synchronization technique designed to protect data structures that are mostly accessed for reading by several CPUs. RCU allows many readers and many writers to proceed concurrently (an improvement over seqlocks, which allow only one writer to proceed). Moreover, RCU is lock-free, that is, it uses no lock or counter shared by all CPUs; this is a great advantage over read/write spin locks and seqlocks, which have a high overhead due to cache line-snooping and invalidation.How does RCU obtain the surprising result of synchronizing several CPUs without shared data structures? The key idea consists of limiting the scope of RCU as follows:1.Only data structures that are dynamically allocated and referenced by meansof pointers can be protected by RCU.2.No kernel control path can sleep inside a critical region protected by RCU.When a kernel control path wants to read an RCU-protected data structure, it executes the rcu_read_lock( ) macro, which is equivalent to preempt_disable( ). Next, the reader dereferences the pointer to the data structure and starts reading it. As stated above, the reader cannot sleep until it finishes reading the data structure; the end of the critical region is marked by the rcu_read_unlock( ) macro, which is equivalent to preempt_enable( ).Because the reader does very little to prevent race conditions, we could expect that the writer has to work a bit more. In fact, when a writer wants to update the data structure, it dereferences the pointer and makes a copy of the whole data structure. Next, the writer modifies the copy. Once finished, the writer changes the pointer to the data structure so as to make it point to the updated copy. Because changing the value of the pointer is an atomic operation, each reader or writer sees either the old copy or the new one: no corruption in the data structure may occur. However, a memory barrier is required to ensure that the updated pointer is seen by the other CPUs only after the data structure has been modified. Such a memory barrier is implicitly introduced if a spin lock is coupled with RCU to forbid the concurrent execution of writers.The real problem with the RCU technique, however, is that the old copy of the data structure cannot be freed right away when the writer updates the pointer. In fact, the readers that were accessing the data structure when the writer started its update could still be reading the old copy. The old copy can be freed only after all (potential) readers on the CPUs have executed the rcu_read_unlock( ) macro. The kernel requires every potential reader to execute that macro before:∙The CPU performs a process switch (see restriction 2 earlier).∙The CPU starts executing in User Mode.∙The CPU executes the idle loop (see the section "Kernel Threads" in Chapter 3).In each of these cases, we say that the CPU has gone through a quiescent state.The call_rcu( ) function is invoked by the writer to get rid of the old copy of the data structure. It receives as its parameters the address of an rcu_head descriptor (usually embedded inside the data structure to be freed) and the address of a callback function to be invoked when all CPUs have gone through a quiescent state. Once executed, the callback function usually frees the old copy of the data structure.The call_rcu( ) function stores in the rcu_head descriptor the address of the callback and its parameter, then inserts the descriptor in a per-CPU list of callbacks. Periodically, once every tick (see the section "Updating Local CPU Statistics" in Chapter 6), the kernel checks whether the local CPU has gone through a quiescent state. When all CPUs have gone through a quiescent state, a local taskletwhose descriptor is stored in the rcu_tasklet per-CPU variableexecutes all callbacks in the list.RCU is a new addition in Linux 2.6; it is used in the networking layer and in the Virtual Filesystem.5.2.8. SemaphoresWe have already introduced semaphores in the section "Synchronization and Critical Regions" in Chapter 1. Essentially, they implement a locking primitive that allows waiters to sleep until the desired resource becomes free.Actually, Linux offers two kinds of semaphores:∙Kernel semaphores, which are used by kernel control paths∙System V IPC semaphores, which are used by User Mode processesIn this section, we focus on kernel semaphores, while IPC semaphores are described in Chapter 19.A kernel semaphore is similar to a spin lock, in that it doesn't allow a kernel control path to proceed unless the lock is open. However, whenever a kernel control path tries to acquire a busy resource protected by a kernel semaphore, the corresponding process is suspended. It becomes runnable again when the resource is released. Therefore, kernel semaphores can be acquired only by functions that are allowed to sleep; interrupt handlers and deferrable functions cannot use them.A kernel semaphore is an object of type struct semaphore, containing the fields shown in the following list.countStores an atomic_t value. If it is greater than 0, the resource is free that is, itis currently available. If count is equal to 0, the semaphore is busy but noother process is waiting for the protected resource. Finally, if count isnegative, the resource is unavailable and at least one process is waiting for it.waitStores the address of a wait queue list that includes all sleeping processes that are currently waiting for the resource. Of course, if count is greater than orequal to 0, the wait queue is empty.sleepersStores a flag that indicates whether some processes are sleeping on thesemaphore. We'll see this field in operation soon.The init_MUTEX( ) and init_MUTEX_LOCKED( ) functions may be used to initialize a semaphore for exclusive access: they set the count field to 1 (free resource with exclusive access) and 0 (busy resource with exclusive access currently granted to the process that initializes the semaphore), respectively. The DECLARE_MUTEX and DECLARE_MUTEX_LOCKED macros do the same, but they also statically allocate the struct semaphore variable. Note that a semaphore could also be initialized with an arbitrary positive value n for count. In this case, at most n processes are allowed to concurrently access the resource.5.2.8.1. Getting and releasing semaphoresLet's start by discussing how to release a semaphore, which is much simpler than getting one. When a process wishes to release a kernel semaphore lock, it invokes the up( ) function. This function is essentially equivalent to the following assembly language fragment:movl $sem->count,%ecxlock; incl (%ecx)jg 1flea %ecx,%eaxpushl %edxpushl %ecxcall _ _uppopl %ecxpopl %edx1:where _ _up( ) is the following C function:__attribute__((regparm(3))) void _ _up(struct semaphore *sem){wake_up(&sem->wait);}The up( ) function increases the count field of the *sem semaphore, and then it checks whether its value is greater than 0. The increment of count and the setting of the flag tested by the following jump instruction must be atomically executed, or else another kernel control path could concurrently access the field value, with disastrousresults. If count is greater than 0, there was no process sleeping in the wait queue, so nothing has to be done. Otherwise, the _ _up( ) function is invoked so that one sleeping process is woken up. Notice that _ _up( ) receives its parameter from the eax register (see the description of the _ _switch_to( ) function in the section "Performing the Process Switch" in Chapter 3).Conversely, when a process wishes to acquire a kernel semaphore lock, it invokes the down( ) function. The implementation of down( ) is quite involved, but it is essentially equivalent to the following:down:movl $sem->count,%ecxlock; decl (%ecx);jns 1flea %ecx, %eaxpushl %edxpushl %ecxcall _ _downpopl %ecxpopl %edx1:where _ _down( ) is the following C function:__attribute__((regparm(3))) void _ _down(struct semaphore * sem){DECLARE_WAITQUEUE(wait, current);unsigned long flags;current->state = TASK_UNINTERRUPTIBLE;spin_lock_irqsave(&sem->wait.lock, flags);add_wait_queue_exclusive_locked(&sem->wait, &wait);sem->sleepers++;for (;;) {if (!atomic_add_negative(sem->sleepers-1, &sem->count)) {sem->sleepers = 0;break;}sem->sleepers = 1;spin_unlock_irqrestore(&sem->wait.lock, flags);schedule( );spin_lock_irqsave(&sem->wait.lock, flags);current->state = TASK_UNINTERRUPTIBLE;}remove_wait_queue_locked(&sem->wait, &wait);wake_up_locked(&sem->wait);spin_unlock_irqrestore(&sem->wait.lock, flags);current->state = TASK_RUNNING;}The down( ) function decreases the count field of the *sem semaphore, and then checks whether its value is negative. Again, the decrement and the test must be atomically executed. If count is greater than or equal to 0, the current process acquires the resource and the execution continues normally. Otherwise, count is negative, and the current process must be suspended. The contents of some registers are saved on the stack, and then _ _down( ) is invoked.Essentially, the _ _down( ) function changes the state of the current process from TASK_RUNNING to TASK_UNINTERRUPTIBLE, and it puts the process in the semaphore wait queue. Before accessing the fields of the semaphore structure, the function also gets the sem->wait.lock spin lock that protects the semaphore wait queue (see "How Processes Are Organized" in Chapter 3) and disables local interrupts. Usually, wait queue functions get and release the wait queue spin lock as necessary when inserting and deleting an element. The _ _down( ) function, however, uses the wait queue spin lock also to protect the other fields of the semaphore data structure, so that no process running on another CPU is able to read or modify them. To that end, _ _down( ) uses the "_locked" versions of the wait queue functions, which assume that the spin lock has been already acquired before their invocations.The main task of the _ _down( ) function is to suspend the current process until the semaphore is released. However, the way in which this is done is quite involved. To easily understand the code, keep in mind that the sleepers field of the semaphore is usually set to 0 if no process is sleeping in the wait queue of the semaphore, and it is set to 1 otherwise. Let's try to explain the code by considering a few typical cases. MUTEX semaphore open (count equal to 1, sleepers equal to 0)The down macro just sets the count field to 0 and jumps to the nextinstruction of the main program; therefore, the _ _down( ) function is notexecuted at all.MUTEX semaphore closed, no sleeping processes (count equal to 0, sleepers equal to 0)The down macro decreases count and invokes the _ _down( ) function withthe count field set to -1 and the sleepers field set to 0. In each iteration of theloop, the function checks whether the count field is negative. (Observe thatthe count field is not changed by atomic_add_negative( ) because sleepers isequal to 0 when the function is invoked.)∙If the count field is negative, the function invokes schedule( ) tosuspend the current process. The count field is still set to -1, and thesleepers field to 1. The process picks up its run subsequently insidethis loop and issues the test again.∙If the count field is not negative, the function sets sleepers to 0 and exits from the loop. It tries to wake up another process in thesemaphore wait queue (but in our scenario, the queue is now empty)and terminates holding the semaphore. On exit, both the count fieldand the sleepers field are set to 0, as required when the semaphore isclosed but no process is waiting for it.MUTEX semaphore closed, other sleeping processes (count equal to -1, sleepers equal to 1)The down macro decreases count and invokes the _ _down( ) function withcount set to -2 and sleepers set to 1. The function temporarily sets sleepers to 2, and then undoes the decrement performed by the down macro by addingthe value sleepers-1 to count. At the same time, the function checks whethercount is still negative (the semaphore could have been released by theholding process right before _ _down( ) entered the critical region).∙If the count field is negative, the function resets sleepers to 1 andinvokes schedule( ) to suspend the current process. The count field isstill set to -1, and the sleepers field to 1.∙If the count field is not negative, the function sets sleepers to 0, tries to wake up another process in the semaphore wait queue, and exitsholding the semaphore. On exit, the count field is set to 0 and thesleepers field to 0. The values of both fields look wrong, becausethere are other sleeping processes. However, consider that anotherprocess in the wait queue has been woken up. This process doesanother iteration of the loop; the atomic_add_negative( ) functionsubtracts 1 from count, restoring it to -1; moreover, before returningto sleep, the woken-up process resets sleepers to 1.So, the code properly works in all cases. Consider that the wake_up( ) function in _ _down( ) wakes up at most one process, because the sleeping processes in the wait queue are exclusive (see the section "How Processes Are Organized" in Chapter 3).Only exception handlers , and particularly system call service routines , can use the down( ) function. Interrupt handlers or deferrable functions must not invoke down( ),because this function suspends the process when the semaphore is busy. For this reason, Linux provides the down_trylock( ) function, which may be safely used by one of the previously mentioned asynchronous functions. It is identical to down( ) except when the resource is busy. In this case, the function returns immediately instead of putting the process to sleep.A slightly different function called down_interruptible( ) is also defined. It is widely used by device drivers, because it allows processes that receive a signal while being blocked on a semaphore to give up the "down" operation. If the sleeping process is woken up by a signal before getting the needed resource, the function increases the count field of the semaphore and returns the value -EINTR. On the other hand, if down_interruptible( ) runs to normal completion and gets the resource, it returns 0. The device driver may thus abort the I/O operation when the return value is -EINTR.Finally, because processes usually find semaphores in an open state, the semaphore functions are optimized for this case. In particular, the up( ) function does not execute jump instructions if the semaphore wait queue is empty; similarly, the down( ) function does not execute jump instructions if the semaphore is open. Much of the complexity of the semaphore implementation is precisely due to the effort of avoiding costly instructions in the main branch of the execution flow.5.2.9. Read/Write SemaphoresRead/write semaphores are similar to the read/write spin locks described earlier in the section "Read/Write Spin Locks," except that waiting processes are suspended instead of spinning until the semaphore becomes open again.Many kernel control paths may concurrently acquire a read/write semaphore for reading; however, every writer kernel control path must have exclusive access to the protected resource. Therefore, the semaphore can be acquired for writing only if no other kernel control path is holding it for either read or write access. Read/write semaphores improve the amount of concurrency inside the kernel and improve overall system performance.The kernel handles all processes waiting for a read/write semaphore in strict FIFO order. Each reader or writer that finds the semaphore closed is inserted in the last position of a semaphore's wait queue list. When the semaphore is released, the process in the first position of the wait queue list are checked. The first process is always awoken. If it is a writer, the other processes in the wait queue continue to sleep. If it is a reader, all readers at the start of the queue, up to the first writer, are also woken up and get the lock. However, readers that have been queued after a writer continue to sleep.Each read/write semaphore is described by a rw_semaphore structure that includes the following fields:countStores two 16-bit counters. The counter in the most significant word encodesin two's complement form the sum of the number of nonwaiting writers(either 0 or 1) and the number of waiting kernel control paths. The counter inthe less significant word encodes the total number of nonwaiting readers andwriters.wait_listPoints to a list of waiting processes. Each element in this list is arwsem_waiter structure, including a pointer to the descriptor of the sleepingprocess and a flag indicating whether the process wants the semaphore forreading or for writing.wait_lockA spin lock used to protect the wait queue list and the rw_semaphorestructure itself.The init_rwsem( ) function initializes an rw_semaphore structure by setting the count field to 0, the wait_lock spin lock to unlocked, and wait_list to the empty list. The down_read( ) and down_write( ) functions acquire the read/write semaphore for reading and writing, respectively. Similarly, the up_read( ) and up_write( ) functions release a read/write semaphore previously acquired for reading and for writing. The down_read_trylock( ) and down_write_trylock( ) functions are similar todown_read( ) and down_write( ), respectively, but they do not block the process if the semaphore is busy. Finally, the downgrade_write( ) function atomically transforms a write lock into a read lock. The implementation of these five functions is long, but easy to follow because it resembles the implementation of normal semaphores; therefore, we avoid describing them.5.2.10. CompletionsLinux 2.6 also makes use of another synchronization primitive similar to semaphores: completions . They have been introduced to solve a subtle race condition that occurs in multiprocessor systems when process A allocates a temporary semaphore variable, initializes it as closed MUTEX, passes its address to process B, and then invokes down( ) on it. Process A plans to destroy the semaphore as soon as it awakens. Later。
毕业设计11--外文资料翻译格式

中北大学
毕业设计外文资料翻译
原文名称Ab cd
中文名称甲乙丙丁
原文来源:作者,指期刊名称,卷期号,年月日,页码
或者其它信息
学生姓名:学号:
学院:
专业:
指导教师:
年月日
外文资料翻译要求
1.外文资料翻译中文部分内容,按照毕业设计说明书正文的格式要求排版,章节号、图号、表号、公式根据原文信息编排。
页眉填写“外文资料翻译”。
2、原始外文文献内容,直接复印原文装订在中文部分后面。
必须保留文献首页或封面,保留文献来源信息,不允许使用电子版进行二次编辑。
3、外文资料的选取提倡公开发表的与设计题目相关的科技期刊论文、图书片段、原始芯片资料、专业技术资料。
禁止选用没有来源的外文材料。
翻译后的中文部分篇幅达到10页以上即可,尽量保证翻译文献的完整性。
4、严禁机器翻译。
如果发现,直接取消答辩资格。
毕业论文英文翻译要求(通用版)(范文模版)

毕业论文英文翻译要求(通用版)(范文模版)第一篇:毕业论文英文翻译要求(通用版)(范文模版)本科毕业设计(论文)英文翻译要求翻译的文章应与毕业设计课题或专业知识相关的文献,要求翻译1-2篇,合计中文字数不少于3000字。
外文翻译应包括:外文题目,作者、出版日期和出版社,翻译内容的起止页码,外文原文,然后是中文题目,作者、出版日期和出版社,中文翻译。
外文翻译所用的文献,应主要选自学术期刊或学术会议的文章,其次是教科书或其他书籍。
英文原文和翻译均作为毕业论文附录,同时给出英文原文的出处,如果是网上下载的原文请给出网址。
第二篇:毕业论文英文翻译武汉科技大学本科毕业设计外文翻译Automatic Statistical Process Control of a CNC Turning Centre Using Tool Offsets and Tool ChangeP.R.Gibson and K.HoangDepartment of Mechanical Engineering, University of Wollongong, Australia School of Mechanical and Manufacturing Engineering, University of New South Wales, Australia 数控车削中心刀补及换刀的自动统计过程控制P.R.Gibson and K.Hoang澳大利亚伍伦贡大学机械工程系,新威尔士大学机械制造工程学院武汉科技大学本科毕业设计外文翻译该论文涉及了自动统计过程控制(ASPC)在数控车削中刀补和换刀的自动周期测量上的运用。
由于当今制造对快速稳定的控制系统的需求,而且为了实现较高的产出率,一个闭环ASPC系统已被采用。
我们引入了自动周期测量技术,以全面测量该系统。
关键字:工艺规划;数控;车削简介今天,所有制造行业都面临着采用更加经济高效的质量控制系统,以满足客户的需求这一问题。
外文翻译格式及规范

嘉兴学院毕业论文(设计)外文翻译撰写格式规范一、外文翻译形式要求1、要求本科生毕业论文(设计)外文翻译部分的外文字符不少于1.5万字, 每篇外文文献翻译的中文字数要求达到2000字以上,一般以2000~3000字左右为宜。
2、翻译的外文文献应主要选自学术期刊、学术会议的文章、有关著作及其他相关材料,应与毕业论文(设计)主题相关,并作为外文参考文献列入毕业论文(设计)的参考文献。
3、外文翻译应包括外文文献原文和译文,译文要符合外文格式规范和翻译习惯。
二、打印格式嘉兴学院毕业论文(设计)外文翻译打印纸张统一用A4复印纸,页面设置:上:2.8;下:2.6;左:3.0;右:2.6;页眉:1.5;页脚:1.75。
段落格式为:1.5倍行距,段前、段后均为0磅。
页脚设置为:插入页码,居中。
具体格式见下页温馨提示:正式提交“嘉兴学院毕业论文(设计)外文翻译”时请删除本文本中说明性的文字部分(红字部分)。
嘉兴学院本科毕业论文(设计)外文翻译题目:(指毕业论文题目)学院名称:服装与艺术设计学院专业班级:楷体小四学生姓名:楷体小四一、外文原文见附件(文件名:12位学号+学生姓名+3外文原文.文件扩展名)。
二、翻译文章翻译文章题目(黑体小三号,1.5倍行距,居中)作者(用原文,不需翻译,Times New Roman五号,加粗,1.5倍行距,居中)工作单位(用原文,不需翻译,Times New Roman五号,1.5倍行距,居中)摘要:由于消费者的需求和汽车市场竞争力的提高,汽车检测标准越来越高。
现在车辆生产必须长于之前的时间并允许更高的价格进行连续转售……。
(内容采用宋体五号,1.5倍行距)关键词:汽车产业纺织品,测试,控制,标准,材料的耐用性1 导言(一级标题,黑体五号,1.5倍行距,顶格)缩进两个字符,文本主体内容采用宋体(五号),1.5倍行距参考文献(一级标题,黑体五号, 1.5倍行距,顶格)略(参考文献不需翻译,可省略)资料来源:AUTEX Research Journal, V ol. 5, No3, September 2008*****译****校(另起一页)三、指导教师评语***同学是否能按时完成外文翻译工作。
毕业设计(论文)外文资料及译文(模板)

大连东软信息学院
毕业设计(论文)外文资料及译文
系所:
专业:
班级:
姓名:
学号:
大连东软信息学院
Dalian Neusoft University of Information
外文资料和译文格式要求
一、装订要求
1、外文资料原文(复印或打印)在前、译文在后、最后为指导教师评定成绩。
2、译文必须采用计算机输入、打印。
3、A4幅面打印,于左侧装订。
二、撰写要求
1、外文文献内容与所选课题相关。
2、本科学生译文汉字字数不少于4000字,高职学生译文汉字字数不少于2000字。
三、格式要求
1、译文字号:中文小四号宋体,英文小四号“Times New Roman”字型,全文统一,首行缩进2个中文字符,1.5倍行距。
2、译文页码:页码用阿拉伯数字连续编页,字体采用“Times New Roman”字体,字号小五,页底居中。
3、译文页眉:眉体使用单线,页眉说明五号宋体,居中“大连东软信息学院本科毕业设计(论文)译文”。
大连东软信息学院毕业设计(论文)译文
大连东软信息学院毕业设计(论文)译文
大连东软信息学院毕业设计(论文)译文
大连东软信息学院毕业设计(论文)译文
大连东软信息学院毕业设计(论文)译文。