markdown 不会用?你没看到反斜杠都被吞了?
markdown 不会用?你没看到反斜杠都被吞了?
\documentclass{article}
\usepackage{mtpro2}
\DeclareSymbolFont{largesymbols-cmex}{OMX}{cmex}{m}{n}
\DeclareMathSymbol{\intop}{\mathop}{largesymbols-cmex}{"52}
\DeclareRobustCommand\int{\intop\nolimits}
\DeclareFontEncoding{LMX}{}{}
\DeclareFontSubstitution{LMX}{ntxexx}{m}{n}
\DeclareSymbolFont{largesymbols-newtxmath}{LMX}{ntxexx}{m}{n}
\DeclareMathDelimiter{\langle}{\mathopen}{symbols}{104}{largesymbols-newtxmath}{10}
\DeclareMathDelimiter{\rangle}{\mathclose}{symbols}{105}{largesymbols-newtxmath}{11}
\begin{document}
\[ \int \left\langle \frac{u}{|u|},\frac{v}{|v|}\right\rangle \alpha\xi\zeta\]
\end{document}
这个就是 TeX 中的一个特殊规则(见 TeXbook 204 页),在早些年代,计算机内存较小,这种定义方式可以节省一些字节量。
现在定义宏不推荐这种写法,能看明白就行。
用 pdftex
跑下面的代码:
\tracingmacros=1
\def\foo#1#2#{*#1,#2*}
\foo 1 2{}
\foo 1 {2}
\bye
在 log 文件中会看到:
\foo #1#2{->*#1,#2*{
#1<-1
#2<- 2
\foo #1#2{->*#1,#2*{
#1<-1
#2<- %%%注意这里有一个空格,自己测试一下
对于 \foo 1 2{}
,\foo
接收的第一个参数是 1
,第二个参数为第一个参数与左花括号之间的所有 token,也就是空格符和 2
;而对于 \foo 1 {2}
,第一个参数还是 1
,而第二个参数只剩下一个空格符;再改一下,如果删掉 1
后面的空格符的话(即 \foo 1{2}
),第二个参数就是空的。
我们可以通过这个特性定义带可选参数的宏,看看从 xcolor
里面节选的一段代码:
\documentclass{article}
\usepackage{xcolor}
\makeatletter
\def\testclr#1#{\@testclr{#1}}
\def\@testclr#1#2{{\fboxsep\z@\fbox{\colorbox#1{#2}{\phantom{XX}}}}}
\makeatother
\begin{document}
\testclr{red}
\testclr[rgb]{1,0,1}
\end{document}
\testclr
只有一个参数,且这个参数位于宏本身与左花括号之间,所以
\testclr{red}
,#1
为空,于是传给 \@testclr
的第一个参数为空,第二个参数为 red
\testclr[rgb]{1,0,0}
,第一个参数为 [rgb]
,第二个参数为 1,0,0
,于是传给 \@testclr
的两个参数也一样看这个,和你的需求一模一样
https://tex.stackexchange.com/questions/23432/how-to-create-my-own-math-operator-with-limits
看来光丢个链接还不行?
\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}
\makeatletter
\DeclareRobustCommand\bigop[1]{%
\mathop{\vphantom{\sum}\mathpalette\bigop@{#1}}\slimits@
}
\newcommand{\bigop@}[2]{%
\vcenter{%
\sbox\z@{$#1\sum$}%
\hbox{\resizebox{\ifx#1\displaystyle.9\fi\dimexpr\ht\z@+\dp\z@}{!}{$\m@th#2$}}%
}%
}
\makeatother
\newcommand{\bigK}{\DOTSB\bigop{\mathrm{K}}}
\begin{document}
\[
\bigK_{N=1}^n \frac{a_N}{b_N}
\quad
\textstyle
\bigK_{N=1}^n \frac{a_N}{b_N}
\quad
\scriptstyle
\bigK_{N=1}^n \frac{a_N}{b_N}
\quad
\scriptscriptstyle
\bigK_{N=1}^n \frac{a_N}{b_N}
\]
\end{document}
如果这是 LaTeX-Workshop 拓展的问题,请到其 Github issues 处提交问题报告。
\documentclass{article}
\usepackage{tikz}
\begin{document}
Hello \tikz[baseline=(char.base)] \node[circle,draw,inner sep=0pt] (char) {\#}; World
\end{document}
很多比赛都有模版,你不需要自己设置格式,只管填充内容就行
你做了哪些尝试?
用 graphicx 包提供的 \scalebox
:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
$\Delta$\scalebox{0.8}[1]{$\Delta$}
\end{document}
我的理解是这样的,.meta:n
和 .meta:nn
的作用都是通过一个键设置其它的键,区别在于后者还会设置路径。比如:
\keys_define:nn {module}
{
key .meta:n =
{
key-a = #1,
key-b = #1
}
}
那么 key = value
就会同时设置 key-a
和 key-b
的值为 value
。
你通过两种方式设置键其实是等价的,本质上都设置了同一个键,其全称为 module/subset/key-a
。
当使用
\keys_set:nn {module}
{
subset/key-a = value-a
}
设置键时,会将键 module/subset/key-a
的值设置为 value-a
,这当然没有问题。然而,当你按下面这样写时:
\keys_set:nn {module}
{
subset = { key-a = value-a }
}
latex 会寻找键 module/subset
,但这个键是不存在的,所以会报错。这时候,便可以用 .meta:nn
解决这个问题(注意我故意将键名取为 SUBSET
来表明这个名称不一定非要和 module/xxx
中的 xxx
保持一致):
\define_keys:nn {module}
{
SUBSET .meta:nn = { module / subset } { key-a = #1 }
}
通过上面这段代码,我们定义一个键叫做 module/SUBSET
,当给它赋值 value-a
时:
\keys_set:nn {module}
{
SUBSET = value-a
}
就相当于在 module/subset
路径下设置 key-a
的值为 value-a
,即键 module/subset/key-a
的值为 value-a
。
我们还可以继续改:
\keys_define:nn {module}
{
SUBSET .meta:nn {module/subset} {#1}
}
这时便可以像你希望地那样设置值:
\keys_set:nn {module}
{
SUBSET = { key-a = value-a }
}
key-a = value-a
作为整体传递给上面的 #1
,效果还是设置键 module/subset/key-a
的值为 value-a
。
我也是刚接触不久这个键值系统,如果说的有问题,还请大家指出。
If you are using mac, just type
open `kpsewhich book.cls`
in the terminal to open the source file book.cls
and you can search for any code snippets as you like.
给 MWE
根据手册,你需要设置文档类选项 \documentclass[sectrefs]{svmono}
。一个实例代码如下
\documentclass[sectrefs]{svmono}
\usepackage{lipsum}
\begin{document}
\section{aaaaa}
\lipsum[1]
\begin{thebibliography}{99}
\bibitem{citation} test
\end{thebibliography}
\end{document}
问 使用xpatch宏包实现圆圈数字形式的脚注,出现错误