【LaTeX】表の罫線の太さが均一にならない状況への対処

Beamerでのスライド作成時、表の罫線の太さが均一にならない状況が発生しました。出力は以下の画像の通りで、線の太さが不均一です。
f:id:wrongwrongwrongwrong163377:20180518154123p:plain
以下の画像は同一ページのexampleblock内に表を出力した際の結果です。場所によっても線の太さが変化しています。
f:id:wrongwrongwrongwrong163377:20180518154049p:plain

対策

以下のように\setlength{\arrayrulewidth}に0.3pt以下を指定(それ以上では不均質になる)することで解決できました。

\setlength{\arrayrulewidth}{0.3pt}
\begin{table}[H]
  \centering
  \begin{tabular}{|c||c|c|c|} \hline
    aaa & ccc & eee & ggg \\ \hline
    bbb & ddd & fff & hhh \\ \hline
  \end{tabular}
\end{table}

以下が出力結果です。
f:id:wrongwrongwrongwrong163377:20180518154734p:plain

参考ページ

以下の記事を参考にしました。
Tex tips

【OpenCV】JetBrains RiderでNuGetを使いOpenCVの.Netラッパーを導入する【.Net】

OpenCVでちょっとしたプログラムを作りたいけれど、WindowsUbuntuが混ざった別々の4つ位の環境で動かしたい状況で、全部に一々環境構築するのが面倒くさい感じになりました。
クロスプラットフォームで動く.Net/JetBrains Riderを使い、NuGetでOpenCVの.Netラッパーを導入してやれば楽だろうと思い、まずは導入までやってみました。
Ubuntuでの動作はまだ確認していません。

NuGetでOpenCVの.Netラッパーを導入

左下の方にあるNuGetを押します。
f:id:wrongwrongwrongwrong163377:20180511152829p:plain

OpenCVで検索し、テキトーに選んでから右端の緑色の+マークを押します。今回はOpenCvSharp3-AnyCPUを選択していますが、バージョンが高そうだから選んだというだけで各パッケージの内どれが良いかなどは検討していません。
f:id:wrongwrongwrongwrong163377:20180511153213p:plain

本当に導入していいかを聞いてくるので、Yesを押してしばらく待てば完了です。
f:id:wrongwrongwrongwrong163377:20180511153355p:plain

サンプルコード

とりあえずVBでバージョン確認をしているだけです。

Imports OpenCvSharp

Module Module1
    Sub Main()
        
        Console.WriteLine(Cv2.GetBuildInformation())
        
    End Sub
End Module
出力

一応3.4.1が入っているようですね。Cudaなどを考えるとNuGetでは不都合が有るなどの情報も見かけましたが、今の所困っていないので考えないこととします。

C:/Users/wrongwrong/RiderProjects/OpenCV_Test/OpenCV_Test/bin/Debug/OpenCV_Test.exe

General configuration for OpenCV 3.4.1 =====================================
  Version control:               unknown

  Extra modules:
    Location (extra):            C:/libs/opencv/opencv_contrib_3.4.1/modules
    Version control (extra):     3.4.1

  Platform:
    Timestamp:                   2018-03-07T05:49:06Z
    Host:                        Windows 10.0.16299 AMD64
    CMake:                       3.10.0-rc4
    CMake generator:             Visual Studio 15 2017
    CMake build tool:            C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/MSBuild/15.0/Bin/MSBuild.exe
    MSVC:                        1913

  CPU/HW features:
    Baseline:                    SSE SSE2
      requested:                 SSE2

  C/C++:
    Built as dynamic libs?:      NO
    C++11:                       YES
    C++ Compiler:                C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe  (ver 19.13.26128.0)
    C++ flags (Release):         /DWIN32 /D_WINDOWS /W4 /GR  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:fast   /arch:SSE /arch:SSE2 /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /MP8   /MT /O2
/Ob2 /DNDEBUG
    C++ flags (Debug):           /DWIN32 /D_WINDOWS /W4 /GR  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:fast   /arch:SSE /arch:SSE2 /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /MP8   /MTd /Zi
 /Ob0 /Od /RTC1
    C Compiler:                  C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe
    C flags (Release):           /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:fast   /arch:SSE /arch:SSE2   /MP8    /MT /O2 /Ob2 /DNDEBUG
    C flags (Debug):             /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:fast   /arch:SSE /arch:SSE2   /MP8  /MTd /Zi /Ob0 /Od /RTC1
    Linker flags (Release):      /machine:X86  /NODEFAULTLIB:atlthunk.lib /INCREMENTAL:NO  /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:libcpmtd.lib /NODEFAULTLIB:msvcrtd.lib
    Linker flags (Debug):        /machine:X86  /NODEFAULTLIB:atlthunk.lib /debug /INCREMENTAL  /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libcpmt.lib /NODEFAULTLIB:msvcrt.lib
    ccache:                      NO
    Precompiled headers:         YES
    Extra dependencies:          comctl32 gdi32 ole32 setupapi ws2_32 vfw32 C:/Projects/VS2015_Tesseract/Release/libtesseract.lib C:/Projects/VS2015_Tesseract/Release/liblept.lib
    3rdparty dependencies:       ittnotify libprotobuf zlib libjpeg libwebp libpng libtiff libjasper IlmImf ippiw ippicv

  OpenCV modules:
    To be built:                 aruco bgsegm bioinspired calib3d ccalib core datasets dnn dnn_objdetect dpm face features2d flann fuzzy hfs highgui img_hash imgcodecs imgproc java_bindings_generator line_descriptor ml objdetect optflow phase_unwrapping photo p
lot reg rgbd saliency shape stereo stitching structured_light superres surface_matching text tracking ts video videoio videostab xfeatures2d ximgproc xobjdetect xphoto
    Disabled:                    js python2 python_bindings_generator world
    Disabled by dependency:      -
    Unavailable:                 cnn_3dobj cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev cvv dnn_modern freetype hdf java matlab ovis python3 sfm viz
    Applications:                -
    Documentation:               NO
    Non-free algorithms:         YES

  Windows RT support:            NO

  GUI:
    Win32 UI:                    YES
    VTK support:                 NO

  Media I/O:
    ZLib:                        build (ver 1.2.11)
    JPEG:                        build (ver 90)
    WEBP:                        build (ver encoder: 0x020e)
    PNG:                         build (ver 1.6.34)
    TIFF:                        build (ver 42 - 4.0.9)
    JPEG 2000:                   build (ver 1.900.1)
    OpenEXR:                     build (ver 1.7.1)

  Video I/O:
    Video for Windows:           YES
    DC1394:                      NO
    FFMPEG:                      YES (prebuilt binaries)
      avcodec:                   YES (ver 57.107.100)
      avformat:                  YES (ver 57.83.100)
      avutil:                    YES (ver 55.78.100)
      swscale:                   YES (ver 4.8.100)
      avresample:                YES (ver 3.7.0)
    GStreamer:                   NO
    DirectShow:                  YES

  Parallel framework:            Concurrency

  Trace:                         YES (with Intel ITT)

  Other third-party libraries:
    Intel IPP:                   2017.0.3 [2017.0.3]
           at:                   C:/libs/opencv/3.4.1/mybuild/x86_vc15_contrib/3rdparty/ippicv/ippicv_win
    Intel IPP IW:                sources (2017.0.3)
              at:                C:/libs/opencv/3.4.1/mybuild/x86_vc15_contrib/3rdparty/ippicv/ippiw_win
    Lapack:                      NO
    Eigen:                       NO
    Custom HAL:                  NO
    Protobuf:                    build (3.5.1)

  OpenCL:                        YES (no extra features)
    Include path:                C:/libs/opencv/3.4.1/sources/3rdparty/include/opencl/1.2
    Link libraries:              Dynamic load

  Python (for build):            C:/libs/Python27/python.exe

  Matlab:                        NO

  Install to:                    C:/libs/opencv/3.4.1/mybuild/x86_vc15_contrib/install
-----------------------------------------------------------------

【DxLib】DxLib由来のウィンドウを表示しない【.Net】

DxLibはWIndowsフォームアプリと組み合わせ、フォームやピクチャボックスに対して描画することが可能です。
一方、何もしなければDxLib由来の描画領域ができてしまい邪魔になるので、それを生成しないようにします。
この記事の内容は以下の質問掲示板においてgdrop様にご教示頂いた内容をまとめたものです。
描画スクリーン無しでの起動

プログラム

DX.DxLib_Init()を呼ぶ前にDX.SetUserWindowにハンドルを設定することで、DxLib由来の描画領域の生成が起こらないようになります。
下記のサンプルはフォームロード時に、フォームに対してimage.pngを描画しています。

Imports DxLibDLL

Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        DX.SetMovieColorA8R8G8B8Flag(DX.TRUE)
        DX.SetUserWindow(Me.Handle)
        DX.DxLib_Init()

        DX.LoadGraphScreen(0, 0, "image.png", DX.TRUE)
    End Sub
End Class

感想

アプリケーションによってはフォームに描画領域を設定したほうがウィンドウの位置やサイズの変更について自由になるので良いかもしれません。
また通常のフォームと同様ボタンなどが配置可能であるため、UIを一々作る手間は省けるかもしれませんね。……と思ったけれど、ボタンが背景を透過する設定が分からないな。。。
一応以下のように*1ボタンのハンドルを指定することで当たり判定を維持しながら画像を表示することができるようなので、もう少し時間が取れそうなら色々試してみたいと思います。

DX.DrawGraph(0, 0, ghandle, DX.TRUE)
DX.SetScreenFlipTargetWindow(Button1.Handle)
DX.ScreenFlip()

*1:このコードは上記サンプルとは違い、ダブルバッファリングが有効になっています

【VB】タスクバーに進捗率を表示する【.Net】

Windows Vista以降ではタスクバーに以下の画像のような進捗を表示することができます。
f:id:wrongwrongwrongwrong163377:20180429165355p:plain
ということでシンプルなサンプルを作成しました。
GitHubにプロジェクト全体を上げてあります。
github.com

準備

プロジェクト

まずWindowsフォームアプリのプロジェクトを新規作成し、ボタンを1つ配置します。

Windows API Code Pack

今回はこの表示をWindows API Code Packを利用して行いました。これを使うためにはNuGetを用いてインストールを行う必要があります。今回は以下の記事の通りインストールを行いました。
Windows API Code Pack 1.1 をインストールする (C#プログラミング)
インストールが完了し、参照内にMicrosoft.WindowsAPICodePackとMicrosoft.WindowsAPICodePack.Shellが入っていれば準備完了です。
f:id:wrongwrongwrongwrong163377:20180429170537p:plain

コード

コードは以下の通りです。

Imports Microsoft.WindowsAPICodePack.Taskbar

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Button1.Enabled = False

        'タスクバーの色を緑(通常)に
        TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Normal)

        For i As Integer = 1 To 100
            TaskbarManager.Instance.SetProgressValue(i, 100)
            Threading.Thread.Sleep(100)
        Next

        TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.NoProgress)
        Button1.Enabled = True
    End Sub
End Class
解説

ボタンを押すとTaskBarの進捗が伸びていき、終わったらリセットされます。
別スレッドからやろうとかなんとか考えるとInvokeやらが必要になるそうですがとりあえずここまで。

更に詳しい記事

以下の記事ではより詳細な内容が解説されています。
www.atmarkit.co.jp

【VB】Progress<T>を使ってみた【.Net】

outside6.wp.xdomain.jp
上記記事をVB向けに写経したのでまとめます。

リポジトリ

GitHubにプロジェクト全体を上げています。
github.com

準備

Windowsフォームアプリでプロジェクトを開始し、Form1へ以下のようにスタートボタン(Button1)とプログレスバー(ProgressBar1)を配置します。
f:id:wrongwrongwrongwrong163377:20180429141759p:plain

スタートボタンを押すと以下のように進捗が出ます。
f:id:wrongwrongwrongwrong163377:20180429141937p:plain

ソースコード

ほぼ完全にVB向けで書き直しただけです。

Public Class Form1
    Async Sub progTest()
        Dim prog = New Progress(Of Integer)(AddressOf onProgressChanged)

        Dim task As Task = Task.Run(
            Sub()
                doSomething(prog)
            End Sub)

        Await task
    End Sub

    Sub doSomething(ByVal iProg As IProgress(Of Integer))
        For ProgressCount As Integer = 1 To 100
            Threading.Thread.Sleep(100)
            iProg.Report(ProgressCount)
        Next
    End Sub

    Sub onProgressChanged(ByVal ProgressCount As Integer)
        ProgressBar1.Value = ProgressCount
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        progTest()
    End Sub
End Class

【自作PC】RGB LED付きDDR4メモリーまとめ

wrongwrong163377.hatenablog.com 上記ページから制御可能なRGB LEDを搭載した製品のみを抜き出してまとめた記事です。

wrongwrong163377.hatenablog.com 上記記事の更新停止に伴い、以降の更新はこちらで行います。

メモリの発光制御について

RGB LED搭載メモリーは、製品によって制御可能なソフトが異なります。 発光制御手法としては以下の2つが有ります。

特にマザーボードやCORSAIR Commander PROのような個別の機器と合わせた発光の同期制御については、製品の組み合わせによって出来ない場合もあるので確認が必要です。

製品一覧表

[ ]で括られた情報は、未確定情報や、メーカー、ショップ等を情報源としない情報です。

ADATA
製品, シリーズ名 全高 情報ソース 備考
SPECTRIX D40 47.37mm http://www.adata.com/upload/downloadfile/Datasheet-XPG%20SPECTRIX%20D40%20DDR4%20Memory%20Module_20180316.pdf
SPECTRIX D41 45.8mm http://www.adata.com/upload/downloadfile/Datasheet_XPG_SPECTRIX_D41_DDR4_Memory_3.pdf
SPECTRIX D60G 45.93mm https://www.adata.com/upload/downloadfile/Datasheet-XPG%20SPECTRIX%20D60G%20DDR4%20Memory_20190418.pdf
SPECTRIX D80 46.65mm http://www.adata.com/upload/downloadfile/Datasheet-XPG%20SPECTRIX%20D80%20DDR4%20Memory%20Module_20180605.pdf 液体ヒートシンク搭載
ANACOMDA
製品, シリーズ名 全高 情報ソース 備考
ET RGB 41mm RGB-DDR4 Memory Module/For PCs RGB LED付き
ANTEC MEMORY
製品, シリーズ名 全高 情報ソース 備考
5 Series 39mm ANTEC MEMORY 5 Series | 株式会社リンクスインターナショナル
Apacer
製品, シリーズ名 全高 情報ソース 備考
PANTHER RAGE RGB [不明]
Asgard
製品, シリーズ名 全高 情報ソース 備考
Azazel [不明]
LEORICE X3 [不明]
LOKI [不明]
Colorful
製品, シリーズ名 全高 情報ソース 備考
iGame [不明]
Corsair
製品, シリーズ名 全高 情報ソース 備考
Dominator Platinum RGB [55mm] https://wrongwrong163377.hatenablog.com/entry/2017/08/18/190438 RGB LED付き
Dominator Platinumと同寸法?
Vengeance RGB 49mm https://wrongwrong163377.hatenablog.com/entry/2017/08/18/190438
Vengeance RGB PRO [不明]
Crucial
製品, シリーズ名 全高 情報ソース 備考
Ballistix Tactical Tracer [37mm] Crucial Ballistix Tactical 3000MHz DDR4 16GB Kit Review | RelaxedTech
GALAX
製品, シリーズ名 全高 情報ソース 備考
GAMER II PULUS SYNC 50mm [http://www.szgalaxy.com/ZH_GB/Product5/ProductDetail?proID=381:title] RGB LED付き
GAMER III Aurora Vision RGB 61mm GALAX GAMER III DDR4-2400 16GB RGB - RAM RGB LED付き
GeIL
製品, シリーズ名 全高 情報ソース 備考
EVO X [60mm] http://www.ocdrift.com/review-geil-evo-x-ddr4-3200mhz-cl16-2x8gb-memory-kit/2/ 外部端子による制御
EVO X AMD Edition 同上 同上、AMD向け
Super Luce RGB [不明]
Super Luce RGB AMD Editio 同上 AMD向け
Gigabyte
製品, シリーズ名 全高 情報ソース 備考
AORUS RGB Memory 39mm AORUS RGB Memory 16GB (2x8GB) 3200MHz (With Demo Kit)(Limited Edition) | AORUS ダミーモジュール付き
Gloway
製品, シリーズ名 全高 情報ソース 備考
TYPEβ [不明]
G.Skill
製品, シリーズ名 全高 情報ソース 備考
Trident Z RGB 44mm https://gskill.com/en/product/f4-3866c18d-32gtzr
Trident Z RGB for AMD 同上 AMD向け
Trident Z Royal 同上 同上 RGB LED付き
jonsbo
製品, シリーズ名 全高 情報ソース 備考
NC-2 Color 43mm jonsbo乔思伯 ヒートシンクのみの製品
KINGMAX
製品, シリーズ名 全高 情報ソース 備考
Zeus Dragon RGB [不明] RGB LED付き
Kingston
製品, シリーズ名 全高 情報ソース 備考
HyperX Predator RGB 42.2mm https://www.kingston.com/dataSheets/HX429C15PB3A_8.pdf
KLEVV
製品, シリーズ名 全高 情報ソース 備考
CRAS II RGB 51mm KLEVV
CRAS X RGB 51mm KLEVV RGB LED付き
Patriot
製品, シリーズ名 全高 情報ソース 備考
Viper RGB 45.5 https://docs.wixstatic.com/ugd/20c502_807d6d06a0a14efab4ade2344a7a6d7c.pdf
Silicon Power
製品, シリーズ名 全高 情報ソース 備考
XPOWER Turbine RGB 40.7mm https://www.silicon-power.com/web/product-XPOWER_Turbine_RGB_DDR4_Gaming_Memory_ModuleHeatsink RGB LED付き
Tigo
製品, シリーズ名 全高 情報ソース 備考
X3 RGB 45.5mm Kimtigo
X6 Rainbow 54mm Kimtigo 制御の可否が不明
X6 RGB 54mm Kimtigo 制御の可否が不明
Team
製品, シリーズ名 全高 情報ソース 備考
Delta RGB 49mm DELTA RGB DDR4オーバークロック DRAMモジュール│TEAMGROUP
Night Hawk RGB [53mm] Team T-Force Night Hawk DDR4-3000 16GB Memory Kit Review
XCALIBUR RGB 51.7mm XCALIBUR RGB DDR4 オーバークロック DRAMモジュール│TEAMGROUP
V-Color
製品, シリーズ名 全高 情報ソース 備考
Skywalker PRISM RGB [不明]
Zadak511
製品, シリーズ名 全高 情報ソース 備考
MOAB RGB AURA VERSION 48mm ZADAK Computex 2019
SHIELD RGB 60mm ZADAK Computex 2019
SHIELD RGB DC 72mm SHIELD DC RGB DDR4 32GB 3600MHZ SINGLE STICK | ZADAK RGB LED付き
1モジュール32GB

【GitHub】ブラウザ上でリポジトリ作成時、言語に合わせ入力済みの.gitignoreを追加しておく【Git】

wrongwrong163377.hatenablog.com
の続き的なやつです。

やり方

赤で囲った部分をポチると
f:id:wrongwrongwrongwrong163377:20180429135805p:plain
メニューが出てくるので、それを選んでからCreate repositoryします。
f:id:wrongwrongwrongwrong163377:20180429135916p:plain