做一名合格的人大代表pk0913ce代表什么意思

作为一个有三、四年Android应用开发经验的码农,自然会遇到很多坑,下面是我能够想起的一些坑(实践证明不记笔记可不是个好习惯),后面有想到其它坑会陆续补上。&br&&ul&&li&在Android library中不能使用switch-case语句访问资源ID:&a href=&///?target=http%3A//zmywly8866.github.io//android-can-not-use-switch-to-load-resource-in-libproject-solution.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&在Android library中不能使用switch-case语句访问资源ID的原因分析及解决方案&i class=&icon-external&&&/i&&/a&&/li&&br&&li&不能在Activity没有完全显示时显示PopupWindow和Dialog:&a href=&///?target=http%3A///questions/4187673/problems-creating-a-popup-window-in-android-activity& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&popupwindow - Problems creating a Popup Window in Android Activity&i class=&icon-external&&&/i&&/a&&/li&&/ul&&br&&ul&&li&在多进程之间不要用SharedPreferences共享数据,虽然可以(MODE_MULTI_PROCESS),但极不稳定:&a href=&///?target=http%3A///questions//mode-multi-process-for-sharedpreferences-isnt-working& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&android - MODE_MULTI_PROCESS for SharedPreferences isn't working&i class=&icon-external&&&/i&&/a&&br&&/li&&/ul&&br&&ul&&li&有些时候不能使用Application的Context,不然会报错(比如启动Activity,显示Dialog等):&/li&&/ul&&img src=&/9be7e8e2d05cd088fb79d22b211fdaad_b.png& data-rawwidth=&600& data-rawheight=&328& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/9be7e8e2d05cd088fb79d22b211fdaad_r.png&&&br&&strong&备注:&/strong&大家注意看到有一些NO上添加了一些数字,其实这些从能力上来说是YES,但是为什么说是NO呢?下面一个一个解释:&br&&p&1、数字1:启动Activity在这些类中是可以的,但是需要创建一个新的task,一般情况不推荐;&br&&br&
2、数字2:在这些类中去layout inflate是合法的,但是会使用系统默认的主题样式,如果你自定义了某些样式可能不会被使用;&br&&br&
3、数字3:在Receiver为null时允许,在4.2或以上的版本中,用于获取黏性广播的当前值。(可以无视);&br&&br&
4、ContentProvider、BroadcastReceiver之所以在上述表格中,是因为在其内部方法中都有一个context用于使用。&/p&&br&&ul&&li&同一个应用的JNI代码,不要轻易换NDK编译的版本,否则会有很多问题(主要是一些方法实现不一样,并且高版本对代码的检测更严格),比如r8没有问题,但到r9就有问题了,这是个大坑;&br&&/li&&/ul&&br&&ul&&li&Android的JNI代码中,有返回类型的函数没有返回值编译的时候也不会报错;&/li&&/ul&&br&&ul&&li&当前Activity的onPause方法执行结束后才会执行下一个Activity的onCreate方法,所以在onPause方法中不适合做耗时较长的工作,这会影响到页面之间的跳转效率;&br&&/li&&/ul&&br&&ul&&li&谨慎使用Android的透明主题,透明主题会导致很多问题,比如:如果新的Activity采用了透明主题,那么当前Activity的onStop方法不会被调用;在设置为透明主题的Activity界面按Home键时,可能会导致刷屏不干净的问题;进入主题为透明主题的界面会有明显的延时感;&br&&/li&&/ul&&br&&ul&&li&不要在非UI线程中初始化ViewStub,否则会返回null;&br&&/li&&/ul&&br&&ul&&li&公共接口一定要考虑到代码重入的情况,能设计为单例就尽量用单例;&br&&/li&&/ul&&br&&ul&&li&不要通过Bundle传递大块的数据,否则会报TransactionTooLargeException异常:&a href=&///?target=http%3A///questions//issue-passing-large-data-to-second-activity& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java - Issue: Passing large data to second Activity&i class=&icon-external&&&/i&&/a&&/li&&/ul&&br&&ul&&li&尽量不要通过Application缓存数据,这不稳定:&a href=&///?target=http%3A//zmywly8866.github.io//android-do-not-store-data-in-the-application-object.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&不要在Android的Application对象中缓存数据!&i class=&icon-external&&&/i&&/a&&/li&&/ul&&br&&ul&&li&(AnimationDrawable在Android5.0及以上的版本已有明显的优化)尽量不要使用AnimationDrawable,它在初始化的时候就将所有图片加载到内存中,特别占内存,并且还不能释放,释放之后下次进入再次加载时会报错;&/li&&/ul&&br&&ul&&li&9图不能通过tinypng压缩,不然会有问题;&/li&&/ul&&br&&ul&&li&genymotion模拟器快是因为它是基于x86架构的,如果你的应用中用到了so,但没有x86架构的so,只能放弃使用它;Android Studio的模拟器也一样;&br&&/li&&/ul&&br&&ul&&li&Eclipse的Android开发环境配置好后不要轻易升级ADT和build tools,不然会浪费你很多时间,还有就是一个workspace中的工程不要太多,不然每次启动都会很慢;&/li&&/ul&&br&&ul&&li&Android studio每个版本、gradle每个版本差别都比较大(我是这样认为的),对于jni代码的编译建议在Eclipse中进行,如果在Android studio中开发jni会浪费很多时间,主要是编译脚本的配置比较麻烦;&/li&&/ul&&br&&ul&&li&Eclipse中的Lint太不靠谱,特别是主工程中依赖library的时候,很多提示都是有问题的,建议使用Android Studio的工程清理工具,特别推荐;&/li&&/ul&&br&&ul&&li&不同API版本的AsyncTask实现不一样,有的是可以同时执行多个任务,有的API中只能同时执行一个线程,所以在程序中同时执行多个AsyncTask时有可能遇到一个AsyncTask的excute方法后很久都没有执行。&a href=&///?target=http%3A//zmywly8866.github.io//android-call-asynctask-excute-not-run.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&调用AsyncTask的excute方法不能立即执行程序的原因分析及改善方案&i class=&icon-external&&&/i&&/a&&/li&&/ul&&br&&ul&&li&同一个应用,相同的图片分别放在drawable-xxhdpi、drawable-xhdpi、drawable-hdpi、drawable-mdpi、drawable-ldpi中,在同一设备中占用的内存会大不一样(设备的dpi是固定的,图片放在不同的dpi文件夹下,在设备上显示时需要将图片转换成和当前屏幕一样dpi后在设备中显示,所以即使该图片在不同dpi文件夹下大小一样,但放在内存中的大小却不是一样的,并不一定是长*宽*4),做应用的内存优化之前可以先看一看你的工程是如何做屏幕适配的,是否有优化的空间。强烈推荐这个屏幕适配视频教程,花两个半小时就能看完:&a href=&///?target=http%3A///learn/484& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Android-屏幕适配全攻略&i class=&icon-external&&&/i&&/a&&/li&&/ul&&br&&ul&&li&谨慎对待数据库升级(比如需要在原数据库中增加字段),避免数据丢失或者操作数据库异常的情况,数据库升级方法可以查阅《第一行代码》P263;&/li&&/ul&&br&&ul&&li&多个程序共用一套代码(一套代码,在桌面上多个图标)时需要处理好不同入口进入时的堆栈问题;&/li&&/ul&&br&&ul&&li&使用Adapter的时候,如果你使用了ViewHolder做缓存,在getView的方法中无论这项的每个视图是否需要设置属性(比如TextView设置的属性可能为null,item的某一个按钮的背景为透明、某一项的颜色为透明等),都需要为每一项的所有视图设置属性(textview的属性为空也需要设置setText(&&),背景透明也需要设置),否则在滑动的过程中会出现内容的显示错乱。&/li&&/ul&&br&&ul&&li&谨慎使用Android的多进程,多进程虽然能够降低主进程的内存压力,但会遇到如下问题:(1)不能实现完全退出所有Activity的功能(如果有同行在应用内采用多进程成功实现过完全退出程序欢迎沟通交流);(2)首次进入新启动进程的页面时会有延时的现象(有可能黑屏、白屏几秒,是白屏还是黑屏和新Activity的主题有关);(3)应用内多进程时,新启动一个进程都会重新跑一次Application的onCreate方法,不上重新创建一个Application,但会重新跑Application的onCreate,这样就不能在Application中缓存数据作为内存共享的途径了;(4)多进程间通过SharedPreferences共享数据时不稳定,具体可以查阅《Android开发艺术探索》。&/li&&/ul&&br&&ul&&li&使用Toast时,建议定义一个全局的Toast对象,这样可以避免连续显示Toast时不能取消上一次Toast消息的情况(如果你有连续弹出Toast的情况,避免使用Toast.makeText);&/li&&/ul&&br&&ul&&li&View的面积越大绘制的时间就越长,透明通道对View的绘制速度影响很大;&/li&&/ul&&br&&ul&&li&不要通过Msg传递大的对象,会导致内存问题。&/li&&/ul&&br&&ul&&li&关于AS的使用经验,参见:[Android Studio使用过程中需要弄明白的一些问题](&a href=&/zmywly0& class=&internal&&Eclipse转Android Studio的过程中有必要弄明白的一些问题 - 张明云的知识共享 - 知乎专栏&/a&)&br&&/li&&/ul&&br&&ul&&li&Eclipse的工程转成AS的版本后,在同一个机器中安装会报”INSTALL_FAILED_VERSION_DOWNGRADE“这个错误,原因是因为as除了可以在Manifest.xml文件中设置apk的版本名和版本号,还可以在build.gradle文件中设置apk的版本名和版本号,记得修改build.gralde中的版本名和版本号到最新就可以了;&br&&/li&&/ul&&br&&ul&&li&通常情况下,在插入USB之后可能会跳转到一个新的界面,这时候可能你本来是横屏的,突然跳转到这个新界面是竖屏的,虽然你的界面被压在下面,但是还是会被强制横竖屏切换一次,如果这时候你的界面不做处理就会重载,如果你的界面里面有很多fragment,这时候的重载更加复杂,难以处理。所以建议不做横竖屏切换的界面都弄一下横竖屏切换不重载。&br&&/li&&/ul&&br&&ul&&li&如果你在 manifest 中把一个 activity 设置成 android:windowSoftInputMode=&adjustResize&,那么 ScrollView(或者其它可伸缩的 ViewGroups)会缩小,从而为软键盘腾出空间。但是,如果你在 activity 的主题中设置了 android:windowFullscreen=&true&,那么 ScrollView 不会缩小。这是因为该属性强制 ScrollView 全屏显示。然而在主题中设置 android:fitsSystemWindows=&false& 也会导致 adjustResize 不起作用;&br&&/li&&/ul&&br&&ul&&li&做自定义手写功能时,底层上报的点并不会都在MotionEvent中能够及时接收到,比如底层一秒钟200个点,上层收到的可能只有几十个点,为了提高手写的流畅度,在onTouchEvent中,通过MotionEvent中的getHistorySize能够获取到从底层传输到上层过程中所有的点;&br&&/li&&/ul&&br&&ul&&li&在Android 4.0以后,在Manifest.xml中静态注册的广播,程序安装后必须启动一次才能接收到广播,比如你的应用监听开机启动的广播,必须要你的程序被运行过才能监听到;&/li&&/ul&&br&&ul&&li&一个AS的工程中,module不宜太多,否则会影响编译的速度,建议将不是经常变动的module打包成aar,主工程直接依赖aar可以大大提高编译的速度;&/li&&/ul&&br&&ul&&li&在AS中,如果你想动态同步一个依赖包的更新,可以在依赖包的最后面写上“+”,比如:&/li&&/ul&&div class=&highlight&&&pre&&code class=&language-text&&compile 'com.android.support:appcompat-v7:23.0.+'
&/code&&/pre&&/div&,但这种方法需要谨慎使用,否则会因为依赖包的变动导致你的项目不稳定:&a href=&///?target=http%3A//blog.danlew.net//dont-use-dynamic-versions-for-your-dependencies/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Don't use dynamic versions for your dependencies&i class=&icon-external&&&/i&&/a&&br&&br&&ul&&li&release版本的apk需要签名才能正常安装;&/li&&/ul&&br&&ul&&li&在2.3之前GC操作是不能并发进行的,也就是系统正在进行GC程序就只能阻塞住等待GC结束,在2.3之后GC操作改成了并发的方式进行,GC过程中不会影响程序的正常运行,但在GC操作的开始和结束还是会短暂阻塞一段时间。所以频繁的GC会导致使用应用的过程中卡顿,所以为了应用在使用过程中更流畅,需要尽量减少触发GC操作,这涉及到性能优化,对于静态代码的分析,AS已经很强大了,可以使用Android Studio的Analyze→Inspect Code...进行分析;&/li&&/ul&&br&&ul&&li&尽量避免给window和Activity同时都设置了背景,这样会造成过渡绘制,可以通过在给Activity设置主题时,去掉windowBackground背景的方式减少一层过渡绘制,有时候为了避免进入Activity时会黑屏或者白屏(和主题有关),会在给Activity设置主题的时候给window设置背景,如果这种情况下给Activity也设置了背景,是会增加一倍内存的:&/li&&/ul&&div class=&highlight&&&pre&&code class=&language-text&&&item name=&android:windowBackground&&@null&/item&
&/code&&/pre&&/div&&br&&ul&&li&一个类的finalize方法调用时机是不确定的,应该避免指望通过这个方法去释放与类相关的资源,否则会导致一些随机bug;&/li&&/ul&&br&&ul&&li&Activity的onDestory方法调用时机是不确定的(有时候离开界面很久之后才会调用onDestory方法),应该避免指望通过onDestory方法去释放与Activity相关的资源,否则会导致一些随机bug;&/li&&/ul&&br&&ul&&li&不要指望MAT明确告诉你哪里存在内存泄露,它只会提供各个类间的引用关系,所以可以通过leakcanary或者通过adb shell dumpsys meminfo packagename查看进入/退出一个界面后activity和views数量的变化情况,来初步定位可能存在内存泄露的地方,然后通过MAT工具找到具体的地方。&/li&&/ul&&br&关于更多Android开发方面的文章,可以看看我的专栏:&a href=&/zmywly8866& class=&internal&&张明云的知识共享 - 知乎专栏&/a&&br&知识面有限,有很多没有深入理解的知识点,可能会导致理解上的偏差,欢迎指正交流~~~
作为一个有三、四年Android应用开发经验的码农,自然会遇到很多坑,下面是我能够想起的一些坑(实践证明不记笔记可不是个好习惯),后面有想到其它坑会陆续补上。 在Android library中不能使用switch-case语句访问资源ID:
Windows Phone 开发是目前三个平台中最易学,比较容易上手但是想要编写出高质量的Windows Phone应用需要不断开放经验积累。&br&&br&就目前来说,学习Windows Phone 应用开发(不含游戏开发)有两个方向:&br&1、Silverlight 8.1&br&2、Windows Phone Store App(其实就是WinRT)&br&&br&如果你有Silverlight相关的经验,可以沿着途径1去学习;&br&如果你是新手,之后又想开发Windows 8.1 上的应用,那么你就要学习WinRT上的开发,它与Silverlight的开发类似但又有许多不一样的地方。&br&&br&我觉得一个新手可以沿着一下的途径去学习Windows Phone的开发&br&1、学习XAML&br&2、学习C#(如果没有相关C#经验)&br&3、学习Windows Phone 8的相关开发(可以看一些技术博客,也可以看一些中文、英文的书籍,更简单的直接找一些视频边看边写)&br&4、选择上面提到的方向择一学习&br&&br&推荐一些学习资源&br&1、&a href=&///?target=http%3A///alexis/archive//1998059.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Windows Phone 7知识锦分享&i class=&icon-external&&&/i&&/a&&br&2、官方 &a href=&///?target=https%3A///zh-cn/develop& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Windows Phone Dev Center&i class=&icon-external&&&/i&&/a&&br&3、一个比较不错 &a href=&///?target=http%3A///blog/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Blog – Jayway&i class=&icon-external&&&/i&&/a&&br&4、我的博客中有一些非常适合新手的开源项目 &a href=&///?target=http%3A///alexis/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Alexis - 博客园&i class=&icon-external&&&/i&&/a&&br&&br&再啰嗦几句:&br&微软推出了Common XAML的概念,即Windows Phone与WinRT上的XAML代码复用&br&1、使用同样的代码,有同样的表现(如Gird等)&br&2、使用同样的代码,在不同平台上有不同的表现(如CommandBar)&br&3、基于平台特有的XAML (如Pivot仅适用于Windows Phone,WinRT上没有)&br&Common XAML还是值得一学的,微软花了大量的经历在移动平台(Phone、Tablet、乃至XBox)的统一,所以微软应该不会过早的弃用该技术&br&&br&至于用什么框架?&br&我觉得新手完全可以直接在code-behind里面写逻辑代码&br&第一、这个比较方便,更容易培养你的开发兴趣&br&第二、当你在code-behind中写了很多代码,这时候你就会想找其他解决方案&br&第三、初级的可以学习使用MvvmLight(我一直在用)作为MVVM框架&br&第四、等你发现MvvmLight已经比较不能满足你的要求了,你可以看一些Caliburn.Micro相关的&br&&br&祝开发路途顺利!
Windows Phone 开发是目前三个平台中最易学,比较容易上手但是想要编写出高质量的Windows Phone应用需要不断开放经验积累。 就目前来说,学习Windows Phone 应用开发(不含游戏开发)有两个方向: 1、Silverlight 8.1 2、Windows Phone Store App(其实就是…
&u&先从区别于细节技术的点谈起&/u&&br&读过《高效人士的7个习惯》,觉得也可以用在高效学习上面&br&但是自我学习又是个人行为,所以我只谈前三点:&br&而且,我可能会&b&更侧重于求职方面&/b&&br&&ul&&li&积极主动&/li&&/ul&首先,&b&你要相信学这个是有意义,有前途的&/b&&br&这样,你才可能会&b&积极主动&/b&&br&要不然&br&现在IOS,安卓,在工作机会上完爆WP,你自己都会质疑自己&br&&ul&&li&以终为始&/li&&/ul&&p&你要有个明确的目标,&b&我大概是想开发怎么样的APP,想进怎么样的公司做什么&br&&/b&&/p&&p&游戏,社交,图片,聊天?&/p&&p&选一个喜欢的方向,去做,专注很重要,而兴趣,帮助你专注&br&&/p&&p&想去camera360,就做个图片应用玩玩,看看他们的简历招聘要求&br&&/p&&p&想去QQ,就做个聊天应用玩玩,看看他们的简历招聘要求&/p&&ul&&li&要事第一&/li&&/ul&&p&其实这个也就是&b&专注&/b&&/p&&p&你的应用里不涉及的模块,你就可以先放放&/p&&p&暂时不要花精力在上面&/p&&p&&b&学习是需要有反馈的,然后人才能不断地获得满足,不断地再进步,&/b&&/p&&p&这也是很多人,拿了一本WP开发大部头,从头看到尾,却效果不佳的原因&br&&/p&&br&&p&&b&心态把握好&/b&&/p&&p&&b&学习就会轻松很多&/b&&/p&&br&&p&&u&学习资源&/u&&/p&&ul&&li&视频(生动形象的认识)&/li&&/ul&&p&&a class=& wrap external& href=&///?target=http%3A///Series/Windows-Phone-8-Development-for-Absolute-Beginners& target=&_blank& rel=&nofollow noreferrer&&Windows Phone 8 Development for Absolute Beginners&i class=&icon-external&&&/i&&/a&&/p&&a class=& wrap external& href=&///?target=http%3A///Series/Building-Apps-for-Windows-Phone-8-Jump-Start& target=&_blank& rel=&nofollow noreferrer&&Building Apps for Windows Phone 8 Jump Start&i class=&icon-external&&&/i&&/a&&br&&a href=&///?target=http%3A///Shows/Inside%2BWindows%2BPhone& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Inside Windows Phone&i class=&icon-external&&&/i&&/a&&br&&ul&&li&书籍(建立系统的知识框架)&/li&&/ul&我强烈推荐&br&《Windows Phone 8 Development Internals》&br&by&br&Andrew Whitechapel&br&Sean McKenna&br&&br&&u&你在学习的过程中,肯定会遇到问题&/u&&br&百思不得其解需要求助时,我倒是十分不赞成QQ群这种IM形式,在群里询问,我只能看到灌水,不耐烦以及效率低下&br&希望你在思考的基础上&br&&ul&&li&能去&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Stack Overflow&i class=&icon-external&&&/i&&/a&这样的专业编程问答网站上去提出你的问题&/li&&li&找一些技术博客,如CSDN,博客园,直接问写过相关技术日志的作者&/li&&/ul&在等答案的同时,干些别的事情,多线程地解决问题&br&&br&&u&解决完问题后&/u&&br&一定要尝试写一篇日志&br&叙述如何发现问题,如何解决问题&br&面试中有一个必问问题——“在你这个项目中,遇到了什么难题,你如何解决的”&br&有这个习惯的话,我相信你不会怵&br&更难能可贵的是,解决问题的能力才是是程序员的核心能力&br&&br&如果你有WP开发方面的问题,欢迎来与我交流
先从区别于细节技术的点谈起 读过《高效人士的7个习惯》,觉得也可以用在高效学习上面 但是自我学习又是个人行为,所以我只谈前三点: 而且,我可能会更侧重于求职方面 积极主动首先,你要相信学这个是有意义,有前途的 这样,你才可能会积极主动 要不然 现…
&p&说起这个黑客老鹰万涛,我就呵呵了。正好今天有时间,就八一八所谓的“中国黑客教父”。&/p&&p&&b&利用中美黑客大战成名的万涛,最大本事是“ping白宫网站”&/b&&/p&&p&万涛出名最早是从2001年的中美黑客大战开始,那会儿口号喊得最响的有两个所谓的黑客组织,一个是中国红客联盟,另一个就是万涛组织的中国鹰派。&/p&&p&不可否认中美黑客大战时人们的热情、斗志和爱国情怀,但也有那么一小撮人,趁机扬(gu)名(ming)立(diao)万(yu),借着媒体炒作和包装,从一个刚入门的小菜鸟,摇身一变就成了“黑客教父”。嗯,说的就是万涛。&/p&&p&说明一点,安全圈有两个万涛,一个是@黑客老鹰万涛,一个是@渥村万涛。@渥村万涛还是有真材实料的,下面所说的万涛特指号称“中国黑客教父”的黑客老鹰万涛。&/p&&p&万涛的中国鹰派当时到底做了什么呢?在网上发帖,号召中国网民“ping死白宫网站”,也就是组织人肉ddos攻击。结果白宫网站没ping死,自己的出口带宽先被以万涛为首的这群“鹰派黑客”堵死了。当时中国还要为出口带宽向美国付费,这货究竟算“爱国”还是“卖国”呢。&/p&&p&其实中美黑客大战里也有高手,但比不了“中国鹰派”名头响亮,再经过无知媒体一宣传,万涛“黑客教父”的称号就开始见诸报端了。当然媒体也闹了不少笑话,比如传说中的“dir溢出”(有兴趣的可以围观&a href=&///?target=http%3A//lcx.cc/%3Fi%3D396& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Dir 溢出的红客大侠 SharpWinner,小心我DIR溢出你!_Nuclear'Atk 网络安全研究中心&i class=&icon-external&&&/i&&/a&)。&/p&&p&&b&打着“黑客教父”旗号,谈了13年黑客文化&/b&&/p&&p&既然成了“黑客教父”,总得干点黑客该干的事儿吧。再看万涛同学,13年了,到处鼓吹“黑客文化”,总结起来无非就是两点,一是爱国,二是刺刀带着思想。至于黑客技术细节,那是绝对闭口不谈的。&/p&&p&按照有些媒体的报道,万涛上大学时玩过病毒,水平咋样外人不得而知,相信行业里绝大多数人也不知道。因为你要对他讲技术,他一定对你讲文化。从没见到万涛发布过原创的技术成果,原创的诗倒是写了不少。&/p&&p&在微博上见到@PP_r00t(曾经活跃在安全焦点上的老一代黑客)对万涛的评价,感觉最合适不过了:&/p&&p&忽悠了13年,不容易,“最”反美的“黑客”在美国公司工作,拿美国人的薪水,这是无间道吗?这15年来,某人给大家上了15年的“黑客文化”课了,也没见真干出点什么技术上的事啊?哪怕黑一台机器啊,光有思想没刺刀,干毛啊?难怪要ping死别人。这都叫什么事(还好他不会dir溢出...)?&/p&&p&&b&真正的“中国黑客教父”:一个人、一个论坛、一家公司&/b&&/p&&p&既然说教父,一定是对黑客技术发展真正做出贡献的人。虽然不同时期很多人都号称过中国黑客教父,但我觉得,真正配得上这个称呼的,只有一个人、一个论坛和一家公司。&/p&&p&&b&一个人:CoolFire,中国黑客技术的布道者&/b&&/p&&p&CoolFire是台湾人,中文名字叫做林正隆。在黑客技术在国内互联网刚刚出现时,Coolfrie翻译发布了国外许多技术文章,他还写过一个黑客守则13条,想当黑客的真应该先看看。&/p&&p&CoolFire最著名的文章是黑客入门8篇。每篇文章都这样开头:“这不是一个教学文件,只是告诉你该如何破解系统,好让你能够将自己的系统作安全的保护,如果你能够将这份文件完全看完,你就能够知道电脑骇客们是如何入侵你的电脑,我是CoolFire,写这篇文章的目的是要让大家明白电脑安全的重要性,并不是教人Crack Password”。&/p&&p&现在来看,CoolFire的很多文章都是基础知识,但很多人就是通过CoolFire进入了黑客这个无穷神秘的世界。虽然不为媒体和大众知晓,CoolFire才是真正的中国黑客教父。&/p&&p&&b&一个论坛:安全焦点,精英荟萃&/b&&/p&&p&现在搜索各种黑客榜,安全焦点(&a href=&///?target=http%3A//www.xfocus.net& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&网络安全焦点::自由的信息安全、黑客攻防和漏洞研究组织&i class=&icon-external&&&/i&&/a&)是一个上镜率颇高的词汇。尽管早已盛况不再,但安焦确实是那个年代中国黑客交流技术和互相学习进步最好的平台。&/p&&p&安焦汇集了那时来自五湖四海、不同公司、不同身份的黑客技术精英,包括alert7、flashsky、benjurry、tombkeeper、PP_r00t、swan、watercloud、funnywei、冰河、小榕等一大批人(牛人太多列不过来了)。&/p&&p&&b&一家公司:中联绿盟,中国黑客的黄埔军校&/b&&/p&&p&很多人把绿色兵团当作绿盟的前身,绿色兵团的goodwell也因此有着“中国黑客教父”之称(ft,怎么这么多教父),其实这是完全错误的。&/p&&p&绿色兵团早期只是个导航站,提供一些黑客个人站点和技术网站的链接。沈继业(网名眼圈)在上海成立上海绿盟时,goodwell是五个股东之一。后来眼圈在北京成立公司,接受中联的投资,也就是中联绿盟。因为一些原因,goodwell与绿盟分道扬镳(不具体八了,总之中联绿盟和绿色兵团没任何关系)。&/p&&p&中联绿盟最大的贡献,除了翻译一些国外技术资料、发布不少原创文章以外,还给各大互联网公司输送了不少大牛,比较有名的包括去了360的yuange、hume,去了腾讯的tombkeeper,去阿里的曲P9(coolq1981)等人;有正在创业的deepin、caoz、watercloud等;还有出了国在FireEye干得风生水起的ipxodi。&/p&&p&如今还坚守在绿盟的大牛,也只剩下warning3、STAR、小四等寥寥几位,真心希望绿盟这个中国黑客的黄埔军校能再次焕发青春,也希望媒体和大众关注真正的黑客大牛,而不是让南郭先生冒充教父到处招摇撞骗了。&/p&
说起这个黑客老鹰万涛,我就呵呵了。正好今天有时间,就八一八所谓的“中国黑客教父”。利用中美黑客大战成名的万涛,最大本事是“ping白宫网站”万涛出名最早是从2001年的中美黑客大战开始,那会儿口号喊得最响的有两个所谓的黑客组织,一个是中国红客联盟…
------突然间多了好多赞和关注,感觉不更新对不起这么多赞。。。&br&&br&请容我整理一下然后准备来个更新。。。&br&&br&多图预警!!!&br&&br&更新于&br&关于vs2013到底你要怎么用,新手拿到vs2013总是感觉这货好大好复杂,还有点卡,本次更新内容纯属为小白教学,大神们求放过,也欢迎各路大神批评指正,共同为新手们营造一个良好的学习氛围!&br&&br&&ul&&li&首先安装visual studio 2013,可以是社区版,也可以是专业版,目前&b&个人&/b&推荐专业版,社区版小白总是在安装时出各种问题。&b&安装过VS任何版本请务必使用系统-控制面板-程序与功能卸载干净!Windows7请安装SP1补丁后安装&/b&&br&&/li&&li&&a class=& wrap external& href=&///?target=https%3A///& target=&_blank& rel=&nofollow noreferrer&&学生可以通过:Microsoft DreamSpark下载专业版 需要验证身份和注册Microsoft账号(很有必要)&i class=&icon-external&&&/i&&/a&&/li&&li&安装过程异常枯燥,请保证电脑电量充足,可以去休息一个小时,让它慢慢装....&br&&/li&&br&&li&安装成功之后第一步就是登陆你的Microsoft账号.&img data-rawheight=&206& data-rawwidth=&282& src=&/3c3a1d350e119f31be6be_b.jpg& class=&content_image& width=&282&&&/li&&li&然后单击工具-选项,进行一些相关的设置(不知道什么意思就不要乱设置,否则后果自负)&img data-rawheight=&622& data-rawwidth=&416& src=&/253514ceb41df5a95c8a793ea1327821_b.jpg& class=&content_image& width=&416&&&/li&&li&在环境-同步设置里设置好&img data-rawheight=&493& data-rawwidth=&757& src=&/1cb668f9a4cf3cfb3f0532e_b.jpg& class=&origin_image zh-lightbox-thumb& width=&757& data-original=&/1cb668f9a4cf3cfb3f0532e_r.jpg&&&/li&&li&在文本编辑器里设置启用行号&img data-rawheight=&493& data-rawwidth=&757& src=&/1cb668f9a4cf3cfb3f0532e_b.jpg& class=&origin_image zh-lightbox-thumb& width=&757& data-original=&/1cb668f9a4cf3cfb3f0532e_r.jpg&&&/li&&li&开启垂直滚动条缩略图模式,设置为宽,对于预览一些代码量很大的程序很方便&br&&/li&&br&&li&&img data-rawheight=&499& data-rawwidth=&760& src=&/569a43bd336c5120bcbf2_b.jpg& class=&origin_image zh-lightbox-thumb& width=&760& data-original=&/569a43bd336c5120bcbf2_r.jpg&&还有字体啊背景啊什么的自己去找吧&/li&&li&下面进入正题...文件-新建-项目&/li&&img data-rawheight=&105& data-rawwidth=&641& src=&/c0e82c94cad37d144afa_b.jpg& class=&origin_image zh-lightbox-thumb& width=&641& data-original=&/c0e82c94cad37d144afa_r.jpg&&&br&&ul&&li&选择Visual C++,画圈的三选一,爱用哪个用哪个.设置好项目名称,位置.&br&&/li&&br&&img data-rawheight=&614& data-rawwidth=&955& src=&/9f38bc55e19f3f97384e2_b.jpg& class=&origin_image zh-lightbox-thumb& width=&955& data-original=&/9f38bc55e19f3f97384e2_r.jpg&&&li&我选的是Win32,不必和我保持一致.看不懂选项什么意思把鼠标悬停在选项上,会出现提示,也可以点击右上角的?查看帮助&br&&/li&&br&&img data-rawheight=&493& data-rawwidth=&685& src=&/66a57d05b6d9cff46a34f2_b.jpg& class=&origin_image zh-lightbox-thumb& width=&685& data-original=&/66a57d05b6d9cff46a34f2_r.jpg&&&li&&b&以下这一步非常重要&/b&,&b&先取消&/b&预编译头,&b&再&/b&勾选&b&空项目&/b&,最后&b&取消勾选SDL检查&/b&,单击完成&br&&/li&&/ul&&br&&img data-rawheight=&494& data-rawwidth=&688& src=&/bf69eeb1f5d_b.jpg& class=&origin_image zh-lightbox-thumb& width=&688& data-original=&/bf69eeb1f5d_r.jpg&&&li&然后按图操作&br&&/li&&br&&img data-rawheight=&265& data-rawwidth=&579& src=&/3b9656ada28cca_b.jpg& class=&origin_image zh-lightbox-thumb& width=&579& data-original=&/3b9656ada28cca_r.jpg&&&br&&ul&&li&注意&b&文件扩展名为.c&/b&,.cpp是c++的&br&&/li&&br&&img data-rawheight=&614& data-rawwidth=&960& src=&/756afbb86e2_b.jpg& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/756afbb86e2_r.jpg&&&li&可以设置自动隐藏,如果不小心点了叉关了找不到不用担心,窗口-重置窗口布局即可.&br&&/li&&br&&img data-rawheight=&94& data-rawwidth=&319& src=&/d6b9f0ef853b354b5eb54937baf21b2e_b.jpg& class=&content_image& width=&319&&&li&写个Hello World试试看,可以使用Ctrl+鼠标滚轮调整字体缩放,很方便.&br&&/li&&br&&img data-rawheight=&511& data-rawwidth=&1315& src=&/792aa744c5ed06fb3d75_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1315& data-original=&/792aa744c5ed06fb3d75_r.jpg&&&li&getchar();那里可以写system(&pause&);不要纠结细节......按F5调试&/li&&li&Shift+F5停止调试,还有F9,F10,F11,F4,快速注释/取消注释什么的自己去搜....善用Windows下的各种快捷键Ctrl+Z,Ctrl+C,Ctrl+V,Ctrl+S,Ctrl+L什么的。。按住Shift选择一行什么的...鼠标还是没有直接用键盘效率...&br&&/li&&img data-rawheight=&515& data-rawwidth=&829& src=&/1caf175d823dc413c1d11_b.jpg& class=&origin_image zh-lightbox-thumb& width=&829& data-original=&/1caf175d823dc413c1d11_r.jpg&&&li&在菜单栏空白处鼠标右键会出菜单,可以关掉不必要的&br&&/li&&img data-rawheight=&768& data-rawwidth=&1366& src=&/f2d56ea8d891cc8c2f6bd6_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1366& data-original=&/f2d56ea8d891cc8c2f6bd6_r.jpg&&&li&反正写了这么多了就再多说点吧...选中你的源文件可以设置这个文件的属性.默认是开启/W3的.&br&&/li&&img data-rawheight=&608& data-rawwidth=&953& src=&/88cacdcb549f211bceb9b00d4b216183_b.jpg& class=&origin_image zh-lightbox-thumb& width=&953& data-original=&/88cacdcb549f211bceb9b00d4b216183_r.jpg&&&li&剩下的自己研究去吧.你还可以让编译器忽略一些警告,加编译选项什么的&a href=&///?target=https%3A///zh-cn/library/9s7c9wdw.aspx& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&编译器选项&i class=&icon-external&&&/i&&/a&&/li&&li&说实话真挺无聊的......剩下的比如不能在一个项目多个源文件搞几个main()函数什么的,老师应该都有教....&/li&&li&&a class=& wrap external& href=&///?target=https%3A///zh-cn/library/vstudio/dd831853.aspx& target=&_blank& rel=&nofollow noreferrer&&欢迎使用 Visual Studio 2013&i class=&icon-external&&&/i&&/a&&/li&&li&&a class=& wrap external& href=&///?target=https%3A///zh-cn/library/ms310241& target=&_blank& rel=&nofollow noreferrer&&MSDN Library看英文的,机器翻译的....,中文更看不懂.&i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&博客园 - 开发者的网上家园&i class=&icon-external&&&/i&&/a&&/li&&/ul&&br&&li&写到这里还挺感谢我们院长的,大一时候给了不少指导,挺重要的.&br&&/li&&/ul&&br&&br&&br&&br&以下为原内容:&br&vc++6.0那货就不要再用了,&br&&br&得说多少遍啊!&br& 说多少遍啊!&br& 多少遍啊!&br& 少遍啊!&br& 遍啊!&br& 啊!&br& !&br&&br&如果你为了考2级那就不用看了,直接给个赞就好了。&br&&br&其他的那些货那个不比vc++6.0强?你也不用纠结win8.1用不了的问题!&br&&br&vc++6.0这个破烂就像IE6一样神烦。&br&上学期被学弟学妹们追问vc++6.0在win8怎么装,开始我还耐心回答。。。后来真是受不了了,就给他们开了个会。&br&&br&我记得我大概就是这么说的:&br&&br&首先,不要用vc++6.0和turbo c.&br&&br&其次,建议使用IDE。Microsoft一套推荐vs2010(最低标准)-vs2013,以后要学c#什么的vs2013没商量;还有codeblocks,Dev c++.&br&&br&你爱用哪个就用哪个,反正我就是看好visual studio,除了启动速度完爆其他所有IDE,尤其调试简直超神。。而且一堆插件有的很有意思的~&br&&br&然后,书你要是想省心的话一定是 c primer plus 了,当然要买实体正版书了,电子版不打印出来那么厚怎么看,你是在逗我么。&br&&br&最后,不要相信大神都是用记事本手撸万行代码且一次运行编译通过无bug的。没事可以当乐子看看,别较真。&br&&br&PS:之后我的生活清静了好多。。。再也没有人跟我纠结这个问题了
------突然间多了好多赞和关注,感觉不更新对不起这么多赞。。。 请容我整理一下然后准备来个更新。。。 多图预警!!! 更新于 关于vs2013到底你要怎么用,新手拿到vs2013总是感觉这货好大好复杂,还有点卡,本次更新内容纯属为小白教学,大神们求放过,…
&img src=&/126acbc36d1df7b023baca9fbd192d9f_b.jpg& data-rawwidth=&650& data-rawheight=&379& class=&origin_image zh-lightbox-thumb& width=&650& data-original=&/126acbc36d1df7b023baca9fbd192d9f_r.jpg&&&b&&br&从缺乏自控到高度自控:从0到1间我学会了这些事。&/b&&br&&br&&blockquote&&b&前言&/b&&/blockquote&&br&我觉得长久以来,缺乏自控的人都被社会很不公平地贴上了许多负面的标签,仿佛缺乏自控的人都是天生自甘堕落。这些负面标签让许多不自控的人背负了更为沉重的心理压力。“压力山大”的状态显然会阻碍人们实现自控。&br&&br&我还发现一个值得讨论的现象。每次段子手们发那种“缺乏自控者自黑”的微博,许多人总会转发并加上类似下面这样的评论:&br&&br&“哈哈哈哈哈哈哈,服!”&br&“哦”&br&“中枪”&br&“人艰不拆”&br&“原Po你够了”&br&&br&每次看到这样的段子和评论,我心里总有一种复杂又难以形容的感觉。我相信大部分这样自黑的人,其实都渴望有一天能实现自控。因为我也曾经是一个缺乏自控的人。我也曾经渴望过同样的东西。在和不自控的自我斗争多年后,我这几年终于拥有了足够强大的自控力。回顾这场漫长的斗争,我确信我有一些朴素但亲身验证有效的经验值得和大家分享。希望这些经验能帮助大家最终获得强大的自控力,收获更多自由。&br&&br&&blockquote&&b&1. 找到自己热爱的事业。&/b&&/blockquote&&br&在我不自控的日子里,我的一大问题就是我并不知道自己到底热爱什么。我一直试试这个,失败,再试试那个,受挫。如此反复。直到我最终找到我热爱的事业,我才实现了自控。我清楚地意识到,当我做我不热爱不擅长的事情时,我想的更多的是如何磨洋工,如何为自己腾出更多的娱乐时间。&br&&br&真的,我深切感受到,拥有热爱的事业对于我们的自控力太重要了。&u&当我们拥有了热爱的事业,我们就找到了生命的意义,存在的意义&/u&。我们就意识到自己应该抵制玩乐的诱惑,就意识到把时间浪费掉有多么可惜。我们会用努力实现这份事业中的一个个小任务,来填满自己一天工作学习中的大部分时光。&br&&br&我有一个从小一起长大的好朋友是一个好例子。在这里我们姑且称他为大刘(化名)。大刘从某沿海城市一所大学毕业后,去了一家广告公司做销售。大刘很快意识到自己不是做销售的料,因为他很讨厌被人否定。而销售大部分时间都在被人否定中憋大招,等大招放出来拿下客户后,才能获得上级的肯定和金钱的回报。大刘连续两个月都没有开单,因为上班时间他总难抵制各种手机,电脑游戏等诱惑。毕竟,只要一想到要给客户打电话,大刘就头疼,所以自然还是磨洋工更舒适一些。&br&&br&大刘很快离开了这家广告公司。之后,他又尝试了几份工作,但都意兴阑珊。最后,他很幸运地找到了自己的热情所在---开甜品店。大刘爱玩微博微信,又懂得做甜点,我们几个兄弟就劝他去试试开个甜品店。大刘一想反正现在也没工作,于是他就在我们老家开了个小甜品店,并通过微博和朋友圈营销自制甜品。开张之后大家都帮他卖力宣传,所以他的店生意很不错。赚了钱,被肯定了,大刘自然很开心。于是,他开始天天琢磨如何让甜品变得更好吃,如何送货送得更快,如何跟供应商斗智斗勇压低原料成本,如何与客户在微博微信上增加互动。你们觉得他现在还会打游戏,磨洋工吗?还会,但频率比以前低太多了。有了热情,一个人的自控力就将大幅提升。&br&&br&当然我分享这个故事不是让大家都去开甜品店。而是希望大家多去尝试,因为不多尝试,你永远不知道自己的热情所在。不过有一个问题困惑了我很久。我们到底是因为擅长某事,继而获得认可,所以才变得热情呢?还是因为热情,所以付诸努力,最终变得擅长?这个是个先有鸡还是先有蛋的哲学问题。当然,如果你没有答案也不要紧,因为这只是个题外话。重要的是,只要你不断寻找,最终你一定可以找到你擅长,或者是有热情的事情。不管你找到哪一样,你都很有可能变成一个有自控力,能抵制诱惑,能管理好个人时间的人。&br&&br&&blockquote&&b&2. 保持足够的休息时间&/b&&/blockquote&&br&我接下来想谈谈午睡的巨大作用。我知道做到早睡早起可能会比较难(我一般半夜1点睡,第二天8点起床)。但我发现强迫自己睡午觉并不难。这几年,每天不管课业或工作有多忙,我都会想尽一切办法午睡30分钟。如果不睡午觉,我很容易精神不振。精神不振的我容易失控,容易被玩乐所诱惑,进而浪费自己的时间。相反,我如果保证合理充足的午睡时间,我往往就能精神振奋。这样,&u&我就能在自己要失控的时候意识到自己正在失控&/u&,并努力阻止这种失控。&br&&br&&img src=&/cfea6a1d79cb_b.jpg& data-rawwidth=&1200& data-rawheight=&627& class=&origin_image zh-lightbox-thumb& width=&1200& data-original=&/cfea6a1d79cb_r.jpg&&&br&&i&永远不要尝试在甜点堆里训练自己对美食的自控力。&/i&&br&&br&&blockquote&&b&3. 远离诱惑&/b&&/blockquote&&br&没人是圣人,没人能做到在诱惑面前百分百自控。即使一个人找到自己热爱擅长的事业,他也只能因此实现很大程度上的自控。所以我们依旧需要努力切断身边的诱惑源,来实现更大程度上的自控。&br&&br&在远离诱惑这点上我的做法就是,对自己狠一点。手机,我一定会放在自己很难拿到的地方,或者干脆委托别人把自己的手机锁起来。读书,我一定会在图书馆里读,而不会回家读,因为回家后可以看电视,可以刷剧,可以躺下休息,诱惑实在太多了。&u&对于诱惑这种东西,打不起,难道我们还躲不起&/u&?&br&&br&&blockquote&&b&4. 找到合格的替补&/b&&/blockquote&&br&我还想分享一个经验。这个经验不是用来增强自控,&u&而是用来减轻自控系统短暂崩溃后所产生的负面影响&/u&。我发现我的自控系统在反复挑战一个很难的学习或工作任务时,最容易失灵。自控系统暂时失灵后,我往往会去寻找其他令人愉悦的事情来填补这段时间空白,等到我调整心态,重获自控后,再向那个艰难的任务发起挑战。&br&&br&一开始我喜欢用刷微博,看视频这样的事情来填补这段时间空白,但我发现这样做并没有在最好地利用时间。后来我意识到,难的任务和娱乐消遣之间还有其他选择。我还可以用相对简单的学习或工作任务来填补这段时间空白,让这些任务成为艰难任务的合格替补。毕竟,虽然我当时的自控力已不足以支撑我继续挑战那些困难的任务,&u&但是我还是有足够的自控力,去做那些相对简单但有意义的任务。那我又何必浪费自己的自控力剩余呢&/u&?&br&&br&所以,现在我每次挑战困难任务时,都会事先准备一些相对简单的学习或工作任务。一旦我发现自控系统失灵,我就会迅速切换到那些相对简单的任务上,确保时间的有效利用,并等待面对困难的能量和动力慢慢恢复。在积攒完能量和动力后,我会重新回到困难任务模式中,继续寻找解决方案。&br&&br&&b&&blockquote&更新一个答案,谈如何战胜拖延症:&a href=&/question//answer/& class=&internal&&如何解决严重的拖延症? - 米洛的回答&/a&&/blockquote&&/b&&br&&blockquote&&b&结语&/b&&/blockquote&&br&与不自控的自我进行斗争,可能会是一个漫长的过程。但这个斗争一旦胜利,我们将会变成更好的自己。我们的一生会充满很多这样的斗争,因为人生最浪漫的事情不是看着自己慢慢变老,而是看着自己慢慢变强。祝愿大家早日旗开得胜!
从缺乏自控到高度自控:从0到1间我学会了这些事。 前言 我觉得长久以来,缺乏自控的人都被社会很不公平地贴上了许多负面的标签,仿佛缺乏自控的人都是天生自甘堕落。这些负面标签让许多不自控的人背负了更为沉重的心理压力。“压力山大”的状态显然会阻碍…
更新&/b&&/u&&br&喜闻窝壳出台新龟腚,不接受 pdf 文档,又向世界一流大学迈了大一步。广大 @&img src=&///equation?tex=%5Ctext%7B%5CLaTeX%7D& alt=&\text{\LaTeX}& eeimg=&1&&er 速速看过来。\textcolor{white}{哎,我啥时能写毕业论文呢……}&br&&br&&br&&u&&b&-2. 写在前面&/b&&/u&&br&长文多图,流量党慎入。更了 3 天终于把坑填上了,累。&br&&br&允许转载,转载请注明出处,并把 &u&&b&A. 如何优雅的凑字数&/b&&/u& 去掉。&br&&br&基本把论文写作的方方面面都覆盖到了,一半的奇技淫巧,一半的常用技巧。说白了,Word 的奇技淫巧就是指宏和域,本文从第三章开始都是通过域和宏来实现的。至于题主说的画图什么的,本文并不提及。因为关于画图这一项就可以写出比这篇更长的文章,有时间我再更吧,近期恐怕不行。&br&&br&另外说明一下:本人用的是 Office 2013 for Windows 32bit,轻度 LaTeX 使用者,轻度 Word 使用者。在此班门弄斧,欢迎批评指正。&br&&br&写着写着我发现我好像在回答这个问题:&a href=&/question/& class=&internal&&如何做到像使用 LaTeX 那样优雅地使用 Word?&/a&确实,我因为一些原因不能使用 LaTeX,我时不时的就在想如何用 LaTeX 的方式用 Word。LaTeX 的大部分功能 Word 都能实现,但是差距总归是存在的,既然不能改变现状,就想办法把 Word 用好。&br&&br&&ul&&li& 创建文档:样式与内容分离、创建模板、添加注释。&br&&/li&&li& 添加:自动编号、符号替换。&br&&/li&&li& 添加:插入公式、插入图表、章节目录、如何优雅的凑字数、交叉引用、图表目录,参考文献。&/li&&li& 修改:插入图表。&/li&&/ul&&br&&b&&u&-1. 章节目录&/u&&/b&&br&&div class=&highlight&&&pre&&code class=&language-text&&
0x00. 样式与内容分离
0x01. 创建模板
0x02. 添加注释
0x03. 自动编号
0x04. 插入公式
0x05. 插入图表
0x06. 交叉引用
0x07. 图表目录
0x08. 参考文献
0x09. 符号替换
0x0A. 如何优雅的凑字数
&/code&&/pre&&/div&&b&&u&&br&0. 样式与内容分离&/u&&/b&&br&这一点 LaTeX 用户做的比较好,Word 用户往往不是特别注意。样式与内容分离可以最大限度的使作者从繁复的排版工作中解脱出来,而全身心的投入到内容写作,后期调整格式也相对容易。与 LaTeX 类似,在写作的时候只需要告诉 Word 这是正文,这是图,这是表,这是标题就行了。&br&&br&Word 的样式列表如下图所示,在这可以任意的添加、删除、修改样式。&br&&img src=&/c08bf84fa72d55893cc35_b.jpg& data-rawwidth=&530& data-rawheight=&374& class=&origin_image zh-lightbox-thumb& width=&530& data-original=&/c08bf84fa72d55893cc35_r.jpg&&&br&样式的添加伴随着论文的写作进行的。当遇到之前没遇到的样式,就随手将该格式添加到样式列表中。比如写到一半,出现第一个图,图与正文格式不同,要求无缩进,位置居中,所以此时需要添加一个图的样式。以后出现图的时候直接点击样式列表就行了。论文完成的时候,你的样式列表也就完成了。&b&要保证一点,论文中的除了自动生成的部分(如目录,参考文献等)所有内容都必须与一种样式对应。&/b&这样做的好处就是后期调整格式十分便捷。&br&&br&有些时候论文写了大半或者写完的时候需要调整论文的格式,比如正文字体变小一号,图片变成左对齐。这里不能全选然后更改字号,这样的话所有的字号都变成一样的了。笨一点的办法就是一段一段的选择,然后调整字号。稍微聪明一点的办法利用格式刷,一点一点的改。但是对于几十页甚至上百页的文章来说是非常耗时,而且容易遗漏,导致格式前后不一致。如果写作的时候就将样式与内容分离开,此时只需要在样式列表中的“正文”样式上点击右键,选择“修改...”,如下图所示。&br&&img src=&/9fee251d750b40ca97324b4_b.jpg& data-rawwidth=&527& data-rawheight=&228& class=&origin_image zh-lightbox-thumb& width=&527& data-original=&/9fee251d750b40ca97324b4_r.jpg&&在弹出的对话框中,将字体改成五号字体,点击确定,如下图所示。&br&&img src=&/ae351f50d0dd6bd116b3_b.jpg& data-rawwidth=&564& data-rawheight=&624& class=&origin_image zh-lightbox-thumb& width=&564& data-original=&/ae351f50d0dd6bd116b3_r.jpg&&&br&这样所有的正文字体都会变成五号字体。&br&&br&其他样式,例如行距,颜色,缩进,编号等等,都可以在样式中进行统一更改。修改过程非常方便,文档越大效果越明显。&br&&br&&b&&u&1. 创建模板&/u&&/b&&br&当你写完一篇论文的时候,可以将该文档的&b&副本&/b&的内容删除,然后保存成模板,以便日后使用。以后写论文的时候复制一份这个模板,打开便可以直接进行写作了。所有的样式都将如上一篇论文一样,省去了添加样式的过程。&br&&br&如果希望新建的 Word 文档中包含这些样式,将该空白模板另存为 .dotx 格式,路径为我的文档下的“自定义 Office 模板”,如下图所示。&br&&img src=&/6fd422043cff1beec3a1e_b.jpg& data-rawwidth=&720& data-rawheight=&508& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&/6fd422043cff1beec3a1e_r.jpg&&&br&以后再打开 Word 时,可以在“个人”模板中找到该模板,如下图所示。&br&&img src=&/a5488feccd938fbf40563f_b.jpg& data-rawwidth=&790& data-rawheight=&447& class=&origin_image zh-lightbox-thumb& width=&790& data-original=&/a5488feccd938fbf40563f_r.jpg&&&br&&br&点击该模板,就可以创建一个空白文档,样式列表与第一篇论文一致。&br&&br&如果想让右键菜单新建的 Word 文档变成该模板,需要将该空白文档另存为 .dotm 格式,然后替换掉该文件&br&&div class=&highlight&&&pre&&code class=&language-text&& &C:\Users\XXX\AppData\Roaming\Microsoft\Templates\Normal.dotm&
&/code&&/pre&&/div&,其中 XXX 为你的用户名。&br&&br&这样通过右键菜单新建的 Word 文档将变成改模板。如下图所示。&br&&img src=&/11ae7490febef6bf671c4_b.jpg& data-rawwidth=&515& data-rawheight=&404& class=&origin_image zh-lightbox-thumb& width=&515& data-original=&/11ae7490febef6bf671c4_r.jpg&&&br&&b&&u&2. 添加注释&/u&&/b&&br&论文写作有时候需要添加一些思考的过程,或者是想暂时删掉某些内容。LaTeX 用户比较方便直接添加注释就行了。&br&&div class=&highlight&&&pre&&code class=&language-tex&&&span class=&c&&% This is comment。&/span&
&span class=&k&&\iffalse&/span&
This is comment, too.
&span class=&k&&\fi&/span&
&/code&&/pre&&/div&&br&其实利用 Word 中的样式,可以实现这个功能。&br&&br&首先创建一个新样式,名字为“注释”。&br&&img src=&/cd281d118f9a165c9521ddcea1db2206_b.jpg& data-rawwidth=&468& data-rawheight=&667& class=&origin_image zh-lightbox-thumb& width=&468& data-original=&/cd281d118f9a165c9521ddcea1db2206_r.jpg&&&br&为了与正文区别开来,将字体设置成仿宋+Courier New,颜色为绿色。最重要的一条就是将“隐藏”复选框选中。&br&&img src=&/0abaed3d1148eecc_b.jpg& data-rawwidth=&564& data-rawheight=&624& class=&origin_image zh-lightbox-thumb& width=&564& data-original=&/0abaed3d1148eecc_r.jpg&&&br&按照 Matlab 或者 LaTeX 的注释风格,项目符号选择一个 Courier New 字体的半角百分号。这个可以不用设置。&br&&img src=&/ceff964b5094_b.jpg& data-rawwidth=&346& data-rawheight=&420& class=&content_image& width=&346&&&br&为了方便使用,可以为该样式设置快捷键。我这里用的是 Ctrl + %,也就是 Ctrl、Shift 和 5 同时按下。&br&&img src=&/748f83cf8aa7b7f1a1f5_b.jpg& data-rawwidth=&503& data-rawheight=&562& class=&origin_image zh-lightbox-thumb& width=&503& data-original=&/748f83cf8aa7b7f1a1f5_r.jpg&&&br&到此为止,注释样式的配置就完成了。最后一步,打开 Word 的选项,选中“显示隐藏文字”复选框,如下图所示。&br&&img src=&/e7f1e5f68a8_b.jpg& data-rawwidth=&850& data-rawheight=&685& class=&origin_image zh-lightbox-thumb& width=&850& data-original=&/e7f1e5f68a8_r.jpg&&&br&回到正文,按下 Ctrl + Shift + 5 即可进入注释模式。如果想暂时删除某写内容,选中这些内容,然后按下 Ctrl + Shift + 5 即可。&br&&img src=&/f932a4e03e0aaebff7ed_b.jpg& data-rawwidth=&915& data-rawheight=&799& class=&origin_image zh-lightbox-thumb& width=&915& data-original=&/f932a4e03e0aaebff7ed_r.jpg&&&br&&br&上图中绿色文字,只有你能看到,其他人由于 Word 默认不显示隐藏文字,所以是看不到这些内容的。在其他人眼中,该 Word 文档是这样的:&br&&img src=&/2a4dbbc5d4f72a08ea2d2af8b03dddbc_b.jpg& data-rawwidth=&929& data-rawheight=&686& class=&origin_image zh-lightbox-thumb& width=&929& data-original=&/2a4dbbc5d4f72a08ea2d2af8b03dddbc_r.jpg&&&br&如何批量删除注释内容?&br&当文档完成的时候,注释内容失去作用,又不想万一被人看见。利用替换功能删除这些注释即可。打开替换对话框,选择“格式”--“字体”,将“隐藏”复选框选中,如下图所示。&br&&img src=&/73c5fbd0ee185b37fcb9299_b.jpg& data-rawwidth=&577& data-rawheight=&551& class=&origin_image zh-lightbox-thumb& width=&577& data-original=&/73c5fbd0ee185b37fcb9299_r.jpg&&&br&然后点击确定,替换窗口会多出一条格式属性:隐藏,如下图所示。&br&&img src=&/0acfb_b.jpg& data-rawwidth=&577& data-rawheight=&551& class=&origin_image zh-lightbox-thumb& width=&577& data-original=&/0acfb_r.jpg&&&br&“替换为”文本框留空,然后点击全部替换,便删除所有的注释内容。&br&&br&有时候我们需要去掉注释看看文章到底是什么样的,然后就跑去修改选项,太麻烦!我们用一个宏来完成这个繁琐的工作。&br&&br&新建一个名字为 ShowComment 的宏,然后点击创建。&br&&img src=&/21b3ac4bf610f_b.jpg& data-rawwidth=&610& data-rawheight=&548& class=&origin_image zh-lightbox-thumb& width=&610& data-original=&/21b3ac4bf610f_r.jpg&&&br&&br&再打开的代码框中,在 sub 中添加一句代码就行了:&br&&div class=&highlight&&&pre&&code class=&language-vb.net&&&span class=&n&&ActiveWindow&/span&&span class=&p&&.&/span&&span class=&n&&View&/span&&span class=&p&&.&/span&&span class=&n&&ShowHiddenText&/span& &span class=&o&&=&/span& &span class=&k&&Not&/span& &span class=&n&&ActiveWindow&/span&&span class=&p&&.&/span&&span class=&n&&View&/span&&span class=&p&&.&/span&&span class=&n&&ShowHiddenText&/span&
&/code&&/pre&&/div&如下图所示。&br&&img src=&/d2fbdfdf7aea713c5163cc_b.jpg& data-rawwidth=&501& data-rawheight=&149& class=&origin_image zh-lightbox-thumb& width=&501& data-original=&/d2fbdfdf7aea713c5163cc_r.jpg&&&br&然后把这个宏添加到快速访问工具栏中。&img src=&/75f4ec79d5cfc_b.jpg& data-rawwidth=&325& data-rawheight=&380& class=&content_image& width=&325&&&br&在打开的对话框中将刚刚创建的宏添加到快速访问工具栏,如下图所示。&br&&img src=&/883ddb71a379ccde69f7f6_b.jpg& data-rawwidth=&850& data-rawheight=&685& class=&origin_image zh-lightbox-thumb& width=&850& data-original=&/883ddb71a379ccde69f7f6_r.jpg&&&br&改个名字,换个图标。&br&&img src=&/dbc536df7f_b.jpg& data-rawwidth=&850& data-rawheight=&685& class=&origin_image zh-lightbox-thumb& width=&850& data-original=&/dbc536df7f_r.jpg&&&br&快速访问工具栏上多了一个按钮,点击它就可以切换显示注释或者是不显示注释。&br&&img src=&/f7f137efc3aed932a995af_b.jpg& data-rawwidth=&251& data-rawheight=&125& class=&content_image& width=&251&&&br&当然,你如果只想看看最终样子的话,可以不用这么麻烦,按 Ctrl + P,进入打印预览就好了。&br&&br&&b&&u&3. 自动编号&/u&&/b&&br&本人是不建议任何形式的手动编号,费劲,而且容易出错。我见过不少人的论文采用的是手动编号,后期需要删除或者添加章节、图片、表格,然后就是所有编号重新改一遍,那酸爽,我相信懂的人自然懂。&br&&br&Word 提供的编号样式已经非常多了,还支持自定义编号格式,基本涵盖 99% 的使用场景。&br&&img src=&/d7f683f51e151922adfc3e7ca3ab6cff_b.jpg& data-rawwidth=&293& data-rawheight=&693& class=&content_image& width=&293&&&br&Word 默认模板标题是不带编号的,好多人也不会为标题添加编号,这里简单介绍一下如何为标题添加编号。&br&&br&第一步:点击多级列表,为多级标题选择一种编号格式,我这里选的是第三种。&br&&img src=&/c8c85c7ae1fcf1f0ba11aa5_b.jpg& data-rawwidth=&328& data-rawheight=&661& class=&content_image& width=&328&&然后点击菜单下方的”定义新的多级列表“,打开如下对话框。&br&&img src=&/be87d4d5d75eedc3713ec_b.jpg& data-rawwidth=&422& data-rawheight=&512& class=&origin_image zh-lightbox-thumb& width=&422& data-original=&/be87d4d5d75eedc3713ec_r.jpg&&&br&点击”更多“,显示出为师的完全体。&br&&img src=&/c0d7c65b2d4b_b.jpg& data-rawwidth=&574& data-rawheight=&557& class=&origin_image zh-lightbox-thumb& width=&574& data-original=&/c0d7c65b2d4b_r.jpg&&&br&做上角的的多级列表是可以点击的,选择一级编号,然后在”将级别链接到样式“下拉框中选择”标题一“,如下图所示。&br&&img src=&/3d77a1a3e0c0a7eca8dee_b.jpg& data-rawwidth=&574& data-rawheight=&557& class=&origin_image zh-lightbox-thumb& width=&574& data-original=&/3d77a1a3e0c0a7eca8dee_r.jpg&&&br&二级标题、三级标题如法炮制,如下图所示。&br&&img src=&/f6e6c11d13e77eed7f65_b.jpg& data-rawwidth=&574& data-rawheight=&557& class=&origin_image zh-lightbox-thumb& width=&574& data-original=&/f6e6c11d13e77eed7f65_r.jpg&&&br&至此,标题的编号已经设置完毕,你要是想用 5 级标题,也可以定义到
5 级标题。&br&&br&使用方面,直接点击标题样式,然后输入标题的内容就行了,编号都为你自动设置妥当。&br&&img src=&/3ed955a25a50c4c3c4100_b.jpg& data-rawwidth=&789& data-rawheight=&530& class=&origin_image zh-lightbox-thumb& width=&789& data-original=&/3ed955a25a50c4c3c4100_r.jpg&&不论论文如何修改,你都不用为编号操心,而且编号也不会乱。&br&&br&&b&&u&4. 插入公式&/u&&/b&&br&介绍一个小插件,可能有很多人都开始用了,就是 &a href=&///?target=http%3A//elevatorlady.ca/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Aurora&i class=&icon-external&&&/i&&/a&。先来说说为什么不用其他的公式编辑器。&br&&br&Word 自带了公式编辑器,其实 Word 自带的公式编辑器不用鼠标点来点去的选择各种符号,可以&a href=&/question//answer/& class=&internal&&通过快捷键来输入各种符号&/a&,也可以&a href=&/question//answer/& class=&internal&&利用题注给 Word 中的公式添加自动编号以及交叉引用&/a&。但是有点麻烦,这是我不推荐 Word 自带公式编辑器其中的一个原因。&br&&br&MathType 用的人非常多,MathType &a href=&/question//answer/& class=&internal&&支持 LaTeX 的输入方式&/a&,自动编号以及交叉引用都比较方便。因为不能定义常用的宏,还不够方便。&br&&br&其实我不用 Word 自带的公式编辑器或者是 MathType 的最主要的原因就是,这两个产生的公式太丑了。美丑这个东西仁者见仁,我的审美也不是最优秀的,我贴几张对比图,如果感觉 Aurora 产生的公式最漂亮,可以继续往下看,如果感觉差不多,可以跳过这一章。&br&&br&下图是二次方程求根公式的三种公式编辑器的对比图,好像都还好。&br&&img src=&/b6cecad492e399cd82ae7a63_b.jpg& data-rawwidth=&539& data-rawheight=&446& class=&origin_image zh-lightbox-thumb& width=&539& data-original=&/b6cecad492e399cd82ae7a63_r.jpg&&&br&下图是分段函数的三种公式编辑器的对比图,抱歉我不知道前两个怎么左对齐,MathType 的括号看起来发虚。&br&&img src=&/c1cbbe2deb13f31e658c0ab4_b.jpg& data-rawwidth=&613& data-rawheight=&570& class=&origin_image zh-lightbox-thumb& width=&613& data-original=&/c1cbbe2deb13f31e658c0ab4_r.jpg&&&br&下图是求和公式的三种公式编辑器的对比图,第一个 Sigma 什么鬼,而且前两个 Sigma 两边的间距太宽了。&br&&img src=&/1c35fda34ebc2c153d566d_b.jpg& data-rawwidth=&544& data-rawheight=&405& class=&origin_image zh-lightbox-thumb& width=&544& data-original=&/1c35fda34ebc2c153d566d_r.jpg&&&br&下图是矩阵的三种公式编辑器的对比图,第一个皱巴巴的感觉,第二个括号和点都有点虚。&br&&img src=&/bd1f1efc923_b.jpg& data-rawwidth=&612& data-rawheight=&670& class=&origin_image zh-lightbox-thumb& width=&612& data-original=&/bd1f1efc923_r.jpg&&&br&Aurora 插入公式也是非常的便捷,整个输入过程都不需要鼠标的参与,省去了右手在鼠标和键盘之间来回奔波。如果你的论文中有大量的重复公式,可以向 Aurora 中添加宏命令来实现快速输入。比如论文中经常出现:&img src=&///equation?tex=x_1%2Cx_2%2C%5Ccdots%2Cx_n& alt=&x_1,x_2,\cdots,x_n& eeimg=&1&&,你可以在 Aurora 的 Package 选项中添加以下宏定义:&br&&div class=&highlight&&&pre&&code class=&language-tex&&&span class=&k&&\newcommand&/span&&span class=&nb&&{&/span&&span class=&k&&\xs&/span&&span class=&nb&&}{&/span&x&span class=&nb&&_&/span&1,x&span class=&nb&&_&/span&2,&span class=&k&&\cdots&/span&,x&span class=&nb&&_&/span&n&span class=&nb&&}&/span&
&/code&&/pre&&/div&&img src=&/faec1bfd1a3e12c812ba0c3_b.jpg& data-rawwidth=&537& data-rawheight=&589& class=&origin_image zh-lightbox-thumb& width=&537& data-original=&/faec1bfd1a3e12c812ba0c3_r.jpg&&&br&以后就可以利用 \xs 快速输入 &img src=&///equation?tex=x_1%2Cx_2%2C%5Ccdots%2Cx_n& alt=&x_1,x_2,\cdots,x_n& eeimg=&1&& 了。如果你还想输入 &img src=&///equation?tex=y_1%2Cy_2%2C%5Ccdots%2Cy_n& alt=&y_1,y_2,\cdots,y_n& eeimg=&1&& 和 &img src=&///equation?tex=z_1%2Cz_2%2C%5Ccdots%2Cz_n& alt=&z_1,z_2,\cdots,z_n& eeimg=&1&& 的话,可以定义一个带参数的宏命令。&br&&div class=&highlight&&&pre&&code class=&language-text&&\newcommand{\qiqi}[1]{#1_1,#1_2,\cdots,#1_n}
&/code&&/pre&&/div&你就可以通过输入 \qiqi{y} 和 \qiqi{z} 来快速输入 &img src=&///equation?tex=y_1%2Cy_2%2C%5Ccdots%2Cy_n& alt=&y_1,y_2,\cdots,y_n& eeimg=&1&& 和 &img src=&///equation?tex=z_1%2Cz_2%2C%5Ccdots%2Cz_n& alt=&z_1,z_2,\cdots,z_n& eeimg=&1&& 了。如果你有时候还想改变上线值 &img src=&///equation?tex=n& alt=&n& eeimg=&1&& 的话,可以定义一个带两个参数的宏定义。&br&&div class=&highlight&&&pre&&code class=&language-tex&&&span class=&k&&\newcommand&/span&&span class=&nb&&{&/span&&span class=&k&&\qiqi&/span&&span class=&nb&&}&/span&[2]&span class=&nb&&{&/span&#1&span class=&nb&&_&/span&1,#1&span class=&nb&&_&/span&2,&span class=&k&&\cdots&/span&,#1&span class=&nb&&_{&/span&#2&span class=&nb&&}}&/span&
&/code&&/pre&&/div&然后你就可以通过输入 \qiqi{a}{100} 来快速输入 &img src=&///equation?tex=a_1%2Ca_2%2C%5Ccdots%2Ca_%7B100%7D& alt=&a_1,a_2,\cdots,a_{100}& eeimg=&1&& 了。&br&&br&定义宏命令还有一种用途,我在写上一篇文章的时候,有个变量 R,不知道用什么样式。是 &img src=&///equation?tex=R& alt=&R& eeimg=&1&&?是 &img src=&///equation?tex=r& alt=&r& eeimg=&1&&?还是 &img src=&///equation?tex=%5Cit+Risk& alt=&\it Risk& eeimg=&1&&?其实不用纠结这个,定义一个命令代替这个 R 就好了。&br&&div class=&highlight&&&pre&&code class=&language-tex&&&span class=&k&&\newcommand&/span&&span class=&nb&&{&/span&&span class=&k&&\risk&/span&&span class=&nb&&}{&/span&&span class=&k&&\mathscr&/span&&span class=&nb&&{&/span&R&span class=&nb&&}}&/span&
&/code&&/pre&&/div&以后如果需要改的话改一下宏命令,全文的 R 都变了,省去了一个一个改的繁琐。普通文本可以以实现类似的功能,详见 &b&&u&9. 符号替换&/u&&/b&。&br&&br&Aurora 自带个微型的 TeX 系统,原理就是将你输入的公式利用 TeX 进行编译,然后将产生的结果插入到 Word 中。所以你要用 Aurora 输入公式,需要先了解一下 LaTeX 的公式输入。关于这方面的内容可以参见《一份不太简短的 LaTeX 2ε 介绍》中的第三章。&br&&br&最后说一点,利用 Aurora 编辑的公式,在没装 Aurora 的电脑上是无法编辑的,MathType 也这样。Aurora 产生的公式可以位图,也可以是矢量图。位图的优点就是到哪里看起来都一样,矢量图的优点就是可以无限放大。如果你只在你本机上编辑打印的话,推荐使用矢量图。如果你要发给别人看的话,还是保存成位图比较好,矢量图在没装 Aurora 的电脑上显示不正常。如何修改请看下图:&br&&img src=&/88e4d516c72d6c26026c7fafaaf7ee7b_b.jpg& data-rawwidth=&366& data-rawheight=&435& class=&content_image& width=&366&&&br&&b&&u&5. 插入图表&/u&&/b&&br&如果你需要在文章中插入图表,你至少需要以下 4 中样式:&br&&ul&&li&图&/li&&li&图标题&/li&&li&表&/li&&li&表标题&/li&&/ul&&br&插图的过程就是插入一张图片,然后点击“引用”--“插入题注”。&br&&img src=&/29f078a6cbdd0a42ea7c09e433d4f413_b.jpg& data-rawwidth=&632& data-rawheight=&198& class=&origin_image zh-lightbox-thumb& width=&632& data-original=&/29f078a6cbdd0a42ea7c09e433d4f413_r.jpg&&&br&在弹出的对话框中选择你想要的标签,如果没有你想要的,你可以点击“新建标签”,自己添加一个标签。&br&&img src=&/a65b5067fbd5f8e24ef6fce32ef3439d_b.jpg& data-rawwidth=&387& data-rawheight=&277& class=&content_image& width=&387&&&br&然后设置编号的样式,我这里用的是 1.1 这种格式,前面的 1 是章节编号,后面的 1 是图编号。如果你不想要章节编号,就把“包含章节编号”的复选框去掉。最后在设置一下两个数字之间的符合,我用的是句点。&br&&img src=&/a17c24f4608ffdde5a42abd_b.jpg& data-rawwidth=&597& data-rawheight=&277& class=&origin_image zh-lightbox-thumb& width=&597& data-original=&/a17c24f4608ffdde5a42abd_r.jpg&&&br&最后点击确定,一个题主就插好了。然后补充这个图的标题,设置好图和图标题的样式,一个图就大功告成了一半了。&br&&img src=&/0e180a9eebcaab30e697be03_b.jpg& data-rawwidth=&565& data-rawheight=&386& class=&origin_image zh-lightbox-thumb& width=&565& data-original=&/0e180a9eebcaab30e697be03_r.jpg&&但是,这样插图有个问题:前文有可能还要插入别的内容,很可能把这个图挤到页面下方,导致图和图标题分在了两页,就像这样:&br&&img src=&/093aab35ced291f6191b_b.jpg& data-rawwidth=&357& data-rawheight=&580& class=&content_image& width=&357&&&br&&div class=&highlight&&&pre&&code class=&language-tex&&&span class=&k&&\iffalse&/span& 这段去掉,方法不正确,而且太蠢了。
&/code&&/pre&&/div&为了避免这个问题,我们在正文要插入图片的位置上添加一个 &img src=&///equation?tex=1%5Ctimes1& alt=&1\times1& eeimg=&1&& 的表格。然后去掉表格的边框:&br&&img src=&/63ee6839badbac2be7b051c_b.jpg& data-rawwidth=&804& data-rawheight=&256& class=&origin_image zh-lightbox-thumb& width=&804& data-original=&/63ee6839badbac2be7b051c_r.jpg&&&br&然后设置表格属性,去掉“允许跨页断行”复选框。&br&&img src=&/d41cd5dbcba_b.jpg& data-rawwidth=&437& data-rawheight=&514& class=&origin_image zh-lightbox-thumb& width=&437& data-original=&/d41cd5dbcba_r.jpg&&&br&最后将图和图标题剪切到表格中即可。&br&&img src=&/dee352f0d39de95a415cd_b.jpg& data-rawwidth=&758& data-rawheight=&376& class=&origin_image zh-lightbox-thumb& width=&758& data-original=&/dee352f0d39de95a415cd_r.jpg&&这样,图和图标题就是不可分割的一部分了。&br&&br&表格的插入与图片类似,短表格不建议分页,最好和图片一样,与表标题一起放在一个 &img src=&///equation?tex=1%5Ctimes1& alt=&1\times1& eeimg=&1&& 的表格中。长表格就不能用这个方法了,因为很有可能出现页面底端由于放不下表格而大面积留白的情况。与图片类似,有可能出现这种情况:&br&&img src=&/b02f285bcbe_b.jpg& data-rawwidth=&765& data-rawheight=&413& class=&origin_image zh-lightbox-thumb& width=&765& data-original=&/b02f285bcbe_r.jpg&&&br&对于这种情况我还没有特别好的解决办法。&br&&br&最后发发牢骚,Word 一直不支持 LaTeX 中的浮动环境这个功能,也是比较遗憾的,希望以后的版本会支持这个功能。&br&&br&&div class=&highlight&&&pre&&code class=&language-tex&&&span class=&k&&\fi&/span&
&span class=&c&&% 以下是正确方法。&/span&
&/code&&/pre&&/div&因为图在图表题上面,所以我们右键点击“图”样式,选择修改。&br&&img src=&/2ff5e57f03efebe575c69aae_b.png& data-rawwidth=&382& data-rawheight=&270& class=&content_image& width=&382&&&br&&br&在弹出的对话框中选择“段落”。&br&&img src=&/aedd848b5fc53f_b.png& data-rawwidth=&566& data-rawheight=&695& class=&origin_image zh-lightbox-thumb& width=&566& data-original=&/aedd848b5fc53f_r.png&&&br&点击第二个标签页,将“与下段同页”勾选。然后点击确定即可。&br&&img src=&/059cbef2aba28cc_b.png& data-rawwidth=&427& data-rawheight=&762& class=&origin_image zh-lightbox-thumb& width=&427& data-original=&/059cbef2aba28cc_r.png&&&br&这样图就不会跟图标题分家了。因为表标题在表格上面,我们如法炮制,把“表标题”设置成”与下段同页“即可。&br&&br&&b&&u&6. 交叉引用&/u&&/b&&br&交叉引用对应 LaTeX 的两个命令,一个是 \label{} 一个是 \ref{}。&br&&br&论文中不会出现“如下图”、“如下表”等描述,因为有时候为了版面匀称,图、表和引用的地方相距甚远,“如下图”、“如下表”只会让人摸不着头脑。所以论文中都是“如图1.1”,“如表3.2”之类的。图表的编号在 &u&5. 插入图表&/u& 中介绍过了,这里介绍如何引用这些数字。&br&&img src=&/76ffba163c04ea3d696b5fec782cbff5_b.jpg& data-rawwidth=&825& data-rawheight=&309& class=&origin_image zh-lightbox-thumb& width=&825& data-original=&/76ffba163c04ea3d696b5fec782cbff5_r.jpg&&&br&已经有了一幅图了,现在要做的就是在光标的地方插入“图1.1”。点击“引用”--“交叉引用”。&br&&img src=&/eb16f48d3d8a9923dba870_b.jpg& data-rawwidth=&553& data-rawheight=&180& class=&origin_image zh-lightbox-thumb& width=&553& data-original=&/eb16f48d3d8a9923dba870_r.jpg&&&br&在弹出的对话框中选择引用类型,找到我们在上一章中添加的自定义标签“图”。&br&&img src=&/fab448dfc4fbcb2e9311395ceb4b263e_b.jpg& data-rawwidth=&408& data-rawheight=&394& class=&content_image& width=&408&&&br&下方的列表中就出现了刚刚我们插入的那幅图。引用的内容有很多种,这里我们只需要“图1.1”,也就是标签和编号。&br&&img src=&/e6eb7d0684bae1e6cfa0ec_b.jpg& data-rawwidth=&408& data-rawheight=&394& class=&content_image& width=&408&&&br&点击插入按钮,便在当前光标位置插入了“图1.1”。&br&&img src=&/648f070b036ff45aa7ae74a49c0d70a6_b.jpg& data-rawwidth=&820& data-rawheight=&308& class=&origin_image zh-lightbox-thumb& width=&820& data-original=&/648f070b036ff45aa7ae74a49c0d70a6_r.jpg&&&br&这样做的好处是,当图片的序号发生改变的时候,交叉引用的编号也会跟着改变。比如我们在这幅图前面再插入一幅图,那么这幅图的编号就自动的变成 1.2 了。&br&&img src=&/e4e4fd9e01dfc0c9cdb86df_b.jpg& data-rawwidth=&802& data-rawheight=&514& class=&origin_image zh-lightbox-thumb& width=&802& data-original=&/e4e4fd9e01dfc0c9cdb86df_r.jpg&&&br&但是刚刚的引用并没有变化,还是 1.1。这是在该域,即“图1.1”上点击右键,在右键菜单中选择“更新域”。&br&&img src=&/5d3bd95b4c6cc6beef64481_b.jpg& data-rawwidth=&251& data-rawheight=&294& class=&content_image& width=&251&&“图1.1”就变成“图1.2”了。&br&&img src=&/c12ffe0f3f9a3ff0519b3_b.jpg& data-rawwidth=&819& data-rawheight=&506& class=&origin_image zh-lightbox-thumb& width=&819& data-original=&/c12ffe0f3f9a3ff0519b3_r.jpg&&但是还是有点略麻烦啊,有更简单的办法,按下 Ctrl + A,全选,然后按 F9,更新整个文档的所有的“域”,然后所有的交叉引用就都正常了。&br&&br&表的引用和图类似,这里不表。说一下公式的引用。这里用 Aurora 进行说明,MathType 操作一样。&br&&br&公式大体上分为三种,行内公式,行间公式和带编号的行间公式。&br&&img src=&/ce0d630a09_b.jpg& data-rawwidth=&188& data-rawheight=&157& class=&content_image& width=&188&&在你输入公式前就要决定这个公式的显示方式,如果你打算引用这个公式,就需要使用带编号的行间公式,另外两种公式无法引用。&br&&br&现在我们有了两个公式,现在需要在箭头处分别插入 (1) 和 (2)。&br&&img src=&/cb3abc012a5bdca438aa_b.jpg& data-rawwidth=&805& data-rawheight=&273& class=&origin_image zh-lightbox-thumb& width=&805& data-original=&/cb3abc012a5bdca438aa_r.jpg&&首先将光标放在要插入编号的位置,然后点击 Aurora 菜单下的 “Insert Reference” 按钮。&br&&img src=&/ccb67d895ab9e2a0f5a7b_b.jpg& data-rawwidth=&432& data-rawheight=&164& class=&origin_image zh-lightbox-thumb& width=&432& data-original=&/ccb67d895ab9e2a0f5a7b_r.jpg&&&br&光标的位置出现 (*),因为程序还不知道你要引用哪个公式。&br&&img src=&/9a61b7b8ee7eecaa1c20_b.jpg& data-rawwidth=&811& data-rawheight=&299& class=&origin_image zh-lightbox-thumb& width=&811& data-original=&/9a61b7b8ee7eecaa1c20_r.jpg&&&br&双击你要引用的公式的编号,(*) 就变成 (1) 了。&br&&img src=&/bf3cdf8cd37cb6f8bad267d0_b.jpg& data-rawwidth=&807& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&807& data-original=&/bf3cdf8cd37cb6f8bad267d0_r.jpg&&&br&如法炮制另一个。&br&&img src=&/83e9bab3ba869f014b0c6a3b_b.jpg& data-rawwidth=&810& data-rawheight=&290& class=&origin_image zh-lightbox-thumb& width=&810& data-original=&/83e9bab3ba869f014b0c6a3b_r.jpg&&&br&这时我们删除第一个公式。&br&&img src=&/900c2a90c5fced662294_b.jpg& data-rawwidth=&812& data-rawheight=&181& class=&origin_image zh-lightbox-thumb& width=&812& data-original=&/900c2a90c5fced662294_r.jpg&&&br&公式 (2) 的编号没变,这时候有两种办法,一种是前文介绍的 Ctrl + A 然后按 F9。另一种就是双击任意公式的编号,如上图中红色箭头指的编号。此时 Aurora 会弹出对话框,点击 OK,编号就正常了。&br&&img src=&/374f579b588f406babd84_b.jpg& data-rawwidth=&385& data-rawheight=&474& class=&content_image& width=&385&&&img src=&/f1ddad7bb9ab25d93611c32_b.jpg& data-rawwidth=&808& data-rawheight=&190& class=&origin_image zh-lightbox-thumb& width=&808& data-original=&/f1ddad7bb9ab25d93611c32_r.jpg&&引用的地方全角字符和半角字符之间的空隙太小了,看的极不自然,在 (1) 的两边各添加一个不间断空格(Ctrl + Shift + 空格)就好了。&br&&img src=&/9ebbee4614cdc299123e_b.jpg& data-rawwidth=&804& data-rawheight=&172& class=&origin_image zh-lightbox-thumb& width=&804& data-original=&/9ebbee4614cdc299123e_r.jpg&&&br&&b&&u&7. 图表目录&/u&&/b&&br&有时需要添加图目录或者表目录,这个和普通的目录插入方法类似,这里简单说一下方法。&br&&br&把光标放在要插如图目录的地方,然后点击“引用”菜单栏中的目录按钮。&br&&img src=&/3769dbbcfd2b2f2ccf80f815edf812ae_b.jpg& data-rawwidth=&705& data-rawheight=&457& class=&origin_image zh-lightbox-thumb& width=&705& data-original=&/3769dbbcfd2b2f2ccf80f815edf812ae_r.jpg&&&br&在下拉菜单中选择“自定义目录”。&br&&img src=&/08fb3ae139e13c47ecfb45_b.jpg& data-rawwidth=&399& data-rawheight=&589& class=&content_image& width=&399&&&br&&br&在弹出的对话框中点击“选项”。&br&&img src=&/285cfa6484b_b.jpg& data-rawwidth=&570& data-rawheight=&537& class=&origin_image zh-lightbox-thumb& width=&570& data-original=&/285cfa6484b_r.jpg&&&br&在弹出的对话框中去掉标题对应的数字,因为图目录只有图,其他的都不显示。&br&&img src=&/47a076d0df8b6a541efd3dc8ebb75033_b.jpg& data-rawwidth=&389& data-rawheight=&375& class=&content_image& width=&389&&&br&往下翻翻,找到图标题,然后设置目录级别为 1。&br&&img src=&/b692d02c9add5cf87610_b.jpg& data-rawwidth=&389& data-rawheight=&375& class=&content_image& width=&389&&&br&点击确定,关闭对话框。发现打印预览发生了变化,是我们预期的样子。&br&&img src=&/f62ab4a3c448_b.jpg& data-rawwidth=&570& data-rawheight=&537& class=&origin_image zh-lightbox-thumb& width=&570& data-original=&/f62ab4a3c448_r.jpg&&&br&点击确定,插入图目录。&br&&img src=&/41b94c93c967a0f4cdfba6c_b.jpg& data-rawwidth=&814& data-rawheight=&100& class=&origin_image zh-lightbox-thumb& width=&814& data-original=&/41b94c93c967a0f4cdfba6c_r.jpg&&&br&表目录和图目录一样。&br&&br&&b&&u&8. 参考文献&/u&&/b&&br&我见过人肉排参考文献的人,极其不推荐,增删文献都会对编号造成影响,而且文献的格式也是非常复杂的,人工排参考文献是极其愚蠢的。&br&&br&Word 本身是可以插入参考文献的,但是功能太弱了,不推荐使用。&br&&br&插入参考文献前,你首先需要一个个人文献的数据库。如果你还没开始用参考文献管理软件的话,这一章就不用看了。先看看这个吧:&a href=&/question/& class=&internal&&诸多文献管理软件的优劣比较如何?你有哪些使用心得?&/a&&br&&br&你用哪种管理软件都无所谓,基本都会提供 Word 插件,以便向 Word 中插入数据库中的文献。我用的是 &a href=&///?target=http%3A//jabref.sourceforge.net/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&JabRef&i class=&icon-external&&&/i&&/a&。这个管理软件跨平台,支持的数据库的格式为 BibTeX。主流的数据库都支持 BibTeX 文献的导出,方便导入到 JabRef 中。JabRef 还支持文献的批量下载。但是也有很多问题,所以我正在用业余时间开发一个文献管理软件,现在还只是半成品。扯远了……&br&&img src=&/23ccef8e877da0ac0c22c7d16daf4b36_b.jpg& data-rawwidth=&1435& data-rawheight=&524& class=&origin_image zh-lightbox-thumb& width=&1435& data-original=&/23ccef8e877da0ac0c22c7d16daf4b36_r.jpg&&&br&&br&这里以 JabRef 为例,说明如何向 Word 中插入参考文献。插件使用的是 &a href=&///?target=http%3A//www.ee.ic.ac.uk/hp/staff/dmb/perl/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&BibTeX4Word&i class=&icon-external&&&/i&&/a&。安装后,Word 的加载项中会多出一些按钮。&br&&img src=&/2cc600afe_b.jpg& data-rawwidth=&533& data-rawheight=&145& class=&origin_image zh-lightbox-thumb& width=&533& data-original=&/2cc600afe_r.jpg&&&br&&br&第一次使用的时候插件会询问你数据库的路径。&br&&img src=&/2d8bbbaafdda_b.jpg& data-rawwidth=&815& data-rawheight=&557& class=&origin_image zh-lightbox-thumb& width=&815& data-original=&/2d8bbbaafdda_r.jpg&&&br&选中你平时维护的数据库即可。&br&&br&当你想在某处插入参考文献的时候,把光标放在要插入参考文献的地方,然后点击红色的加号。&br&&img src=&/3f9b162bdd7_b.jpg& data-rawwidth=&1238& data-rawheight=&489& class=&origin_image zh-lightbox-thumb& width=&1238& data-original=&/3f9b162bdd7_r.jpg&&&br&插件会弹出一个输入框,这里输入的是 BibTeX Key。用 JabRef 的都知道这个东西,如果用其他软件也不要紧,这一步骤是你告诉插件到底要引用数据库中}

我要回帖

更多关于 代表值和合格值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信