小编exc*_*ipy的帖子

对LaTeX环境进行小修改

我一直在使用\begin{figure} ... \end{figure}整个LaTeX文档,但默认样式很难看; 即,这些数字都是左对齐的.有没有办法重新定义"数字"环境,所以它会自动插入一些像这样的居中命令?:

\begin{figure} \begin{center}
\end{center} \end{figure}
Run Code Online (Sandbox Code Playgroud)

当然,我可以\newenvironment用来定义一个"cfigure"环境,但那是不可取的.我不想通过将所有"数字"改为"cfigures"(然后我意识到我希望所有数字都是正确对齐的,并且必须将它们全部重命名为"rfigures").

我可以使用\renewenvironment,但后来我必须深入研究LaTeX源代码,找出最初定义为"数字"环境的复制/粘贴内容.

几乎这篇博文中找到了我想要的东西,但是那里的例子是一个命令,而不是一个环境.

latex

24
推荐指数
2
解决办法
1万
查看次数

Flexbox项目宽度受填充的影响

http://jsfiddle.net/56qwuz6o/3/:

<div style="display:flex">
    <div id="a">a</div>
    <div id="b">b</div>
    <div id="c">c</div>
</div>

div div {
    flex: 1 1 0;
    border:1px solid black;
    box-sizing: border-box;
}

#a {
    padding-right: 50px;
}
Run Code Online (Sandbox Code Playgroud)

当我在flex项目(#a)上设置填充时,其宽度(在border-box某种意义上)会受到影响.如何使其计算的宽度忽略填充?即.我希望我的每个盒子占据文档宽度的33%.

编辑: 感谢您的答案到目前为止.但实际上,我实际上在行中有更多具有固定宽度的盒子:即.在http://jsfiddle.net/56qwuz6o/7/,我想#a,#b并且#c所有人都有相同的宽度.

<div style="display:flex; width: 400px">
    <div id="a">a</div>
    <div id="b">b</div>
    <div id="c">c</div>
    <div id="d">d</div>
</div>

div div {
    flex: 1 1 33%;
    border:1px solid black;
    box-sizing: border-box;
}

#a {
    padding-right: 100px;
}

#d {
    flex-basis: 200px; …
Run Code Online (Sandbox Code Playgroud)

css flexbox

12
推荐指数
3
解决办法
5109
查看次数

CMake在.o和.a文件之间添加了不必要的依赖关系

我有一个由CMake管理的项目,它有多个库,它们之间有链接时间依赖关系,但是每个库都可以相互独立地编译.我如何向CMake表达这一点,以便我可以同时构建所有库?

例如,我尝试了这个CMakeLists.txt:

cmake_minimum_required(VERSION 2.6)
project (test)
add_library(lib1 STATIC lib1.cpp)
add_library(lib2 STATIC lib2.cpp)
add_library(lib3 STATIC lib3.cpp)
add_executable(main main.cpp)
target_link_libraries(lib2 lib1)
target_link_libraries(lib3 lib2)
target_link_libraries(main lib3)
Run Code Online (Sandbox Code Playgroud)

每个文件只定义一个不同的空函数,如:

void f1() {}
Run Code Online (Sandbox Code Playgroud)

当我打字时cmake . && make -j4,我看到了这个:

[ 25%] Building CXX object CMakeFiles/lib1.dir/lib1.cpp.o
Linking CXX static library liblib1.a
[ 25%] Built target lib1
[ 50%] Building CXX object CMakeFiles/lib2.dir/lib2.cpp.o
Linking CXX static library liblib2.a
[ 50%] Built target lib2
[ 75%] Building CXX object CMakeFiles/lib3.dir/lib3.cpp.o
Linking CXX static library liblib3.a
[ 75%] Built …
Run Code Online (Sandbox Code Playgroud)

cmake

6
推荐指数
1
解决办法
1076
查看次数

React Context 和 JS 单例的区别

React Context是一种使对象在我的 React 树的所有组件中可用的方法,而无需通过中间组件的 props 将对象线程化。 ES6 模块还提供了一种创建单例全局对象的简单方法

上下文有点麻烦,因为我必须为我想放入“全局范围”的每个新事物向渲染树添加一个元素。那么在单例全局对象上使用 Context 有什么好处呢?

reactjs

6
推荐指数
1
解决办法
1281
查看次数

const-correctness的定义是什么?

我认为"const-correctness"的概念定义得很明确,但当我与其他人谈论它时,似乎我们对它的含义有不同的看法.有人说它是关于在尽可能多的地方有"const"注释的程序.其他人将程序定义为const-correct,当且仅当使用const注释时没有违反constness(即,它是编译器为您检查的属性).

所以我想知道,这些函数中哪些是正确的:

struct Person {
    string getName1() const { return _name; }
    string getName2() { return _name; }
    string getName3() const { _name = "John"; return _name; }
    string getName4() { _name = "John"; return _name; }

    string _name;
};
Run Code Online (Sandbox Code Playgroud)

我在互联网上搜索了定义,但实际上找不到明确的答案,我也怀疑可能存在一个发生过中的柑橘生成案例.那么任何人都可以为定义提供任何可靠的引用吗?

c++ const

5
推荐指数
1
解决办法
706
查看次数

使用 CMake 进行 Boost Test - undefined main

我在构建一个小程序时遇到问题,该程序在我的 Mac 上使用 Boost.Test 并通过 MacPorts 安装了 Boost /opt/local/lib/

这是我的最小源文件,test.cpp

#define BOOST_TEST_MODULE MyTest
#include <boost/test/unit_test.hpp>

BOOST_AUTO_TEST_CASE(test1) {
}
Run Code Online (Sandbox Code Playgroud)

和我的CMakeLists.txt

cmake_minimum_required(VERSION 2.6)
project (test)
find_package(Boost COMPONENTS unit_test_framework REQUIRED)
add_executable(test test.cpp)
Run Code Online (Sandbox Code Playgroud)

和摘录自make VERBOSE=1

[100%] Building CXX object CMakeFiles/test.dir/test.cpp.o
g++ -o CMakeFiles/test.dir/test.cpp.o -c /Users/exclipy/Code/cpp/inline_variant/question/test.cpp
Linking CXX executable test
"/Applications/CMake 2.8-5.app/Contents/bin/cmake" -E cmake_link_script CMakeFiles/test.dir/link.txt --verbose=1
g++ -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/test.dir/test.cpp.o-o test
Undefined symbols for architecture x86_64:
  "_main", referenced from:
      start in crt1.10.6.o
  "vtable for boost::unit_test::unit_test_log_t", referenced from:
      boost::unit_test::unit_test_log_t::unit_test_log_t() in …
Run Code Online (Sandbox Code Playgroud)

boost cmake boost-test

3
推荐指数
1
解决办法
3354
查看次数

标签 统计

cmake ×2

boost ×1

boost-test ×1

c++ ×1

const ×1

css ×1

flexbox ×1

latex ×1

reactjs ×1