分类 技术 下的文章

系列 介绍了 LaTeX 中的基本格式。第 1 部分 介绍了列表。第 2 部分 阐述了表格。在第 3 部分中,你将了解 LaTeX 的另一个重要特性:细腻灵活的文档排版。本文介绍如何自定义页面布局、目录、标题部分和页面样式。

页面维度

当你第一次编写 LaTeX 文档时,你可能已经注意到默认边距比你想象的要大一些。页边距与指定的纸张类型有关,例如 A4、letter 和 documentclass(article、book、report) 等等。要修改页边距,有几个选项,最简单的选项之一是使用 fullpage 包。

该软件包设置页面的主体,可以使主体几乎占满整个页面。

—— FULLPAGE PACKAGE DOCUMENTATION

另一个选择是使用 geometry 包。在探索 geometry 包如何操纵页边距之前,请首先查看如下所示的页面尺寸。

  1. 1 英寸 + \hoffset
  2. 1 英寸 + \voffset
  3. \oddsidemargin = 31pt
  4. \topmargin = 20pt
  5. \headheight = 12pt
  6. \headsep = 25pt
  7. \textheight = 592pt
  8. \textwidth = 390pt
  9. \marginparsep = 35pt
  10. \marginparwidth = 35pt
  11. \footskip = 30pt

要使用 geometry 包将边距设置为 1 英寸,请使用以下示例

\usepackage{geometry}
\geometry{a4paper, margin=1in}

除上述示例外,geometry 命令还可以修改纸张尺寸和方向。要更改纸张尺寸,请使用以下示例:

\usepackage[a4paper, total={7in, 8in}]{geometry}

要更改页面方向,需要将横向(landscape)添加到 geometery 选项中,如下所示:

\usepackage{geometery}
\geometry{a4paper, landscape, margin=1.5in

目录

默认情况下,目录的标题为 “contents”。有时,你想将标题更改为 “Table of Content”,更改目录和章节第一节之间的垂直间距,或者只更改文本的颜色。

若要更改文本,请在导言区中添加以下行,用所需语言替换英语(english):

\usepackage[english]{babel}
\addto\captionsenglish{
\renewcommand{\contentsname}
{\bfseries{Table of Contents}}}

要操纵目录与图、小节和章节列表之间的虚拟间距,请使用 tocloft 软件包。本文中使用的两个选项是 cftbeforesecskipcftaftertoctitleskip

tocloft 包提供了控制目录、图表列表和表格列表的排版方法。

—— TOCLOFT PACKAGE DOUCMENTATION

\usepackage{tocloft}
\setlength\ctfbeforesecskip{2pt}
\setlength\cftaftertoctitleskip{30pt}

默认目录

定制目录

边框

在文档中使用包 hyperref 时,目录中的 LaTeX 章节列表和包含 \url 的引用都有边框,如下图所示。

要删除这些边框,请在导言区中包括以下内容,你将看到目录中没有任何边框。

\usepackage{hyperref}
\hypersetup{ pdfborder = {0 0 0}}

要修改标题部分的字体、样式或颜色,请使用程序包 titlesec。在本例中,你将更改节、子节和三级子节的字体大小、字体样式和字体颜色。首先,在导言区中增加以下内容。

\usepackage{titlesec}
\titleformat*{\section}{\Huge\bfseries\color{darkblue}}
\titleformat*{\subsection}{\huge\bfseries\color{darkblue}}
\titleformat*{\subsubsection}{\Large\bfseries\color{darkblue}}

仔细看看代码,\titleformat*{\section} 指定要使用的节的深度。上面的示例最多使用第三个深度。{\Huge\bfseries\color{darkblue}} 部分指定字体大小、字体样式和字体颜色。

页面样式

要自定义的页眉和页脚,请使用 fancyhdr。此示例使用此包修改页面样式、页眉和页脚。下面的代码简要描述了每个选项的作用。

\pagestyle{fancy} %for header to be on each page
\fancyhead[L]{} %keep left header blank
\fancyhead[C]{} %keep centre header blank
\fancyhead[R]{\leftmark} %add the section/chapter to the header right
\fancyfoot[L]{Static Content} %add static test to the left footer
\fancyfoot[C]{} %keep centre footer blank
\fancyfoot[R]{\thepage} %add the page number to the right footer
\setlength\voffset{-0.25in} %space between page border and header (1in + space)
\setlength\headheight{12pt} %height of the actual header.
\setlength\headsep{25pt} %separation between header and text.
\renewcommand{\headrulewidth}{2pt} % add header horizontal line
\renewcommand{\footrulewidth}{1pt} % add footer horizontal line

结果如下所示:

页眉

页脚

小贴士

集中导言区

如果要编写许多 TeX 文档,可以根据文档类别创建一个包含所有导言区的 .tex 文件并引用此文件。例如,我使用结构 .tex 如下所示。

$ cat article_structure.tex
\usepackage[english]{babel}
\addto\captionsenglish{
\renewcommand{\contentsname}
{\bfseries{\color{darkblue}Table of Contents}}
} % Relable the contents
%\usepackage[margin=0.5in]{geometry} % specifies the margin of the document
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx} % allows you to add graphics to the document
\usepackage{hyperref} % permits redirection of URL from a PDF document
\usepackage{fullpage} % formate the content to utilise the full page
%\usepackage{a4wide}
\usepackage[export]{adjustbox} % to force image position
%\usepackage[section]{placeins} % to have multiple images in a figure
\usepackage{tabularx} % for wrapping text in a table
%\usepackage{rotating}
\usepackage{multirow}
\usepackage{subcaption} % to have multiple images in a figure
%\usepackage{smartdiagram} % initialise smart diagrams
\usepackage{enumitem} % to manage the spacing between lists and enumeration
\usepackage{fancyhdr} %, graphicx} %for header to be on each page
\pagestyle{fancy} %for header to be on each page
%\fancyhf{}
\fancyhead[L]{}
\fancyhead[C]{}
\fancyhead[R]{\leftmark}
\fancyfoot[L]{Static Content} %\includegraphics[width=0.02\textwidth]{virgin_voyages.png}}
\fancyfoot[C]{} % clear center
\fancyfoot[R]{\thepage}
\setlength\voffset{-0.25in} %Space between page border and header (1in + space)
\setlength\headheight{12pt} %Height of the actual header.
\setlength\headsep{25pt} %Separation between header and text.
\renewcommand{\headrulewidth}{2pt} % adds horizontal line
\renewcommand{\footrulewidth}{1pt} % add horizontal line (footer)
%\renewcommand{\oddsidemargin}{2pt} % adjuct the margin spacing
%\renewcommand{\pagenumbering}{roman} % change the numbering style
%\renewcommand{\hoffset}{20pt}
%\usepackage{color}
\usepackage[table]{xcolor}
\hypersetup{ pdfborder = {0 0 0}} % removes the red boarder from the table of content
%\usepackage{wasysym} %add checkbox
%\newcommand\insq[1]{%
% \Square\ #1\quad%
%} % specify the command to add checkbox
%\usepackage{xcolor}
%\usepackage{colortbl}
%\definecolor{Gray}{gray}{0.9} % create new colour
%\definecolor{LightCyan}{rgb}{0.88,1,1} % create new colour
%\usepackage[first=0,last=9]{lcg}
%\newcommand{\ra}{\rand0.\arabic{rand}}
%\newcolumntype{g}{>{\columncolor{LightCyan}}c} % create new column type g
%\usesmartdiagramlibrary{additions}
%\setcounter{figure}{0}
\setcounter{secnumdepth}{0} % sections are level 1
\usepackage{csquotes} % the proper was of using double quotes
%\usepackage{draftwatermark} % Enable watermark
%\SetWatermarkText{DRAFT} % Specify watermark text
%\SetWatermarkScale{5} % Toggle watermark size
\usepackage{listings} % add code blocks
\usepackage{titlesec} % Manipulate section/subsection
\titleformat{\section}{\Huge\bfseries\color{darkblue}} % update sections to bold with the colour blue \titleformat{\subsection}{\huge\bfseries\color{darkblue}} % update subsections to bold with the colour blue
\titleformat*{\subsubsection}{\Large\bfseries\color{darkblue}} % update subsubsections to bold with the colour blue
\usepackage[toc]{appendix} % Include appendix in TOC
\usepackage{xcolor}
\usepackage{tocloft} % For manipulating Table of Content virtical spacing
%\setlength\cftparskip{-2pt}
\setlength\cftbeforesecskip{2pt} %spacing between the sections
\setlength\cftaftertoctitleskip{30pt} % space between the first section and the text ``Table of Contents''
\definecolor{navyblue}{rgb}{0.0,0.0,0.5}
\definecolor{zaffre}{rgb}{0.0, 0.08, 0.66}
\definecolor{white}{rgb}{1.0, 1.0, 1.0}
\definecolor{darkblue}{rgb}{0.0, 0.2, 0.6}
\definecolor{darkgray}{rgb}{0.66, 0.66, 0.66}
\definecolor{lightgray}{rgb}{0.83, 0.83, 0.83}
%\pagenumbering{roman}

在你的文章中,请参考以下示例中所示的方法引用 structure.tex 文件:

\documentclass[a4paper,11pt]{article}
\input{/path_to_structure.tex}}
\begin{document}
......
\end{document}

添加水印

要在 LaTeX 文档中启用水印,请使用 draftwatermark 软件包。下面的代码段和图像演示了如何在文档中添加水印。默认情况下,水印颜色为灰色,可以将其修改为所需的颜色。

\usepackage{draftwatermark} 
\SetWatermarkText{\color{red}Classified} %add watermark text 
\SetWatermarkScale{4} %specify the size of the text

结论

在本系列中,你了解了 LaTeX 提供的一些基本但丰富的功能,这些功能可用于自定义文档以满足你的需要或将文档呈现给的受众。LaTeX 海洋中,还有许多软件包需要大家自行去探索。


via: https://fedoramagazine.org/latex-typesetting-part-3-formatting/

作者:Earl Ramirez 选题:Chao-zhi 译者:Chao-zhi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

如果你很在意你的终端的外观的话,一个跨 shell 的提示符可以让你轻松地定制和配置 Linux 终端提示符。

虽然我已经介绍了一些帮助你 自定义终端外观 的技巧,但我也发现了一些有趣的跨 shell 提示符的建议。

Starship:轻松地调整你的 Linux Shell 提示符

Starship 是一个用 Rust 编写的开源项目,它可以帮助你建立一个精简、快速、可定制的 shell 提示符。

无论你是使用 bash、fish、还是 Windows 上的 PowerShell,抑或其他 shell,你都可以利用Starship 来定制外观。

请注意,你必须了解它的 官方文档 才能对所有你喜欢的东西进行高级配置,但在这里,我将包括一个简单的示例配置,以有一个良好的开端,以及一些关于 Startship 的关键信息。

Startship 专注于为你提供一个精简的、快速的、有用的默认 shell 提示符。它甚至会记录并显示执行一个命令所需的时间。例如,这里有一张截图:

不仅如此,根据自己的喜好定制提示符也相当简单。下面是一张官方 GIF,展示了它的操作:

让我帮你设置一下。我是在 Ubuntu 上使用 bash shell 来测试的。你可以参考我提到的步骤,或者你可以看看 官方安装说明,以获得在你的系统上安装它的更多选择。

Starship 的亮点

  • 跨平台
  • 跨 shell 支持
  • 能够添加自定义命令
  • 定制 git 体验
  • 定制使用特定编程语言时的体验
  • 轻松定制提示符的每一个方面,而不会对性能造成实质影响

在 Linux 上安装 Starship

安装 Starship 需要下载一个 bash 脚本,然后用 root 权限运行该脚本。

如果你不习惯这样做,你可以使用 snap。

sudo snap install starship

注意:你需要安装 Nerd 字体 才能获得完整的体验。

要开始使用,请确保你安装了 curl。你可以通过键入如下命令来轻松安装它:

sudo apt install curl

完成后,输入以下内容安装 Starship:

curl -fsSL https://starship.rs/install.sh | bash

这应该会以 root 身份将 Starship 安装到 usr/local/bin。你可能会被提示输入密码。看起来如下:

在 bash 中添加 Starship

如截图所示,你会在终端本身得到设置的指令。在这里,我们需要在 .bashrc 用户文件的末尾添加以下一行:

eval "$(starship init bash)"

要想轻松添加,只需键入:

nano .bashrc

然后,通过向下滚动导航到文件的末尾,并在文件末尾添加如下图所示的行:

完成后,只需重启终端或重启会话即可看到一个精简的提示符。对于你的 shell 来说,它可能看起来有点不同,但默认情况下应该是一样的。

设置好后,你就可以继续自定义和配置提示符了。让我给你看一个我做的配置示例:

配置 Starship 提示符:基础

开始你只需要在 .config 目录下制作一个配置文件(TOML文件)。如果你已经有了这个目录,直接导航到该目录并创建配置文件。

下面是创建目录和配置文件时需要输入的内容:

mkdir -p ~/.config && touch ~/.config/starship.toml

请注意,这是一个隐藏目录。所以,当你试图使用文件管理器从主目录访问它时,请确保在继续之前 启用查看隐藏文件

接下来如果你想探索一些你喜欢的东西,你应该参考配置文档。

举个例子,我配置了一个简单的自定义提示,看起来像这样:

为了实现这个目标,我的配置文件是这样的:

根据他们的官方文档,这是一个基本的自定义格式。但是,如果你不想要自定义格式,只是想用一种颜色或不同的符号来自定义默认的提示,那就会像这样:

上述定制的配置文件是这样的:

当然,这不是我能做出的最好看的提示符,但我希望你能理解其配置方式。

你可以通过包括图标或表情符来定制目录的外观,你可以调整变量、格式化字符串、显示 git 提交,或者根据使用特定编程语言而调整。

不仅如此,你还可以创建在你的 shell 中使用的自定义命令,让事情变得更简单或舒适。

你可以在他们的 官方网站 和它的 GitHub 页面 中探索更多的信息。

结论

如果你只是想做一些小的调整,这文档可能会太复杂了。但是,即使如此,它也可以让你用很少的努力实现一个自定义的提示符或精简的提示符,你可以应用于任何普通的 shell 和你正在使用的系统。

总的来说,我不认为它非常有用,但有几个读者建议使用它,看来人们确实喜欢它。我很想看看你是如何 自定义 Linux 终端 以适应不同的使用方式。

欢迎在下面的评论中分享你的看法,如果你喜欢的话。


via: https://itsfoss.com/starship/

作者:Ankush Das 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Chromebook 是令人惊叹的工具,但通过解锁它内部的 Linux 系统,你可以让它变得更加不同凡响。

 title=

Google Chromebook 运行在 Linux 系统之上,但通常它运行的 Linux 系统对普通用户而言,并不是十分容易就能访问得到。Linux 被用作基于开源的 Chromium OS 运行时环境的后端技术,然后 Google 将其转换为 Chrome OS。大多数用户体验到的界面是一个电脑桌面,可以用来运行 Chrome 浏览器及其应用程序。然而,在这一切的背后,有一个 Linux 系统等待被你发现。如果你知道怎么做,你可以在 Chromebook 上启用 Linux,把一台可能价格相对便宜、功能相对基础的电脑变成一个严谨的笔记本,获取数百个应用和你需要的所有能力,使它成为一个通用计算机。

什么是 Chromebook?

Chromebook 是专为 Chrome OS 创造的笔记本电脑,它本身专为特定的笔记本电脑型号而设计。Chrome OS 不是像 Linux 或 Windows 这样的通用操作系统,而是与 Android 或 iOS 有更多的共同点。如果你决定购买 Chromebook,你会发现有许多不同制造商的型号,包括惠普、华硕和联想等等。有些是为学生而设计,而另一些是为家庭或商业用户而设计的。主要的区别通常分别集中在电池功率或处理能力上。

无论你决定买哪一款,Chromebook 都会运行 Chrome OS,并为你提供现代计算机所期望的基本功能。有连接到互联网的网络管理器、蓝牙、音量控制、文件管理器、桌面等等。

Chrome OS desktop

Chrome OS 桌面截图

不过,想从这个简单易用的操作系统中获得更多,你只需要激活 Linux。

启用 Chromebook 的开发者模式

如果我让你觉得启用 Linux 看似简单,那是因为它确实简单但又有欺骗性。之所以说有欺骗性,是因为在启用 Linux 之前,你必须备份数据。

这个过程虽然简单,但它确实会将你的计算机重置回出厂默认状态。你必须重新登录到你的笔记本电脑中,如果你有数据存储在 Google 云盘帐户上,你必须得把它重新同步回计算机中。启用 Linux 还需要为 Linux 预留硬盘空间,因此无论你的 Chromebook 硬盘容量是多少,都将减少一半或四分之一(自主选择)。

在 Chromebook 上接入 Linux 仍被 Google 视为测试版功能,因此你必须选择使用开发者模式。开发者模式的目的是允许软件开发者测试新功能,安装新版本的操作系统等等,但它可以为你解锁仍在开发中的特殊功能。

要启用开发者模式,请首先关闭你的 Chromebook。假定你已经备份了设备上的所有重要信息。

接下来,按下键盘上的 ESC,再按 电源键 启动 Chromebook。

ESC and refresh buttons

ESC 键和 ⟳ 键

当提示开始恢复时,按键盘上的 Ctrl+D

恢复结束后,你的 Chromebook 已重置为出厂设置,且没有默认的使用限制。

开机启动进入开发者模式

在开发者模式下运行意味着每次启动 Chromebook 时,都会提醒你处于开发者模式。你可以按 Ctrl+D 跳过启动延迟。有些 Chromebook 会在几秒钟后发出蜂鸣声来提醒你处于开发者模式,使得 Ctrl+D 操作几乎是强制的。从理论上讲,这个操作很烦人,但在实践中,我不经常启动我的 Chromebook,因为我只是唤醒它,所以当我需要这样做的时候,Ctrl+D 只不过是整个启动过程中小小的一步。

启用开发者模式后的第一次启动时,你必须重新设置你的设备,就好像它是全新的一样。你只需要这样做一次(除非你在未来某个时刻停用开发者模式)。

启用 Chromebook 上的 Linux

现在,你已经运行在开发者模式下,你可以激活 Chrome OS 中的 Linux Beta 功能。要做到这一点,请打开 设置,然后单击左侧列表中的 Linux Beta

激活 Linux Beta,并为你的 Linux 系统和应用程序分配一些硬盘空间。在最糟糕的时候,Linux 是相当轻量级的,所以你真的不需要分配太多硬盘空间,但它显然取决于你打算用 Linux 来做多少事。4 GB 的空间对于 Linux 以及几百个终端命令还有二十多个图形应用程序是足够的。我的 Chromebook 有一个 64 GB 的存储卡,我给了 Linux 系统 30 GB,那是因为我在 Chromebook 上所做的大部分事情都是在 Linux 内完成的。

一旦你的 Linux Beta 环境准备就绪,你可以通过按键盘上的搜索按钮和输入 terminal 来启动终端。如果你还是 Linux 新手,你可能不知道当前进入的终端能用来安装什么。当然,这取决于你想用 Linux 来做什么。如果你对 Linux 编程感兴趣,那么你可能会从 Bash(它已经在终端中安装和运行了)和 Python 开始。如果你对 Linux 中的那些迷人的开源应用程序感兴趣,你可以试试 GIMP、MyPaint、LibreOffice 或 Inkscape 等等应用程序。

Chrome OS 的 Linux Beta 模式不包含图形化的软件安装程序,但 应用程序可以从终端安装。可以使用 sudo apt install 命令安装应用程序。

  • sudo 命令可以允许你使用超级管理员权限来执行某些命令(即 Linux 中的 root)。
  • apt 命令是一个应用程序的安装工具。
  • install 是命令选项,即告诉 apt 命令要做什么。

你还必须把想要安装的软件包的名字和 apt 命令写在一起。以安装 LibreOffice 举例:

sudo apt install libreoffice

当有提示是否继续时,输入 y(代表“确认”),然后按 回车键

一旦应用程序安装完毕,你可以像在 Chrome OS 上启动任何应用程序一样启动它:只需要在应用程序启动器输入它的名字。

了解 Linux 应用程序的名字和它的包名需要花一些时间,但你也可以用 apt search 命令来搜索。例如,可以用以下的方法是找到关于照片的应用程序:

apt search photo

因为 Linux 中有很多的应用程序,所以你可以找一些感兴趣的东西,然后尝试一下!

与 Linux 共享文件和设备

Linux Beta 环境运行在 容器 中,因此 Chrome OS 需要获得访问 Linux 文件的权限。要授予 Chrome OS 与你在 Linux 上创建的文件的交互权限,请右击要共享的文件夹并选择 管理 Linux 共享

Chrome OS Manage Linux sharing interface

Chrome OS 的 Linux 管理共享界面

你可以通过 Chrome OS 的 设置 程序来管理共享设置以及其他设置。

Chrome OS Settings menu

Chrome OS 设置菜单

学习 Linux

如果你肯花时间学习 Linux,你不仅能够解锁你 Chromebook 中隐藏的潜力,还能最终学到很多关于计算机的知识。Linux 是一个有价值的工具,一个非常有趣的玩具,一个通往比常规计算更令人兴奋的事物的大门。去了解它吧,你可能会惊讶于你自己和你 Chromebook 的无限潜能。


源自: https://opensource.com/article/21/2/chromebook-linux

作者:Seth Kenlon 选题:lujun9972 译者:max27149 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LaTeX 提供了许多工具来创建和定制表格,在本系列中,我们将使用 tabulartabularx 环境来创建和定制表。

基础表格

要创建表,只需指定环境 \begin{tabular}{列选项}

\begin{tabular}{c|c}
    Release &Codename \\ \hline
    Fedora Core 1 &Yarrow \\ 
    Fedora Core 2 &Tettnang \\ 
    Fedora Core 3 &Heidelberg \\ 
    Fedora Core 4 &Stentz \\ 
\end{tabular}

Basic Table

在上面的示例中,花括号中的 ”{c|c}” 表示文本在列中的位置。下表总结了位置参数及其说明。

参数位置
c将文本置于中间
l将文本左对齐
r将文本右对齐
p{宽度}文本对齐单元格顶部
m{宽度}文本对齐单元格中间
b{宽度}文本对齐单元格底部
m{宽度}b{宽度} 都要求在最前面指定数组包。

使用上面的例子,让我们来详细讲解使用的要点,并描述你将在本系列中看到的更多选项:

选项意义
&定义每个单元格,这个符号仅用于第二列
\\这将终止该行并开始一个新行
``指定表格中的垂直线(可选)
\hline指定表格中的水平线(可选)
*{数量}{格式}当你有许多列时,可以使用这个,并且是限制重复的有效方法
` `指定表格中垂直双线

定制表格

学会了这些选项,让我们使用这些选项创建一个表。

\begin{tabular}{*{3}{|l|}}
\hline
    \textbf{Version} &\textbf{Code name} &\textbf{Year released} \\
\hline
    Fedora 6 &Zod &2006 \\ \hline
    Fedora 7 &Moonshine &2007 \\ \hline
    Fedora 8 &Werewolf &2007 \\
\hline
\end{tabular}

Customise Table

管理长文本

如果列中有很多文本,那么它的格式就不好处理,看起来也不好看。

下面的示例显示了文本的格式长度,我们将在导言区中使用 blindtext,以便生成示例文本。

\begin{tabular}{|l|l|}\hline
    Summary &Description \\ \hline
    Test &\blindtext \\
\end{tabular}

Default Formatting

正如你所看到的,文本超出了页面宽度;但是,有几个选项可以克服这个问题。

  • 指定列宽,例如 m{5cm}
  • 利用 tablarx 环境,这需要在导言区中引用 tablarx 宏包。

使用列宽管理长文本

通过指定列宽,文本将被折行为如下示例所示的宽度。

\begin{tabular}{|l|m{14cm}|} \hline
    Summary &Description \\ \hline
    Test &\blindtext \\ \hline
\end{tabular}\vspace{3mm}

Column Width

使用 tabularx 管理长文本

在我们利用表格之前,我们需要在导言区中加上它。tabularx 方法见以下示例:\begin{tabularx}{宽度}{列选项}

\begin{tabularx}{\textwidth}{|l|X|} \hline
Summary & Tabularx Description\\ \hline
Text &\blindtext \\ \hline
\end{tabularx}

Tabularx

请注意,我们需要处理长文本的列在花括号中指定了大写 X

合并行合并列

有时需要合并行或列。本节描述了如何完成。要使用 multirowmulticolumn,请将 multirow 添加到导言区。

合并行

multirow 采用以下参数 \multirow{行的数量}{宽度}{文本},让我们看看下面的示例。

\begin{tabular}{|l|l|}\hline
    Release &Codename \\ \hline
    Fedora Core 4 &Stentz \\ \hline
    \multirow{2}{*}{MultiRow} &Fedora 8 \\ 
    &Werewolf \\ \hline
\end{tabular}

MultiRow

在上面的示例中,指定了两行,* 告诉 LaTeX 自动管理单元格的大小。

合并列

multicolumn 参数是 {multicolumn{列的数量}{单元格选项}{位置}{文本},下面的示例演示合并列。

\begin{tabular}{|l|l|l|}\hline
    Release &Codename &Date \\ \hline
    Fedora Core 4 &Stentz &2005 \\ \hline
    \multicolumn{3}{|c|}{Mulit-Column} \\ \hline
\end{tabular}

Multi-Column

使用颜色

可以为文本、单个单元格或整行指定颜色。此外,我们可以为每一行配置交替的颜色。

在给表添加颜色之前,我们需要在导言区引用 \usepackage[table]{xcolor}。我们还可以使用以下颜色参考 LaTeX Color 或在颜色前缀后面添加感叹号(从 0 到 100 的阴影)来定义颜色。例如,gray!30

\definecolor{darkblue}{rgb}{0.0, 0.0, 0.55}
\definecolor{darkgray}{rgb}{0.66, 0.66, 0.66}

下面的示例演示了一个具有各种颜色的表,\rowcolors 采用以下选项 \rowcolors{起始行颜色}{偶数行颜色}{奇数行颜色}

\rowcolors{2}{darkgray}{gray!20}
\begin{tabular}{c|c}
    Release &Codename \\ \hline
    Fedora  Core 1 &Yarrow \\
    Fedora Core 2 &Tettnang \\
    Fedora Core 3 &Heidelberg \\
    Fedora Core 4 &Stentz \\
\end{tabular}

Alt colour table

除了上面的例子,\rowcolor 可以用来指定每一行的颜色,这个方法在有合并行时效果最好。以下示例显示将 \rowColors 与合并行一起使用的影响以及如何解决此问题。

Impact on multi-row

你可以看到,在合并行中,只有第一行能显示颜色。想要解决这个问题,需要这样做:

\begin{tabular}{|l|l|}\hline
    \rowcolor{darkblue}\textsc{\color{white}Release}  &\textsc{\color{white}Codename} \\ \hline
    \rowcolor{gray!10}Fedora Core 4 &Stentz \\ \hline
    \rowcolor{gray!40}&Fedora 8 \\ 
    \rowcolor{gray!40}\multirow{-2}{*}{Multi-Row} &Werewolf \\ \hline
\end{tabular}

Multi-row

让我们讲解一下为解决合并行替换颜色问题而实施的更改。

  • 第一行从合并行上方开始
  • 行数从 2 更改为 -2,这意味着从上面的行开始读取
  • \rowcolor 是为每一行指定的,更重要的是,多行必须具有相同的颜色,这样才能获得所需的结果。

关于颜色的最后一个注意事项是,要更改列的颜色,需要创建新的列类型并定义颜色。下面的示例说明了如何定义新的列颜色。

\newcolumntype{g}{>{\columncolor{darkblue}}l} 

我们把它分解一下:

  • \newcolumntype{g}:将字母 g 定义为新列
  • {>{\columncolor{darkblue}}l}:在这里我们选择我们想要的颜色,并且 l 告诉列左对齐,这可以用 cr 代替。
\begin{tabular}{g|l} 
    \textsc{Release}  &\textsc{Codename} \\ \hline
    Fedora Core 4 &Stentz \\ 
    &Fedora 8 \\ 
    \multirow{-2}{*}{Multi-Row} &Werewolf \\ 
\end{tabular}\

Column Colour

横向表

有时,你的表可能有许多列,纵向排列会很不好看。在导言区加入 rotating 包,你将能够创建一个横向表。下面的例子说明了这一点。

对于横向表,我们将使用 sidewaystable 环境并在其中添加表格环境,我们还指定了其他选项。

  • \centering 可以将表格放置在页面中心
  • \caption{} 为表命名
  • \label{} 这使我们能够引用文档中的表
\begin{sidewaystable}
\centering
\caption{Sideways Table}
\label{sidetable}
\begin{tabular}{ll}
    \rowcolor{darkblue}\textsc{\color{white}Release}  &\textsc{\color{white}Codename} \\ 
    \rowcolor{gray!10}Fedora Core 4 &Stentz \\ 
    \rowcolor{gray!40} &Fedora 8 \\ 
    \rowcolor{gray!40}\multirow{-2}{*}{Multi-Row} &Werewolf \\ 
\end{tabular}\vspace{3mm}
\end{sidewaystable}

Sideways Table

列表和表格

要将列表包含到表中,可以使用 tabularx,并将列表包含在指定的列中。另一个办法是使用表格格式,但必须指定列宽。

用 tabularx 处理列表

\begin{tabularx}{\textwidth}{|l|X|} \hline
    Fedora Version &Editions \\ \hline
    Fedora 32 &\begin{itemize}[noitemsep]
        \item CoreOS
        \item Silverblue
        \item IoT
    \end{itemize} \\ \hline
\end{tabularx}\vspace{3mm}

List in tabularx

用 tabular 处理列表

\begin{tabular}{|l|m{6cm}|}\hline
        Fedora Version &Editions \\\ \hline
    Fedora 32 &\begin{itemize}[noitemsep]
        \item CoreOS
        \item Silverblue
        \item IoT
    \end{itemize} \\\ \hline
\end{tabular}

List in tabular

总结

LaTeX 提供了许多使用 tablartablarx 自定义表的方法,你还可以在表环境 (\begin\table) 中添加 tablartablarx 来添加表的名称和定位表。

LaTeX 宏包

所需的宏包有如下这些:

\usepackage{fullpage}
\usepackage{blindtext}  % add demo text
\usepackage{array} % used for column positions
\usepackage{tabularx} % adds tabularx which is used for text wrapping
\usepackage{multirow} % multi-row and multi-colour support
\usepackage[table]{xcolor} % add colour to the columns 
\usepackage{rotating} % for landscape/sideways tables

额外的知识

这是一堂关于表的小课,有关表和 LaTex 的更多高级信息,请访问 LaTex Wiki


via: https://fedoramagazine.org/latex-typesetting-part-2-tables/

作者:Earl Ramirez 选题:lujun9972 译者:Chao-zhi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Linux Mint 是最好的 适合初学者的 Linux 发行版 之一。尤其是想 转战 Linux 的 Windows 用户,会发现它的 Cinnamon 桌面环境非常熟悉。

Cinnamon 给人一种传统的桌面体验,很多用户喜欢它的样子。这并不意味着你必须满足于它提供的东西。Cinnamon 提供了几种自定义桌面的方式。

在阅读了 MATEKDE 自定义 指南后,很多读者要求为 Linux Mint Cinnamon 也提供类似的教程。因此,我创建了这个关于调整 Cinnamon 桌面的外观和感觉的基本指南。

7 种自定义 Cinnamon 桌面的不同方法

在本教程中,我使用的是 Linux Mint Debian Edition(LMDE 4)。你可以在任何运行 Cinnamon 的 Linux 发行版上使用这篇文章的方法。如果你不确定,这里有 如何检查你使用的桌面环境

当需要改变 Cinnamon 桌面外观时,我发现非常简单,因为只需点击两下即可。如下图所示,点击菜单图标,然后点击“设置”。

所有的外观设置都放在该窗口的顶部。在“系统设置”窗口上的一切都显得整齐划一。

1、效果

效果选项简单,不言自明,一目了然。你可以开启或关闭桌面不同元素的特效,或者通过改变特效风格来改变窗口过渡。如果你想改变效果的速度,可以通过自定义标签来实现。

2、字体选择

在这个部分,你可以区分整个系统中使用的字体大小和类型,通过字体设置,你可以对外观进行微调。

3、主题和图标

我曾经做了几年的 Linux Mint 用户,一个原因是你不需要到处去改变你想要的东西。窗口管理器、图标和面板定制都在一个地方!

你可以将面板改成深色或浅色,窗口边框也可以根据你要的而改变。默认的 Cinnamon 外观设置在我眼里是最好的,我甚至在测试 Ubuntu Cinnamon Remix 时也应用了一模一样的设置,不过是橙色的。

4、Cinnamon 小程序

Cinnamon 小程序是所有包含在底部面板的元素,如日历或键盘布局切换器。在管理选项卡中,你可以添加/删除已经安装的小程序。

你一定要探索一下可以下载的小程序,如天气和 CPU 温度指示小程序是我额外选择的。

5、Cinnamon Desklets

Cinnamon Desklets 是可以直接放置在桌面上的应用。和其他所有的自定义选项一样,Desklets 可以从设置菜单中访问,各种各样的选择可以吸引任何人的兴趣。谷歌日历是一个方便的应用,可以直接在桌面上跟踪你的日程安排。

6、桌面壁纸

要改变 Cinnamon 桌面的背景,只需在桌面上点击右键,选择“改变桌面背景”。它将打开一个简单易用的窗口,在左侧列出了可用的背景系统文件夹,右侧有每个文件夹内的图片预览。

你可以通过点击加号(+)并选择路径来添加自己的文件夹。在“设置”选项卡中,你可以选择你的背景是静态还是幻灯片,以及背景在屏幕上的位置。

7、自定义桌面屏幕上的内容

背景并不是你唯一可以改变的桌面元素。如果你在桌面上点击右键,然后点击“自定义”,你可以找到更多的选项。

你可以改变图标的大小,将摆放方式从垂直改为水平,并改变它们在两个轴上的间距。如果你不喜欢你所做的,点击重置网格间距回到默认值。

此外,如果你点击“桌面设置”,将显示更多的选项。你可以禁用桌面上的图标,将它们放在主显示器或副显示器上,甚至两个都可以。如你所见,你可以选择一些图标出现在桌面上。

总结

Cinnamon 桌面是最好的选择之一,尤其是当你正在 从 windows 切换到 Linux 的时候,同时对一个简单而优雅的桌面追求者也是如此。

Cinnamon 桌面非常稳定,在我手上从来没有崩溃过,这也是在各种 Linux 发行版之间,我使用它这么久的主要原因之一。

我没有讲得太详细,但给了你足够的指导,让你自己去探索设置。欢迎反馈你对 Cinnamon 的定制。


via: https://itsfoss.com/customize-cinnamon-desktop/

作者:Dimitrios 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

WoeUSB 可以在 Linux 中制作 Windows 启动盘,并帮助你的朋友解锁他们罢工的机器。

 title=

人们经常要求我帮助他们恢复被锁死或损坏的 Windows 电脑。有时,我可以使用 Linux USB 启动盘来挂载 Windows 分区,然后从损坏的系统中传输和备份文件。

有的时候,客户丢失了他们的密码或以其他方式锁死了他们的登录账户凭证。解锁账户的一种方法是创建一个 Windows 启动盘来修复计算机。微软允许你从网站下载 Windows 的副本,并提供创建 USB 启动盘的工具。但要使用它们,你需要一台 Windows 电脑,这意味着,作为一个 Linux 用户,我需要其他方法来创建一个 DVD 或 USB 启动盘。我发现在 Linux 上创建 Windows USB 很困难。我的可靠工具,如 Etcher.ioPopsicle(适用于 Pop!\_OS)和 UNetbootin,或者从命令行使用 dd 来创建可启动媒体,都不是很成功。

直到我发现了 WoeUSB-ng,一个 GPL 3.0 许可的 Linux 工具,它可以为 Windows Vista、7、8 和 10 创建一个 USB 启动盘。这个开源软件有两个程序:一个命令行工具和一个图形用户界面 (GUI) 版本。

安装 WoeUSB-ng

GitHub 仓库包含了在 Arch、Ubuntu、Fedora 或使用 pip3 安装 WoeUSB-ng 的说明。

如果你是受支持的 Linux 发行版,你可以使用你的包管理器安装 WoeUSB-ng。或者,你可以使用 Python 的包管理器 pip 来安装应用程序。这在任何 Linux 发行版中都是通用的。这些方法在功能上没有区别,所以使用你熟悉的任何一种。

我运行的是 Pop!\_OS,它是 Ubuntu 的衍生版本,但由于对 Python 很熟悉,我选择了 pip3 安装:

$ sudo pip3 install WoeUSB-ng

创建一个启动盘

你可以从命令行或 GUI 版本使用 WoeUSB-ng。

要从命令行创建一个启动盘,语法要求命令包含 Windows ISO 文件的路径和一个设备。(本例中是 /dev/sdX。使用 lsblk 命令来确定你的驱动器)

$ sudo woeusb --device Windows.iso /dev/sdX

你也可以启动该程序,以获得简单易用的界面。在 WoeUSB-ng 应用程序窗口中,找到 Windows.iso 文件并选择它。选择你的 USB 目标设备(你想变成 Windows 启动盘的驱动器)。这将会删除这个驱动器上的所有信息,所以要谨慎选择,然后仔细检查(再三检查)你的选择!

当你确认正确选择目标驱动器后,点击 Install 按钮。

 title=

创建该介质需要 5 到 10 分钟,这取决于你的 Linux 电脑的处理器、内存、USB 端口速度等。请耐心等待。

当这个过程完成并验证后,你将有可用的 Windows USB 启动盘,以帮助其他人修复 Windows 计算机。

帮助他人

开源就是为了帮助他人。很多时候,你可以通过使用基于 Linux 的系统救援 CD 来帮助 Windows 用户。但有时,唯一的帮助方式是直接从 Windows 中获取,而 WoeUSB-ng 是一个很好的开源工具,它可以让这成为可能。


via: https://opensource.com/article/21/2/linux-woeusb

作者:Don Watkins 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出