Latex(2):LaTex图片、公式、数学符号、伪代码、参考文献引用学习记录

需要注意的是,使用这个选项时,可能会导致页面排版不够美观,因此建议仔细考虑是否真正需要固定位置。

\usepackage{float}
\begin{figure}[H]
  \centering
  \includegraphics{example.png}
  \caption{示例图片}
  \label{fig:example}
\end{figure}

这些选项可以帮助你更好地控制图片在 LaTeX 文档中的位置。

(3)[h]和[H]在 LaTeX 中具有不同的含义和作用:

1. `[h]`:这个选项是 LaTeX 默认的图片位置控制选项之一,表示希望将图片放置在当前位置(here)。但是,如果当前位置空间不够,LaTeX 可能会将图片放置在页面的顶部或底部。

2. `[H]`:这个选项来自于 `float` 宏包,它与默认的浮动机制不同,会将图片固定在当前位置(Here),而不会考虑页面的其他排版因素。使用 `[H]` 可以将图片直接放置在代码所在的位置,而不会进行浮动处理。

总的来说,`[h]` 是 LaTeX 默认的图片位置选项,会尽量将图片放置在当前位置,但仍允许图片浮动到页面的顶部或底部;而 `[H]` 是 `float` 宏包提供的选项,会直接将图片固定在当前位置,不进行浮动处理。

2 公式符号 2.0 正体与斜体

latex公式默认为斜体,取消斜体用rm

示例,表示单位m,单位需要用正体,不能使斜体

$\rm m$

此外:

2.1 简单公式 (1)单个数学字母:

    \( L \)  

L是对应数学字母

(2)下标

$d_{1}$ 这里要表示的是

(3)上标再下标

$2^{n_1}$

(4)分数

$\frac{l}{N_l}$

(5)根号

$\sqrt[2]{d_{1}}$

参考:

(6)百分号

$\%$ 加一个转义

(7)乘号

\times

使用时注意和前后字符拉开距离

(8)加号减号等于号

2.2 数学符号 (1)不等于符号

参考:

(2)并集交集除号

参考:

(3)大于等于号,小于等于号,大于号,小于号

大于等于:\geq

小于等于:\leq

参考:

2.3 特殊符号 (1)双引号

``reference 1''
# 右边使用两个单引号
或
``reference 1"
# 右边使用一个双引号

左边两个反单引号,右边两个单引号或一个双引号

参考:

2.4 latex符号大全

一个很不错的总结:

2.5 标点符号前后空格说明

参考:英文标点符号后面要空格吗?_百度知道

2.6 数字环境中空格大小

两个字符(示例为a和b)之间使用以下符号表示不同的空格大小:

a\qquad b 两个m的宽度

a\quadb一个m的宽度

大空格 a\b 1/3m宽度

中等空格 a\;b 2/7m宽度

小空格 a\,b 1/6m宽度

没有空格 ab …

紧贴a\!b缩进1/6m宽度

参考:LaTex中输入空格以及换行 - 全栈程序员必看

2.7 引号与标点符号的关系

参考:美式英语和英式英语的标点符号使用方法 - 百度文库

2.8 数学公式中将几个小项用“且”或“或”的意思连接起来

在数学中,如果您要将几个小项用“且”的意思连接起来,通常使用符号“∧”,这个符号表示“逻辑与”(logical and)。您可以在公式中使用它,例如:

A ∧ B ∧ C

其中,A、B、C是您想要连接的小项。如果您使用LaTeX排版数学公式,可以输入“\land”来表示逻辑与符号。

另外,如果您要将几个小项用“或”的意思连接起来,通常使用符号“∨”,这个符号表示“逻辑或”(logical or)。例如:

A ∨ B ∨ C

其中,A、B、C是您想要连接的小项。如果您使用LaTeX排版数学公式,可以输入“\lor”来表示逻辑或符号。

2.9 超级好用的在线公式编辑网页--推荐

github:GitHub - QianJianTech/LaTeXLive: LateX公式编辑器-妈叔出品

3 参考文献

引用参考文献:

在正文中:\cite{reference}

(1)插入参考文献参考:

(2)建立参考文献与正文的索引、建立:

4 伪代码 4.1 从某一行开始显示行号

不显示行号的代码:

\begin{algorithm}[H]
	\caption{Weighted Tanimoto ELM.}\label{alg:alg1}
	\begin{algorithmic}
		\STATE 
		\STATE {\textsc{TRAIN}}$(\mathbf{X} \mathbf{T})$
		\STATE \hspace{0.5cm}$ \textbf{select randomly } W \subset \mathbf{X}  $
		\STATE \hspace{0.5cm}$ N_\mathbf{t} \gets | \{ i : \mathbf{t}_i = \mathbf{t} \} | $ \textbf{ for } $ \mathbf{t}= -1,+1 $
		\STATE \hspace{0.5cm}$ B_i \gets \sqrt{ \textsc{max}(N_{-1},N_{+1}) / N_{\mathbf{t}_i} } $ \textbf{ for } $ i = 1,...,N $
		\STATE \hspace{0.5cm}$ \hat{\mathbf{H}} \gets  B \cdot (\mathbf{X}^T\textbf{W})/( \mathbb{1}\mathbf{X} + \mathbb{1}\textbf{W} - \mathbf{X}^T\textbf{W} ) $
		\STATE \hspace{0.5cm}$ \beta \gets \left ( I/C + \hat{\mathbf{H}}^T\hat{\mathbf{H}} \right )^{-1}(\hat{\mathbf{H}}^T B\cdot \mathbf{T})  $
		\STATE \hspace{0.5cm}\textbf{return}  $\textbf{W},  \beta $
		\STATE 
		\STATE {\textsc{PREDICT}}$(\mathbf{X} )$
		\STATE \hspace{0.5cm}$ \mathbf{H} \gets  (\mathbf{X}^T\textbf{W} )/( \mathbb{1}\mathbf{X}  + \mathbb{1}\textbf{W}- \mathbf{X}^T\textbf{W}  ) $
		\STATE \hspace{0.5cm}\textbf{return}  $\textsc{sign}( \mathbf{H} \beta )$
	\end{algorithmic}
	\label{alg1}
\end{algorithm}

效果:

显示行号时:

#仅显示修改部分	
    \begin{algorithmic}[1]

4.2 控制缩进与换行 (1)控制缩进:

\hspace{0.5cm}

(2)换行:

之间使用STATE换行

	\begin{algorithmic}
	\end{algorithmic}

外的每一行行尾使用“\\”进行换行,如下在\caption和\begin{algorithmic} 之间的内容

\begin{algorithm}[H]
	\caption{Weighted Tanimoto ELM.}\label{alg:alg1}
	\hspace*{0.5cm}{\bf Input:} \\%算法的输入, \hspace*{0.02in}用来控制位置,同时利用 \\ 进行换行
	\hspace*{0.5cm}{\bf Output:} \\	
	\begin{algorithmic}[1]
		\STATE 
		\STATE {\textsc{TRAIN}}$(\mathbf{X} \mathbf{T})$
		\STATE \hspace{0.5cm}$ \textbf{select randomly } W \subset \mathbf{X}  $
	\end{algorithmic}
	\label{alg1}
\end{algorithm}

5 文章排版 5.1 单栏与双栏显示

双栏:\documentclass[journal,11pt,draftclsnofoot,onecolumn]{IEEEtran}
单栏:\documentclass[journal,11pt,draftclsnofoot,twocolumn]{IEEEtran}

参考:

此外,在\documentclass的[]里面输入“,”后会提示一些文档选项,也可以选择

5.2 图片、伪代码、表格整体排版

IEEE默认选项中图片默认在每一页的顶端,有些难受,伪代码,表格等也有差不多。下面以图片为例进行原因分析即改变如下:

当使图片在页面顶端时,选项为[!t]

\begin{figure}[!t]
    \centering
    \includegraphics[width=2.5in]{fig1}
    \caption{Simulation results for the network.}
    \label{fig_1}
\end{figure}

当使图片在在插入文字后面时,选项为[H]

\begin{figure}[H]
	\centering
	\includegraphics[width=2.5in]{fig1}
	\caption{Simulation results for the network.}
	\label{fig_1}
\end{figure}

效果对比:

latex代码:

\subsection{Figures}
Fig. 1 is an example of a floating figure using the graphicx package.
 Note that $\backslash${\tt{label}} must occur AFTER (or within) $\backslash${\tt{caption}}.
 For figures, $\backslash${\tt{caption}} should occur after the $\backslash${\tt{includegraphics}}.
\begin{figure}[!t]
\centering
\includegraphics[width=2.5in]{fig1}
\caption{Simulation results for the network.}
\label{fig_1}
\end{figure}
\begin{figure}[H]
	\centering
	\includegraphics[width=2.5in]{fig1}
	\caption{Simulation results for the network.}
	\label{fig_1}
\end{figure}

pdf预览,一页在页面顶端,一个跟随在文字后面

5.3 在当前页末尾添加空行

下面是添加4个空行

%\newlength{\mylen}
%\setlength{\mylen}{\baselineskip} % 保存当前的\baselineskip到一个新的长度
\vspace*{\dimexpr4\mylen\relax}
% 接下来的文本将从新的一页开始
\newpage

React Native使用百度Echarts显示图表

Echarts是百度推出的免费开源的图表组件,功能丰富,涵盖各行业图表。相信很多同学在网页端都使用过。今天我就来介绍下在React Native中如何使用Echarts来显示各种图表。

首先需要在我们的React Native项目中安装native-echarts组件,该组件是兼容IOS和安卓双平台的。

安装

npm installnative-echarts--save

安装完成后在node_modules文件夹下会多出一个文件夹叫native-echarts。目录结构如下图所示:

基础使用

native-echarts的使用方法基本和网页端的Echarts使用方法一致。组件主要有三个属性:

option (object):图表的相关配置和数据。详见文档:ECharts Documentation

width (number):图表的宽度,默认值是外部容器的宽度。

height (number) :图表的高度,默认值是400。

4.

示例代码:

  1. import React, { Component } from 'react';

  2. import {

  3.  AppRegistry,

  4.  StyleSheet,

  5.  Text,

  6.  View

  7. } from 'react-native';

  8. import Echarts from 'native-echarts';

  9. export default class app extends Component {

  10.  render() {

  11.    const option = {

  12.      title: {

  13.          text: 'ECharts demo'

  14.      },

  15.      tooltip: {},

  16.      legend: {

  17.          data:['销量']

  18.      },

  19.      xAxis: {

  20.          data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]

  21.      },

  22.      yAxis: {},

  23.      series: [{

  24.          name: '销量',

  25.          type: 'bar',

  26.          data: [5, 20, 36, 10, 10, 20]

  27.      }]

  28.    };

  29.    return (

  30.      <Echarts option={option} height={300} />

  31.    );

  32.  }

  33. }

  34. AppRegistry.registerComponent('app', () => app);

通过上面的代码我们就可以在React Native里面显示一个图表了。但是我们会发现显示的字体会偏小。我们需要适配下移动端的字体,我们需要在native-echarts文件下找到tpl.html文件,在head里面增加下面一句代码: name="viewport"content="width=device-width, initial-scale=1">这样字体大小就显示正常了。

进阶使用:

在使用图表时,如果我们需要使用图表的点击事件,比如点击柱状图的某个柱子,获取到该柱子的信息,再跳转到详情页面,这该怎么做呢?组件本身是没有这个属性的,需要我们自己修改下代码,传递下消息。具体代码如下:

首先我们需要在renderChart.js文件中把需要的数据注入并传递出来(window.postMessage):

  1. import echarts from './echarts.min';

  2. import toString from '../../util/toString';

  3. export default function renderChart(props) {

  4.  const height = props.height || 400;

  5.  const width = props.width || 568;

  6.  return `

  7.    document.getElementById('main').style.height = "${height}px";

  8.    document.getElementById('main').style.width = "${width}px";

  9.    var myChart = echarts.init(document.getElementById('main'));

  10.    myChart.setOption(${toString(props.option)});

  11.    myChart.on('click', function (params) {

  12.      var  message = {};

  13.      message.event='click';

  14.      message.seriesName = params.seriesName;

  15.      message.name = params.name;

  16.      window.postMessage(JSON.stringify(message));

  17. });

  18.  `

  19. }

然后在index.js中做处理(handleMessage):

  1. import React, { Component } from 'react';

  2. import { WebView, View, StyleSheet, Platform } from 'react-native';

  3. import renderChart from './renderChart';

  4. import echarts from './echarts.min';

  5. export default class App extends Component {

  6.  componentWillReceiveProps(nextProps) {

  7.    if(JSON.stringify(nextProps.option) !== JSON.stringify(this.props.option)) {

  8.      this.refs.chart.reload();

  9.    }

  10.  }

  11.  handleMessage = (evt) => {

  12.    const message = JSON.parse(evt.nativeEvent.data)

  13.     this.props.handleMessage(message);

  14.  }

  15.  render() {

  16.    return (

  17.      <View style={{flex: 1, height: this.props.height,width: this.props.width }}>

  18.        <WebView

  19.          ref="chart"

  20.          scrollEnabled = {false}

  21.          injectedJavaScript = {renderChart(this.props)}

  22.          style={{

  23.            height: this.props.height|| 400,

  24.            width: this.props.width || 568,

  25.          }}

  26.          onMessage={this.handleMessage}

  27.          source={require('./tpl.html')}

  28.        />

  29.      View>

  30.    );

  31.  }

  32. }

最后在使用图表的页面中,修改下代码来接受传递过来的消息: option={option}height={height}width={theme.screenWidth}handleMessage={this.handleMessage}/>在handleMessage方法中就可以写自己的逻辑来处理传递过来数据了。

打包:

如果就这样打包的话,IOS是可以正常打包并显示的。但是在android端打包时会出错。

解决方法:

在执行完react-native bundle命令后,需要手动将资源文件res/drawable-mdpi中生成的tpl.html文件删除,再执行cd android && ./gradlew assembleRelease命令,这样就能成功打包了。

本站内容来自用户投稿,如果侵犯了您的权利,请与我们联系删除。联系邮箱:835971066@qq.com

本文链接:http://news.xiuzhanwang.com/post/3048.html

发表评论

评论列表

还没有评论,快来说点什么吧~

友情链接: