我已经使用 org-mode + emacs 有一段时间了,我喜欢制作内容是多么容易。我经常使用来自同一文档的 html + pdf 导出组合(首先是网页,然后是 pdf 文档)。我的问题是关于将代码块 ( #+BEGIN_SRC...)导出为 pdf。
对于html,导出命令 ( C-c C-e h h) 给了我一个令人满意的解决方案:它使用一个框架来封装代码(当您将鼠标指针放在其上时显示编程语言)并为结果消息使用不同的框架(如我设置的那样:export both) . 在#+CAPTION: my caption here之前使用时#+BEGIN_SRC,生成的 html 页面在代码框架之前包含“列表 #:此处的标题”。
对于pdf,导出命令 ( C-c C-e l p)生成的文档在代码和结果周围都没有框架(真是一团糟),并且标题在代码和结果之间显示为“图 #:我的标题在这里”。
如何获得这两个代码不同的框架和结果 ,并房源般的字幕从组织模式导出为PDF时,我的代码块?
这是一个最小的例子:
#+TITLE: EXPORT TESTINGS
#+OPTIONS: toc:nil
#+CAPTION: Caption, my caption!
#+BEGIN_SRC C :results output :exports both
int i, x = 10; …Run Code Online (Sandbox Code Playgroud) 在 Python3/QT5 应用程序中,我试图显示最初作为字符串构建的 SVG 图像。我需要操作这个 SVG 图像(例如改变它的颜色),所以我的字符串随着时间的推移而改变。这是一个最小的工作示例:
import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.QtSvg import QSvgWidget
svg_str = """<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="300" height="300" viewBox="0 0 300 300" id="smile" version="1.1">
<path
style="fill:#ffaaaa"
d="M 150,0 A 150,150 0 0 0 0,150 150,150 0 0 0 150,300 150,150 0 0 0
300,150 150,150 0 0 0 150,0 Z M 72,65 A 21,29.5 0 0 1 93,94.33
21,29.5 0 0 1 72,124 21,29.5 0 0 1 51,94.33 21,29.5 0 0 1 …Run Code Online (Sandbox Code Playgroud) 我试图理解Python中的OOP,并且我有这种"非pythonic思维方式"问题.我想要一个我的类的方法来验证参数的类型,如果它不是正确的类型(例如ValueError),则引发异常.我得到的最接近我的愿望是:
class Tee(object):
def __init__(self):
self.x = 0
def copy(self, Q : '__main__.Tee'):
self.x = Q.x
def __str__(self):
return str(self.x)
a = Tee()
b = Tee()
print(type(a)) # <class '__main__.Tee'>
print(isinstance(a, Tee)) # True
b.x = 255
a.copy(b)
print(a) # 255
a.copy('abc') # Traceback (most recent call last): [...]
# AttributeError: 'str' object has no attribute 'x'
Run Code Online (Sandbox Code Playgroud)
所以,即使我试图确保Q我的copy方法中的参数类型属于同一个类,解释器只是通过它并AttributeError在尝试x从字符串中获取成员时引发它.
我明白我可以这样做:
[...]
def copy(self, Q):
if isinstance(Q, Tee):
self.x = Q.x
else: …Run Code Online (Sandbox Code Playgroud) 我有一个递归函数给我这个答案:
'((()) (((((a c d f e d))))) (((((a c d e f d))))))
Run Code Online (Sandbox Code Playgroud)
除了我需要查看函数以便清理它之外,这引出了一个问题:如何清理这个答案?如何"解嵌"这些列表以便返回:
'((a c d f e d) (a c d e f d))
Run Code Online (Sandbox Code Playgroud)
我需要在Racket或Common Lisp中使用一些策略或适当的功能.
提前致谢!
在c ++函数中传递参数时,"double a []"和"double*a"之间有什么区别(如果存在)?我的意思是,这两个功能是否相同?
void do_somethingA (double a[], size_t size_a)
{
// ... do something
}
void do_somethingB (double *a, size_t size_a)
{
// ... do something
}
int main()
{
double X[] = {1.,2.,3.,4.,5.};
double *Y;
Y = new double[5];
for(int i = 0; i < 5; i++)
Y[i] = (double) i;
do_somethingA(X,5);
do_somethingA(Y,5);
do_somethingB(X,5);
do_somethingB(Y,5);
delete [] Y;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码没有错误.我只是对此感到好奇,我找不到"google"它的方法,抱歉.
我将静态和动态数组作为参数传递给函数,其中一个使用"double a []"而另一个使用"double*a",一切都编译并执行正常.这只是风格问题吗?
我开发了一种算法来将控制标志更改为特定的顺序.可以将其视为计数器或时钟,您可以在其中定义最小值,最大值,步长等.但每次我想使用它时,我都需要复制粘贴几行代码并在中间更改一些行.
如果有一种方法可以实现这个新的流控制语句,我就会徘徊.我的问题也可以说是"如何编写一个函数,我需要一个简单的或复合的C++语句作为参数"?
接近我的问题的另一种方法是弄清楚如何转换以下代码:
int a;
vector<int> av;
for(int i = 0; i < 10; i++)
{
a = (i > a)? i : i*2;
av.push_back(a);
}
for(int i = 20; i >= 10; i--)
{
a = ((a+i)%2 == 1)? 0 : i/2;
av.push_back(a*3);
}
Run Code Online (Sandbox Code Playgroud)
接近这个:
// definition
void another_for_loop(const int &a, const int &b, const int &inc_, [????] )
{
inc = (inc_ == 0) ? 1 : inc_;
if(inc > 0)
{
for(int i = min(a,b); i <= …Run Code Online (Sandbox Code Playgroud) c++ ×2
python-3.x ×2
common-lisp ×1
emacs ×1
loops ×1
oop ×1
org-mode ×1
pdf ×1
pyqt5 ×1
python ×1
qt5 ×1
racket ×1
statements ×1
svg ×1
types ×1